AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Asterisk и Dlink DVG-6008s исходящие вызовы

Asterisk IP PBX 1 сообщений 08.11.2010 17:41 - 08.11.2010 17:41
#1 08.11.2010 17:41

Asterisk и Dlink DVG-6008s исходящие вызовы


Здравствуйте, коллеги!

Прошу вас помочь с проблемой при исходящем вызове с Asterisk через Dlink DVG-6008s в город - исходящий вызов с телефона проходит нормально, соединение устанавливается, звонок поступает на телефон аб. Б далее тишина. После 13 секунд автоматически происходит отбой со стороны Dlink

Логи Dlink



Логи Asterisk

Code:

-- Executing [90079217410726@from-internal] Macro("SIP/1010-0000005e", "user-callerid|SKIPTTL|") in new stack
-- Executing [s@macro-user-callerid] Set("SIP/1010-0000005e", "AMPUSER=1010") in new stack
-- Executing [s@macro-user-callerid] GotoIf("SIP/1010-0000005e", "0?report") in new stack
-- Executing [s@macro-user-callerid] ExecIf("SIP/1010-0000005e", "1|Set|REALCALLERIDNUM=1010") in new stack
-- Executing [s@macro-user-callerid] Set("SIP/1010-0000005e", "AMPUSER=1010") in new stack
-- Executing [s@macro-user-callerid] Set("SIP/1010-0000005e", "AMPUSERCIDNAME=Mikhail") in new stack
-- Executing [s@macro-user-callerid] GotoIf("SIP/1010-0000005e", "0?report") in new stack
-- Executing [s@macro-user-callerid] Set("SIP/1010-0000005e", "AMPUSERCID=1010") in new stack
-- Executing [s@macro-user-callerid] Set("SIP/1010-0000005e", "CALLERID(all)="Mikhail" ") in new stack
-- Executing [s@macro-user-callerid] ExecIf("SIP/1010-0000005e", "0|Set|CHANNEL(language)=") in new stack
-- Executing [s@macro-user-callerid] GotoIf("SIP/1010-0000005e", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid] NoOp("SIP/1010-0000005e", "Using CallerID "Mikhail" ") in new stack
-- Executing [90079217410726@from-internal] Set("SIP/1010-0000005e", "_NODEST=") in new stack
-- Executing [90079217410726@from-internal] Macro("SIP/1010-0000005e", "record-enable|1010|OUT|") in new stack
-- Executing [s@macro-record-enable] GotoIf("SIP/1010-0000005e", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable] AGI("SIP/1010-0000005e", "recordingcheck|20101108-200446|1289232286.117") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20101108-200446|1289232286.117: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable] MacroExit("SIP/1010-0000005e", "") in new stack
-- Executing [90079217410726@from-internal] Macro("SIP/1010-0000005e", "dialout-trunk|10|0079217410726||") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "DIAL_TRUNK=10") in new stack
-- Executing [s@macro-dialout-trunk] GosubIf("SIP/1010-0000005e", "0?sub-pincheck|s|1") in new stack
-- Executing [s@macro-dialout-trunk] GotoIf("SIP/1010-0000005e", "0?disabletrunk|1") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "DIAL_NUMBER=0079217410726") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "OUTBOUND_GROUP=OUT_10") in new stack
-- Executing [s@macro-dialout-trunk] GotoIf("SIP/1010-0000005e", "1?nomax") in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk] GotoIf("SIP/1010-0000005e", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "DIAL_TRUNK_OPTIONS=") in new stack
-- Executing [s@macro-dialout-trunk] Macro("SIP/1010-0000005e", "outbound-callerid|10") in new stack
-- Executing [s@macro-outbound-callerid] ExecIf("SIP/1010-0000005e", "0|SetCallerPres|") in new stack
-- Executing [s@macro-outbound-callerid] ExecIf("SIP/1010-0000005e", "0|Set|REALCALLERIDNUM=1010") in new stack
-- Executing [s@macro-outbound-callerid] GotoIf("SIP/1010-0000005e", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid] Set("SIP/1010-0000005e", "USEROUTCID=") in new stack
-- Executing [s@macro-outbound-callerid] Set("SIP/1010-0000005e", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid] Set("SIP/1010-0000005e", "TRUNKOUTCID=") in new stack
-- Executing [s@macro-outbound-callerid] GotoIf("SIP/1010-0000005e", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid] ExecIf("SIP/1010-0000005e", "0|Set|CALLERID(all)=") in new stack
-- Executing [s@macro-outbound-callerid] ExecIf("SIP/1010-0000005e", "0|Set|CALLERID(all)=") in new stack
-- Executing [s@macro-outbound-callerid] ExecIf("SIP/1010-0000005e", "0|SetCallerPres|prohib_passed_screen") in new stack
-- Executing [s@macro-dialout-trunk] ExecIf("SIP/1010-0000005e", "1|AGI|fixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
> fixlocalprefix: Using pattern 1001+X.
== fixlocalprefix: Dialpattern 1001+X. matched. 0079217410726 -> 10010079217410726
-- AGI Script fixlocalprefix completed, returning 0
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "OUTNUM=10010079217410726") in new stack
-- Executing [s@macro-dialout-trunk] Set("SIP/1010-0000005e", "custom=SIP/1001") in new stack
-- Executing [s@macro-dialout-trunk] ExecIf("SIP/1010-0000005e", "0|Set|DIAL_TRUNK_OPTIONS=M(setmusic^)") in new stack
-- Executing [s@macro-dialout-trunk] Macro("SIP/1010-0000005e", "dialout-trunk-predial-hook|") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook] MacroExit("SIP/1010-0000005e", "") in new stack
-- Executing [s@macro-dialout-trunk] GotoIf("SIP/1010-0000005e", "0?bypass|1") in new stack
-- Executing [s@macro-dialout-trunk] GotoIf("SIP/1010-0000005e", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk] Dial("SIP/1010-0000005e", "SIP/1001/10010079217410726|300|") in new stack
-- Called 1001/10010079217410726
-- SIP/1001-0000005f answered SIP/1010-0000005e
-- Packet2Packet bridging SIP/1010-0000005e and SIP/1001-0000005f
-- Executing [h@macro-dialout-trunk] Macro("SIP/1010-0000005e", "hangupcall|") in new stack
-- Executing [s@macro-hangupcall] GotoIf("SIP/1010-0000005e", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall] GotoIf("SIP/1010-0000005e", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall] GotoIf("SIP/1010-0000005e", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall] Hangup("SIP/1010-0000005e", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/1010-0000005e' in macro 'hangupcall'
== Spawn h extension (macro-dialout-trunk, h, 1) exited non-zero on 'SIP/1010-0000005e'
== Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/1010-0000005e' in macro 'dialout-trunk'
== Spawn extension (from-internal, 90079217410726, 4) exited non-zero on 'SIP/1010-0000005e'



Статью switch'a читал, за что ему большое спасибо, но данную проблему победить не могу

Трейсы Wireshark - ссылка

Added after 8 minutes:

Кажется нашел проблему. DLink не открывает порт 10000 для RTP трафика :

20:37:03.902585 IP 192.168.3.102 > 192.168.3.113: ICMP 192.168.3.102 udp port ndmp unreachable, length 208
20:37:03.921796 IP 192.168.3.113.15014 > 192.168.3.102.ndmp: UDP, length 172
20:37:03.922630 IP 192.168.3.102 > 192.168.3.113: ICMP 192.168.3.102 udp port ndmp unreachable, length 208
20:37:03.941830 IP 192.168.3.113.15014 > 192.168.3.102.ndmp: UDP, length 172
20:37:03.943112 IP 192.168.3.102 > 192.168.3.113: ICMP 192.168.3.102 udp port ndmp unreachable, length 208

Но в настройках DLINK четко указано


Added after 31 seconds:

Очередной баг DLINK'a?
Code: