Страница 1 из 2

Срывается перевод звонков

Добавлено: 22 май 2012, 09:09
P1ngv1n
Ситуация - есть 2 офиса (первый и второй). * стоит в первом за nat'ом. Во втором стоит eltex'овский voip шлюз. Офисы соединены через l2tp (роутеры microtik). Перевод звонков в первом офисе работает (используется attended transfer). А вот перевод звонка из второго офиса в первый нет.
Входящий звонок приходит на *, кидается на номер 120. Там поднимают трубку, ведется разговор. 120ый номер пытается перевести звонок в первый офис на номер 112. Клиент начинает слушать музыку. 112 номер отвечает, 120ая кладет трубку - клиент все еще слушает музыку, 112 трубка слышит тишину. Через 30 секунд по таймауту их все таки соединяет (если конечно человек за 112 номером не положил трубку). Лог из консоли с момента вызова 112
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

-- Called SIP/112
-- Local/112@from-internal-xfer-700c;1 is ringing
-- Connected line update to Local/112@from-internal-xfer-700c;2 prevented.
-- SIP/112-00001961 is ringing
-- Local/112@from-internal-xfer-700c;1 is ringing
-- Connected line update to Local/112@from-internal-xfer-700c;2 prevented.
-- SIP/112-00001961 answered Local/112@from-internal-xfer-700c;2
-- Executing [s@macro-auto-blkvm:1] Set("SIP/112-00001961", "__MACRO_RESULT=") in new stack
-- Executing [s@macro-auto-blkvm:2] Macro("SIP/112-00001961", "blkvm-clr,") in new stack
-- Executing [s@macro-blkvm-clr:1] Set("SIP/112-00001961", "SHARED(BLKVM,SIP/2230194-0000195f)=") in new stack
-- Executing [s@macro-blkvm-clr:2] Set("SIP/112-00001961", "GOSUB_RETVAL=") in new stack
-- Executing [s@macro-blkvm-clr:3] MacroExit("SIP/112-00001961", "") in new stack
-- Executing [s@macro-auto-blkvm:3] ExecIf("SIP/112-00001961", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(num))=112)") in new stack
-- Executing [s@macro-auto-blkvm:4] ExecIf("SIP/112-00001961", "0?Set(MASTER_CHANNEL(CONNECTEDLINE(name))=Vitalia)") in new stack
[2012-05-22 12:31:02] NOTICE[2746]: chan_sip.c:26584 check_rtp_timeout: Disconnecting call 'SIP/120-00001960' for lack of RTP activity in 31 seconds
/* После этого клиента соединяет с номером 112, хотя трубка была положена 30 секунд назад */

Код: Выделить всё

-- Executing [h@macro-dial:1] Macro("SIP/120-00001960", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/120-00001960", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] Hangup("SIP/120-00001960", "") in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'SIP/120-00001960' in macro 'hangupcall'
== Spawn extension (macro-dial, h, 1) exited non-zero on 'SIP/120-00001960'
-- Stopped music on hold on SIP/2230194-0000195f
-- <Local/112@from-internal-xfer-700c;1> Playing 'beep.alaw' (language 'ru')
-- Executing [h@macro-dial:1] Macro("Transfered/SIP/2230194-0000195f<ZOMBIE>", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("Transfered/SIP/2230194-0000195f<ZOMBIE>", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] Hangup("Transfered/SIP/2230194-0000195f<ZOMBIE>", "") in new stack
== Spawn extension (macro-hangupcall, s, 3) exited non-zero on 'Transfered/SIP/2230194-0000195f<ZOMBIE>' in macro 'hangupcall'
== Spawn extension (macro-dial, h, 1) exited non-zero on 'Transfered/SIP/2230194-0000195f<ZOMBIE>'
== Spawn extension (macro-dial, s, 7) exited non-zero on 'Transfered/SIP/2230194-0000195f<ZOMBIE>' in macro 'dial'
== Spawn extension (ext-group, 600, 11) exited non-zero on 'Transfered/SIP/2230194-0000195f<ZOMBIE>'
Собственно вопрос - в чем может быть дело? Прошлые 2 офиса по точно такой же схеме работают без нареканий.

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 10:20
Vlad1983
check_rtp_timeout: Disconnecting call 'SIP/120-00001960' for lack of RTP activity in 31 seconds

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 11:10
ded
А что за странный контекст, где обрабатывается трансфер - from-internal-xfer-700c?
Это что-то нестандартное, должен быть простой from-internal-xfer.
Если руками наваяли from-internal-xfer-700c и никлюднули его не так, или забыли букву Т в строке диал, будет такая ситуация как описано.

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 11:17
Vlad1983
возможно решение здесь
http://forum.asterisk.ru/viewtopic.php? ... =20#p19818

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:27
P1ngv1n
2ded контекст я так понимаю от freepbx, извиняюсь что не уточнил в первом посте.

2Vlad1983, да, так как трубку 112 (в примере) бросали, не слыша абонента, сначала вышел на этот баг (в консоли писалось как раз это). Но на месте воссоздав ситуацию пришел к тому, что бросали ее как раз потому что ничего не слышали :)

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:30
ded
Повторюсь: from-internal-xfer-700c - это нестандартный какой-то контекст freepbx, ибо стандартный контекст freepbx - from-internal-xfer
CLI> dialplan show from-internal-xfer-700c

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:36
P1ngv1n
Такого нет. Как я понимаю он генерируется при каждом переводе О_о
Сейчас вот при переводе на 110
Called SIP/110
-- Local/110@from-internal-xfer-acb8;1 is ringing

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:38
ded
Динамическая феатура?
CLI> features show ??

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:39
Vlad1983
ded, это не контекст, а канал Local/112@from-internal-xfer-700c

Re: Срывается перевод звонков

Добавлено: 22 май 2012, 12:41
P1ngv1n
ded писал(а):Динамическая феатура?
CLI> features show ??
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

*CLI> features show
Builtin Feature           Default Current
---------------           ------- -------
Pickup                    *8      40
Blind Transfer            #       *2
Attended Transfer                 #
One Touch Monitor
Disconnect Call           *       **
Park Call
One Touch MixMonitor

Dynamic Feature           Default Current
---------------           ------- -------
apprecord                 no def  *1