Добрый день.
Делаю звонок, используя AMI команду originate.
Заметил странное поведение. Если номер занят, или отбивает, то звонок приходит повторно моментально. Это не связано с повторным вызовом скрипта.
== Connect attempt from '127.0.0.1' unable to authenticate
== Manager 'reload_dialplan' logged on from 127.0.0.1
-- Executing [79103478334@P8S2-out:1] NoOp("Local/79103478334@P8S2-out-00000011;2", "-->Call from Asterisk to 79103478334<--") in new stack
-- Executing [79103478334@P8S2-out:2] Dial("Local/79103478334@P8S2-out-00000011;2", "SIP/+79103478334@sipnet1") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/+79103478334@sipnet1
-- SIP/sipnet1-00000062 is ringing
-- SIP/sipnet1-00000062 is making progress passing it to Local/79103478334@P8S2-out-00000011;2
-- SIP/sipnet1-00000062 is ringing
-- Got SIP response 486 "Busy Here" back from 212.53.40.40:5060
-- SIP/sipnet1-00000062 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Auto fallthrough, channel 'Local/79103478334@P8S2-out-00000011;2' status is 'BUSY'
== Manager 'reload_dialplan' logged off from 127.0.0.1
По трэйсу видно что приходит звонок
-- SIP/sipnet1-00000062 is ringing
я его отбиваю на мобильном. Проходит 3-5 секунд и звонок приходит снова. В логе это как второй рингинг
-- SIP/sipnet1-00000062 is ringing
Это баг или фича? Кто сталкивался с подобным? Как изменить поведение, чтобы Астериске не перезванивал повторно?
Сделал трэйс звонка.
|Time | 47.4.209.111 |
| | | 212.53.40.40 |
|13,589 | INVITE SDP (g711A g711U telephone-
eventRTPType...1) |SIP From: "Asterisk"
<sip:0034810580@sipnet.ru To:<sip:+79103478334@sipnet.ru
| |(5060) ------------------> (5060) |
|13,642 | 100 Trying| |SIP Status
| |(5060) <------------------ (5060) |
|13,642 | 401 Authentication required |SIP
Status
| |(5060) <------------------ (5060) |
|13,643 | ACK | |SIP Request
| |(5060) ------------------> (5060) |
|13,643 | INVITE SDP (g711A g711U telephone-
eventRTPType...1) |SIP From: "Asterisk"
<sip:0034810580@sipnet.ru To:<sip:+79103478334@sipnet.ru
| |(5060) ------------------> (5060) |
|13,699 | 100 Trying| |SIP Status
| |(5060) <------------------ (5060) |
|18,323 | 180 Ringing SDP (g711A telephone-
eventRTPType-... |SIP Status
| |(5060) <------------------ (5060) |
|27,868 | 180 Ringing |SIP Status
| |(5060) <------------------ (5060) |
|33,322 | 486 Busy Here |SIP Status
| |(5060) <------------------ (5060) |
|33,322 | ACK | |SIP Request
| |(5060) ------------------> (5060) |
Задан: 2013-04-13 12:26:30 +0400
Просмотрен: 710 раз
Обновлен: Apr 13 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
это может быть из-за особенностей диалплана
switch ( 2013-04-13 15:10:51 +0400 )редактироватьну и где у вас на трейсе повторный звонок? второй инвайт сдесь так и должен быть, ибо он включает в себя присланный на 401 nonce( нормальная аутентификация)
соответвенно что что вам звонит после того как астериск положил канал - это проблемы настроки openser на сипнете.
как доказательство сделайте вот такое
астериск звонит. отбиваете. звонит еще раз. ждете 10 секунд и убеждаетесь что астериск канал уже убил
поднимате трубку. наслаждаетесь отбоем со стороны сипнета.
meral ( 2013-04-13 16:25:14 +0400 )редактироватьсогласен. но это трэйс проблемного звонка. может быть что у сипнета включено два маршрута, и если один отбивает, то они кидают через второй? ну как в Астериске когда две команды Dial подряд идут?
brost ( 2013-04-13 16:31:46 +0400 )редактироватьгде у астериска две команды диал? я в упор не вижу. в показанном вами примере ОДИН исходящий звонок и ОДНА dial. а ringing может быть до сотни.
meral ( 2013-04-13 16:33:13 +0400 )редактироватьнет. у меня одна команда Dial. я просто привел пример, что со стороны, это как будто у сипнета стоит same => n,Dial(SIP/prov1/${EXTEN}) same => n,Dial(SIP/prov2/${EXTEN}) могу ошибаться.
brost ( 2013-04-13 16:37:53 +0400 )редактироватьПроверил, как сказал meral. при втором звонке канал не сбрасывается. я слышу приветствие.
<pre><code> -- Called SIP/+79103478334@sipnet1 -- SIP/sipnet1-00000069 is ringing -- SIP/sipnet1-00000069 is making progress passing it to Local/79103478334@P8S2-out-00000018;2 asterisk*CLI> core show channels Channel Location State Application(Data) SIP/sipnet1-00000069 79103478334@sipnet_r Ringing AppDial((Outgoing Line)) Local/79103478334@P8 79103478334@P8S2-out Ring Dial(SIP/+79103478334@sipnet1) Local/79103478334@P8 79103478334@P8S2-out Ringing (None) 3 active channels </pre> 1 active call 86 calls processed -- SIP/sipnet1-00000069 is ringing -- SIP/sipnet1-00000069 answered Local/79103478334@P8S2-out-00000018;2
brost ( 2013-04-13 16:48:40 +0400 )редактироватьвложите отдельно лог до отбоя. сип ДЕБАГ до отбоя. потом после отбоя. у вас ОДИН звонок. что при этом делает сипнет НЕ ВАЖНО. вы вылаживаете ОДИН звонок. судя по терйсу у астериска НЕТ вариантов как отличить что вы сбросили звонок.
meral ( 2013-04-13 16:59:30 +0400 )редактировать