Страница 1 из 2
Не сбрасывается звонок
Добавлено: 19 окт 2017, 09:31
grizzly5482
Здравствуйте, нашел проблему в астериске, помогите пожалуйста решить.
Звоню на сотовый через транк с астериск, всё хорошо звонок проходит, проблема в том что если звонок скидывают на сотовом, астериск не отключается, он продолжает звонить с другого транка. В итоге каждый раз когда сбрасывают трубку, астериск пытается снова позвонить. Как исправить это?
Код: Выделить всё
[general]
bindport=5482
nat=force_rport,comedia
language=ru
localnet=192.168.0.0/255.255.255.0
externip=-
externaddr=-
directmedia=nonat
allowguest=yes
canreinvite=no
allowsubscribe=yes
call-limit=2
limitonpeers=yes
notifyringing=yes
notifyhold=yes
subscribecontext=blf_office
accept_outofcall_message = yes
outofcall_message_context = messages
auth_message_requests = no
textsupport = yes
dtmfmode=rfc2833
disallow=all
allow=alaw
allow=ulaw
allow=g729
allow=gsm
Re: Не сбрасывается звонок
Добавлено: 19 окт 2017, 10:31
ded
Вы же хотите найти и устранить проблему самостоятельно?
Тогда надо
- смотреть логи
- сделать SIP дебаг и исследовать его в Wireshark.
http://asterisk.ru/knowledgebase/debug
Иначе, в том виде как опубликовано - кусок конфига, это прямиком в платный суппорт.
В конфиге не напрягает Вас
localnet=192.168.0.0/255.255.255.0
externip=-
?
Re: Не сбрасывается звонок
Добавлено: 19 окт 2017, 14:48
grizzly5482
Спасибо за наводку, буду ковырять дальше.
externip введен внешний ip. Замазал.
Re: Не сбрасывается звонок
Добавлено: 23 окт 2017, 17:37
grizzly5482
Не могу понять причину того что если на сотовом сбрасывается трубка, то астериск пытается снова позвонить с другого транка. Как можно это отменить?
Код: Выделить всё
Executing [s@macro-recording:1] Set("SIP/102-00000006", "fname=1508769189.15-2017-10-23-17_33-102-89103117096") in new stack
-- Executing [s@macro-recording:2] Set("SIP/102-00000006", "monopt=/bin/nice -n 19 /usr/local/bin/lame -b 32 --silent "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3" && rm -f "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" && chmod o+r "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3"") in new stack
-- Executing [s@macro-recording:3] Set("SIP/102-00000006", "CDR(filename)=1508769189.15-2017-10-23-17_33-102-89103117096.mp3") in new stack
-- Executing [s@macro-recording:4] Set("SIP/102-00000006", "CDR(realdst)=89103117096") in new stack
-- Executing [s@macro-recording:5] MixMonitor("SIP/102-00000006", "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav,b,/bin/nice -n 19 /usr/local/bin/lame -b 32 --silent "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3" && rm -f "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" && chmod o+r "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3"") in new stack
== Begin MixMonitor Recording SIP/102-00000006
-- Executing [s@macro-recording:6] Verbose("SIP/102-00000006", "Exit record") in new stack
Exit record
-- Executing [89103117096@outcoling:2] Dial("SIP/102-00000006", "SIP/ktk2/89103117096,,t,") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/ktk2/89103117096
-- SIP/ktk2-00000007 is ringing
-- Got SIP response 486 "Busy Here" back from 10.0.21.9:3000
-- SIP/ktk2-00000007 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [89103117096@outcoling:3] Dial("SIP/102-00000006", "SIP/ktk1/89103117096,,t,") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/ktk1/89103117096
-- SIP/ktk1-00000008 is ringing
-- Got SIP response 486 "Busy Here" back from 10.0.21.9:3000
-- SIP/ktk1-00000008 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [89103117096@outcoling:4] Dial("SIP/102-00000006", "SIP/ktk3/89103117096,,t,") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/ktk3/89103117096
-- SIP/ktk3-00000009 is ringing
== Extension Changed 102[blf_office] new state Idle for Notify User 107
== Extension Changed 102[blf_office] new state Idle for Notify User 106
== Spawn extension (outcoling, 89103117096, 4) exited non-zero on 'SIP/102-00000006'
== MixMonitor close filestream (mixed)
== Executing [/bin/nice -n 19 /usr/local/bin/lame -b 32 --silent "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3" && rm -f "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.wav" && chmod o+r "/var/www/html/records/1508769189.15-2017-10-23-17_33-102-89103117096.mp3"]
== End MixMonitor Recording SIP/102-00000006
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 09:40
ded
Астериск не различает, что это сброс абонента, а считает, что это занят транк ktk2 и выполняет попытку через следующий транк - ktk1.
Если бы у вас было 2 аналоговые линии в качестве выхода в город, то такое поведение вполне себе оправдано.
Что такое ktk1 и ktk2 на физическом уровне? USB-донглы?
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 09:55
fecyt
Отменить это можно просто, изменив контекст outcoling.
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 09:59
ded
контекст outcoling - что-то самописанное. На каком это языке? Может outcalliing?
Обгрызли и переделали freePBX. Теперь переделывать дальше код?
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 10:34
grizzly5482
ded писал(а):Астериск не различает, что это сброс абонента, а считает, что это занят транк ktk2 и выполняет попытку через следующий транк - ktk1.
Если бы у вас было 2 аналоговые линии в качестве выхода в город, то такое поведение вполне себе оправдано.
Что такое ktk1 и ktk2 на физическом уровне? USB-донглы?
Это учетная запись от телефонной компании которая предоставила нам номера. Всего 5 транков и перебирает он все 5 номеров, если на стороне сбрасывают трубку - не ответив. Как может повлиять смена контекста на решении данной проблемы?
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 18:02
grizzly5482
Код: Выделить всё
[outcalliing]
exten => _XXX,1,Dial(SIP/${EXTEN},,tkK,)
exten => _XXX.,1,Macro(recording,${CALLERID(num)},${EXTEN})
exten => _XXX.,n,Dial(SIP/ktk2/${EXTEN},,t,)
exten => _XXX,n,Hangup()
exten => _XXX.,n,Dial(SIP/ktk1/${EXTEN},,t,)
exten => _XXX,n,Hangup()
exten => _XXX.,n,Dial(SIP/ktk3/${EXTEN},,t,)
exten => _XXX,n,Hangup()
exten => _XXX.,n,Dial(SIP/ktk4/${EXTEN},,t,)
exten => _XXX,n,Hangup()
exten => _XXX.,n,Dial(SIP/ktk5/${EXTEN},,t,)
exten => _XXX,n,Hangup()
exten => 777,1,Goto(menu,s,1)
exten => _810X.,2,Hangup()
exten => _810X.,1,playback(zapresheno)
exten => _**,1,Pickup(${EXTEN})
exten => 700,1,Park()
exten => _7XX,1,ParkedCall(${EXTEN})
Так проверил, сейчас сбрасывает правильно, только интересно, если все линии на транке заняты, будет ли он переключаться на другой транк?
наврятли, как по уму сделать?
Re: Не сбрасывается звонок
Добавлено: 24 окт 2017, 18:24
ded
grizzly5482 писал(а): интересно, если все линии на транке заняты, будет ли он переключаться на другой транк?
А проверить?