Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2011-11-24 14:31:51 +0400

ramzed Gravatar ramzed

Asterisk Datacard SIP

Fedora14 x8664 ядро сам не компилировал. Самостоятельно скомпилирован asterisk и модуль chandatacard. При звонках с SIP на SIP все отлично, качество идеальное.

Проблема #1: Когда поступает звонок на модем он поступает в очередь и перенаправляется SIP агентам. Не играет музыка дозванивающемуся (при звонках с SIP на SIP внутри сервера все работает) и в консоли астериска пишет:

-- Started music on hold, class 'default', on Datacard/datacard0-d06a
  == Begin MixMonitor Recording Datacard/datacard0-d06a
[Nov 24 12:58:10] WARNING[6588]: translate.c:93 powerof: No bits set? 0
[Nov 24 12:58:10] WARNING[6588]: translate.c:246 ast_translator_build_path: No translator path: (starting codec is not valid)
[Nov 24 12:58:10] WARNING[6588]: slinfactory.c:96 ast_slinfactory_feed: Cannot build a path from unknown to slin
  == Using SIP RTP CoS mark 5
  == Using SIP RTP CoS mark 5
    -- SIP/300-00000001 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/200-00000000 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/200-00000000 is ringing
    -- SIP/300-00000001 is ringing
    -- SIP/300-00000001 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/300-00000001 answered Datacard/datacard0-d06a
[Nov 24 12:58:16] WARNING[6588]: __channel.c:887 channel_indicate: [datacard0] Don't know how to indicate condition 22
    -- Stopped music on hold on Datacard/datacard0-d06a

Подозреваю что дело в кодеках...

Проблема #2: SIP клиент поднимает трубку, друг друга слышно, но качество просто ужасное. Шум и хрипение и у одного и у другого. В это время идет запись разговора. На записи качество отличное, но голос звонящего через datacard слышно очень тихо.

Может кто сталкивался с данными проблемами... Больше на самом деле волнует вторая проблема. Без музыки прожить можно, а говорить с такими помехами просто невозможно...

Вот собственно говоря конфиги:

[root@linuxgear ~]# uname -a
Linux linuxgear 2.6.35.14-103.fc14.x86_64 #1 SMP Thu Oct 27 15:41:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

sip.conf:

[general]
bindaddr=0.0.0.0
bindport=5060
limitonpeers = yes
mohinterpret=default

queues.conf:

[support]
music=default
strategy = ringall
member => SIP/200
member => SIP/300
mohsuggest=default

[300]
type=friend
secret=1234
nat=yes
host=dynamic
username=300
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=mobile
callerid=300
call-limit=1

[200]
type=friend
secret=1234
nat=yes
host=dynamic
username=200
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=mobile
callerid=200
call-limit=1

datacard.conf:

[datacard0]
audio=/dev/ttyUSB1   ; tty for audio connection
data=/dev/ttyUSB2   ; tty for AT commands

context=datacard-incoming       ; context for incoming calls
group=1                         ; calling group

rxgain=3                        ; increase the incoming volume
txgain=3                        ; increase the outgoint volume

extensions.conf:

[datacard-incoming]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

;exten => s,1,Dial(SIP/300,10)
;exten => s,n,Dial(SIP/200,10)
;exten => s,1,Playback()
;exten => s,1,Answer()
exten => s,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => s,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => s,n,Queue(support,t,,)
exten => s,n,Playback(vm-nobodyavail)
exten => s,n,Hangup()

[mobile]
exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})

exten => 300,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 300,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 300,n,Dial(SIP/300,,m)

exten => 200,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 200,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 200,n,Dial(SIP/200,,m)

exten => 400,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 400,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 400,n,Dial(SIP/400,,m)

Если что-то требуется добавить из конфигов, или дополнить - напишу.

Asterisk Datacard SIP

Fedora14 x8664 ядро сам не компилировал. Самостоятельно скомпилирован asterisk и модуль chandatacard. При звонках с SIP на SIP все отлично, качество идеальное.

Проблема #1: Когда поступает звонок на модем он поступает в очередь и перенаправляется SIP агентам. Не играет музыка дозванивающемуся (при звонках с SIP на SIP внутри сервера все работает) и в консоли астериска пишет:

-- Started music on hold, class 'default', on Datacard/datacard0-d06a
  == Begin MixMonitor Recording Datacard/datacard0-d06a
[Nov 24 12:58:10] WARNING[6588]: translate.c:93 powerof: No bits set? 0
[Nov 24 12:58:10] WARNING[6588]: translate.c:246 ast_translator_build_path: No translator path: (starting codec is not valid)
[Nov 24 12:58:10] WARNING[6588]: slinfactory.c:96 ast_slinfactory_feed: Cannot build a path from unknown to slin
  == Using SIP RTP CoS mark 5
  == Using SIP RTP CoS mark 5
    -- SIP/300-00000001 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/200-00000000 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/200-00000000 is ringing
    -- SIP/300-00000001 is ringing
    -- SIP/300-00000001 connected line has changed. Saving it until answer for Datacard/datacard0-d06a
    -- SIP/300-00000001 answered Datacard/datacard0-d06a
[Nov 24 12:58:16] WARNING[6588]: __channel.c:887 channel_indicate: [datacard0] Don't know how to indicate condition 22
    -- Stopped music on hold on Datacard/datacard0-d06a

Подозреваю что дело в кодеках...

Проблема #2: SIP клиент поднимает трубку, друг друга слышно, но качество просто ужасное. Шум и хрипение и у одного и у другого. В это время идет запись разговора. На записи качество отличное, но голос звонящего через datacard слышно очень тихо.

Может кто сталкивался с данными проблемами... Больше на самом деле волнует вторая проблема. Без музыки прожить можно, а говорить с такими помехами просто невозможно...

Вот собственно говоря конфиги:

[root@linuxgear ~]# uname -a
Linux linuxgear 2.6.35.14-103.fc14.x86_64 #1 SMP Thu Oct 27 15:41:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

sip.conf:

[general]
bindaddr=0.0.0.0
bindport=5060
limitonpeers = yes
mohinterpret=default

queues.conf:

[support]
music=default
strategy = ringall
member => SIP/200
member => SIP/300
mohsuggest=default

[300]
type=friend
secret=1234
nat=yes
host=dynamic
username=300
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=mobile
callerid=300
call-limit=1

[200]
type=friend
secret=1234
nat=yes
host=dynamic
username=200
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
allow=alaw
context=mobile
callerid=200
call-limit=1

datacard.conf:

[datacard0]
audio=/dev/ttyUSB1   ; tty for audio connection
data=/dev/ttyUSB2   ; tty for AT commands

context=datacard-incoming       ; context for incoming calls
group=1                         ; calling group

rxgain=3                        ; increase the incoming volume
txgain=3                        ; increase the outgoint volume

extensions.conf:

[datacard-incoming]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${SMS})
exten => sms,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD} - ${CALLERID(num)}: ${SMS}' >> /var/log/asterisk/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${USSD})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DATACARD}: ${USSD}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

;exten => s,1,Dial(SIP/300,10)
;exten => s,n,Dial(SIP/200,10)
;exten => s,1,Playback()
;exten => s,1,Answer()
exten => s,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => s,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => s,n,Queue(support,t,,)
exten => s,n,Playback(vm-nobodyavail)
exten => s,n,Hangup()

[mobile]
exten => _X.,1,Dial(Datacard/datacard0/${EXTEN})

exten => 300,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 300,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 300,n,Dial(SIP/300,,m)

exten => 200,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 200,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 200,n,Dial(SIP/200,,m)

exten => 400,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 400,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 400,n,Dial(SIP/400,,m)

Если что-то требуется добавить из конфигов, или дополнить - напишу.


Музыку пытаюсь проигрывать так:

musiconhold.conf:

[general]

[default]
mode=files
directory=moh

queues.conf:

[support]
music=default
strategy = ringall
member => SIP/200
member => SIP/300

[root@linuxgear asterisk]# ls /var/lib/asterisk/moh/
CHANGES-asterisk-moh-opsound-wav  LICENSE-asterisk-moh-opsound-wav  manolo_camp-morning_coffee.wav  reno_project-system.wav
CREDITS-asterisk-moh-opsound-wav  macroform-cold_day.wav            music

При звонках с SIP на SIP пишу прям в extensions.conf:

exten => 300,1,Set(fname=${STRFTIME(${EPOCH},,%Y-%m-%d.%H-%M)}-${CALLERID(number)}-${EXTEN}
exten => 300,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => 300,n,Dial(SIP/300,,m)

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.