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

Trixbox H323 <-> GW Cisco нет звука

0

Подключаюсь к Энфорте по h323 (чтоб они вечно были здоровы...) Соединение устанавливается, а голос не идет в обе стороны. как показывает tcpdump, rtp-пакеты к Астериску приходят, а от Астериска ни чего не уходит. Вот конфиг ooh323.conf

[general]
port = 1720
bindaddr = aa.aa.aa.aa  ; это IP моего Астериска
disallow=all
allow=g729:60
allow=alaw:30
allow=ulaw
;dtmfmode=rfc2833
dtmfmode=h245alphanumeric
gatekeeper = DISABLE
context=from-pstn-custom
tunneling=cisco
tos_audio=ef
cos_audio=5
progress_setup = 8
progress_alert = 8
progress_audio = yes 
fastStart=yes
mediawaitforconnect=no
h245tunneling=yes
;h323id=ObjSysAsterisk 
e164=100
nat=yes
srvlookup=no
AllowGKRouted = yes 
amaflags = default

[suo1]
ip=bb.bb.bb.bb ; это ip их гейткипера
port = 1720
type=friend
incominglimit=64 
fastStart=yes
h245Tunneling=yes
disallow=all
allow=g729:60
allow=alaw:30
allow=ulaw
context=from-pstn-custom

Вот Debug ooh323 при звонке с Энфорты -> на Астериск

trixbox1*CLI> 
---   onNewCallCreated ooh323c_1
+++   onNewCallCreated ooh323c_1
---   ooh323_onReceivedSetup ooh323c_1
---   ooh323_alloc
+++   ooh323_alloc
---   find_user
+++   find_user
    Adding capabilities to call(incoming, ooh323c_1)
    Adding g729A capability to call(incoming, ooh323c_1)
    Adding g729 capability to call(incoming, ooh323c_1)
    Adding g711 alaw capability to call(incoming, ooh323c_1)
    Adding g711 ulaw capability to call(incoming, ooh323c_1)
---   configure_local_rtp
+++   configure_local_rtp
+++   ooh323_onReceivedSetup - Determined context from-pstn-custom, extension 3030966
---   setup_rtp_connection
---   find_call
+++   find_call
+++   setup_rtp_connection
--- onAlerting ooh323c_1
---   find_call
+++   find_call
---   ooh323_new - suo1
+++   h323_new
+++ onAlerting ooh323c_1
    -- Executing [2222222@from-pstn-custom:1] Set("OOH323/suo1-1d5b", "__FROM_DID=2222222") in new stack
    -- Executing [2222222@from-pstn-custom:2] Gosub("OOH323/suo1-1d5b", "app-blacklist-check,s,1") in new stack
    -- Executing [s@app-blacklist-check:1] GotoIf("OOH323/suo1-1d5b", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check:2] Return("OOH323/suo1-1d5b", "") in new stack
    -- Executing [2222222@from-pstn-custom:3] ExecIf("OOH323/suo1-1d5b", "0 ?Set(CALLERID(name)=1111111)") in new stack
    -- Executing [2222222@from-pstn-custom:4] Set("OOH323/suo1-1d5b", "__CALLINGPRES_SV=allowed_not_screened") in new stack
    -- Executing [2222222@from-pstn-custom:5] Set("OOH323/suo1-1d5b", "CALLERPRES()=allowed_not_screened") in new stack
    -- Executing [2222222@from-pstn-custom:6] Goto("OOH323/suo1-1d5b", "ivr-8,s,1") in new stack
    -- Goto (ivr-8,s,1)
    -- Executing [s@ivr-8:1] Set("OOH323/suo1-1d5b", "MSG=custom/msg0003-1") in new stack
    -- Executing [s@ivr-8:2] Set("OOH323/suo1-1d5b", "LOOPCOUNT=0") in new stack
    -- Executing [s@ivr-8:3] Set("OOH323/suo1-1d5b", "__DIR-CONTEXT=default") in new stack
    -- Executing [s@ivr-8:4] Set("OOH323/suo1-1d5b", "_IVR_CONTEXT_ivr-8=") in new stack
    -- Executing [s@ivr-8:5] Set("OOH323/suo1-1d5b", "_IVR_CONTEXT=ivr-8") in new stack
    -- Executing [s@ivr-8:6] GotoIf("OOH323/suo1-1d5b", "0?begin") in new stack
    -- Executing [s@ivr-8:7] Answer("OOH323/suo1-1d5b", "") in new stack
--- ooh323_answer
+++ ooh323_answer
----- ooh323_indicate -1 on call ooh323c_1
++++  ooh323_indicate -1 on ooh323c_1
---   onCallEstablished ooh323c_1
---   find_call
+++   find_call
+++   onCallEstablished ooh323c_1
    -- Executing [s@ivr-8:8] Wait("OOH323/suo1-1d5b", "1") in new stack
    -- Executing [s@ivr-8:9] Set("OOH323/suo1-1d5b", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3
    -- Executing [s@ivr-8:10] Set("OOH323/suo1-1d5b", "TIMEOUT(response)=60") in new stack
    -- Response timeout set to 60
    -- Executing [s@ivr-8:11] Set("OOH323/suo1-1d5b", "__IVR_RETVM=") in new stack
    -- Executing [s@ivr-8:12] ExecIf("OOH323/suo1-1d5b", "1?Background(custom/msg0003-1)") in new stack
    -- Executing [s@ivr-8:13] WaitExten("OOH323/suo1-1d5b", ",") in new stack

ВОТ ЗДЕСЬ ДОЛЖНО ЗВУЧАТЬ ПРИВЕТСТВИЕ, НО НИ ЧЕГО НЕ СЛЫШНО... ДАЛЕЕ Я НАБИРАЮ ВНУТРЕННИЙ НОМЕР 104 И АСТЕРИСК ПОЛУЧАЕТ ЭТИ ЦИФРЫ

---   find_call
+++   find_call
---   find_call
+++   find_call
---   find_call
+++   find_call
  == CDR updated on OOH323/suo1-1d5b
    -- Executing [104@ivr-8:1] ExecIf("OOH323/suo1-1d5b", "0?dbDel()") in new stack
    -- Executing [104@ivr-8:2] Set("OOH323/suo1-1d5b", "__NODEST=") in new stack
    -- Executing [104@ivr-8:3] Goto("OOH323/suo1-1d5b", "from-did-direct,104,1") in new stack
    -- Goto (from-did-direct,104,1)
    -- Executing [104@from-did-direct:1] Macro("OOH323/suo1-1d5b", "exten-vm,novm,104") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("OOH323/suo1-1d5b", "user-callerid") in new stack
    -- Executing [s@macro-user-callerid:1] Set("OOH323/suo1-1d5b", "AMPUSER=1111111") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("OOH323/suo1-1d5b", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("OOH323/suo1-1d5b", "1?Set(REALCALLERIDNUM=1111111)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("OOH323/suo1-1d5b", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:5] Set("OOH323/suo1-1d5b", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("OOH323/suo1-1d5b", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing [s@macro-user-callerid:10] GotoIf("OOH323/suo1-1d5b", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("OOH323/suo1-1d5b", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("OOH323/suo1-1d5b", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] NoOp("OOH323/suo1-1d5b", "Using CallerID "bb.bb.bb.bb" <1111111>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("OOH323/suo1-1d5b", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("OOH323/suo1-1d5b", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("OOH323/suo1-1d5b", "EXTTOCALL=104") in new stack
    -- Executing [s@macro-exten-vm:5] Set("OOH323/suo1-1d5b", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("OOH323/suo1-1d5b", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("OOH323/suo1-1d5b", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("OOH323/suo1-1d5b", "record-enable,104,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("OOH323/suo1-1d5b", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] AGI("OOH323/suo1-1d5b", "recordingcheck,20120811-160210,1344686511.147") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
    -- <OOH323/suo1-1d5b>AGI Script recordingcheck completed, returning 0
    -- Executing [s@macro-record-enable:5] MacroExit("OOH323/suo1-1d5b", "") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("OOH323/suo1-1d5b", "dial,"",tr,104") in new stack
    -- Executing [s@macro-dial:1] GotoIf("OOH323/suo1-1d5b", "1?dial") in new stack
    -- Goto (macro-dial,s,3)
    -- Executing [s@macro-dial:3] AGI("OOH323/suo1-1d5b", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
 dialparties.agi: Starting New Dialparties.agi
 dialparties.agi: Caller ID name is 'bb.bb.bb.bb' number is '1111111'
       > dialparties.agi: USE_CONFIRMATION:  'FALSE'
       > dialparties.agi: RINGGROUP_INDEX:   ''
 dialparties.agi: Methodology of ring is  'none'
    -- dialparties.agi: Added extension 104 to extension map
       > dialparties.agi: Extension 104 has call screening off
    -- dialparties.agi: Extension 104 cf is disabled
    -- dialparties.agi: Extension 104 do not disturb is disabled
       > dialparties.agi: extnum 104 has:  cw: 0; hascfb: 0 [] hascfu: 0 []
 dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
 dialparties.agi: Extension 104 has ExtensionState: 0
    -- dialparties.agi: Checking CW and CFB status for extension 104
    -- dialparties.agi: dbset CALLTRACE/104 to 1111111
    -- dialparties.agi: Filtered ARG3: 104
    -- <OOH323/suo1-1d5b>AGI Script dialparties.agi completed, returning 0
    -- Executing [s@macro-dial:7] Dial("OOH323/suo1-1d5b", "SIP/104,"",tr") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
  == Using SIP VRTP TOS bits 136
  == Using SIP VRTP CoS mark 6
    -- Couldn't call 104
  == Everyone is busy/congested at this time (0:0/0/0)

ТУТ ЕЩЕ ОДНА СТРАННОСТЬ, ТАК КАК ТЕЛЕФОН 104 В ЭТОТ МОМЕНТ СВОБОДЕН И ДОСТУПЕН

    -- Executing [s@macro-dial:8] Set("OOH323/suo1-1d5b", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-dial:9] GosubIf("OOH323/suo1-1d5b", "0?CHANUNAVAIL,1") in new stack
    -- Executing [s@macro-exten-vm:10] GotoIf("OOH323/suo1-1d5b", "0?exit,return") in new stack
    -- Executing [s@macro-exten-vm:11] Set("OOH323/suo1-1d5b", "SV_DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:12] GosubIf("OOH323/suo1-1d5b", "0?docfu,1") in new stack
    -- Executing [s@macro-exten-vm:13] GosubIf("OOH323/suo1-1d5b", "0?docfb,1") in new stack
    -- Executing [s@macro-exten-vm:14] Set("OOH323/suo1-1d5b", "DIALSTATUS=CHANUNAVAIL") in new stack
    -- Executing [s@macro-exten-vm:15] NoOp("OOH323/suo1-1d5b", "Voicemail is 'novm'") in new stack
    -- Executing [s@macro-exten-vm:16] GotoIf("OOH323/suo1-1d5b", "1?s-CHANUNAVAIL,1") in new stack
    -- Goto (macro-exten-vm,s-CHANUNAVAIL,1)
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:1] NoOp("OOH323/suo1-1d5b", "IVR_RETVM:  IVR_CONTEXT: ivr-8") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:2] GotoIf("OOH323/suo1-1d5b", "0?exit,1") in new stack
    -- Executing [s-CHANUNAVAIL@macro-exten-vm:3] PlayTones("OOH323/suo1-1d5b", "congestion") in new stack
  == Spawn extension (macro-exten-vm, s-CHANUNAVAIL, 3) exited non-zero on 'OOH323/suo1-1d5b' in macro 'exten-vm'
  == Spawn extension (from-did-direct, 104, 1) exited non-zero on 'OOH323/suo1-1d5b'
---   ooh323_hangup
    hanging suo1
+++   ooh323_hangup
---   close_rtp_connection
---   find_call
+++   find_call
+++   close_rtp_connection
---   onCallCleared ooh323c_1 
---   find_call
+++   find_call
+++   onCallCleared
---   ooh323_destroy 
 Destroying suo1
+++   ooh323_destroy

Вот кусок TCPDUMP

....
15:42:08.756576 IP (tos 0x0, ttl  63, id 17709, offset 0, flags [DF], proto: TCP (6), length: 150) bb.bb.bb.bb.18657 > aa.aa.aa.aa.h323hostcall: P 1093:1191(98) ack 681 win 63 <nop,nop,timestamp 1184855451 66187100>
15:42:08.756579 IP (tos 0x0, ttl  64, id 14801, offset 0, flags [DF], proto: TCP (6), length: 52) aa.aa.aa.aa.h323hostcall > bb.bb.bb.bb.18657: ., cksum 0xbddc (correct), 681:681(0) ack 1191 win 67 <nop,nop,timestamp 66187215 1184855451>

Вот тут произошло поднятие трубки и дальше 2 странные строчки, после которых сыпятся пакеты только со стороны Энфорты, причем с другого IP но все равно слышимости нет даже на стороне Астериска

15:42:08.953475 00:1b:53:ba:a4:18 (oui Unknown) > 01:00:0c:cc:cc:cd (oui Unknown) SNAP Unnumbered, ui, Flags [Command], length 50
15:42:09.036520 IP (tos 0x0, ttl   1, id 28534, offset 0, flags [none], proto: IGMP (2), length: 28) 10.61.99.250 > 239.255.255.100: igmp v1 report 239.255.255.100
15:42:09.121702 IP (tos 0xb8, ttl 253, id 62919, offset 0, flags [none], proto: UDP (17), length: 100) bb.bb.bb.cc.17236 > aa.aa.aa.aa.11584: udp/rtp 60 c18 * 37264 1039888594 197803268
15:42:09.178587 IP (tos 0xb8, ttl 253, id 62919, offset 0, flags [none], proto: UDP (17), length: 100) bb.bb.bb.cc.17236 > aa.aa.aa.aa.11584: udp/rtp 60 c18  37265 1039889074 197803268
15:42:09.245436 IP (tos 0xb8, ttl 253, id 62919, offset 0, flags [none], proto: UDP (17), length: 100) bb.bb.bb.cc.17236 > aa.aa.aa.aa.11584: udp/rtp 60 c18  37266 1039889554 197803268
.....

Потом я кладу трубку со стороны Энфорты и Астериск получает пакеты (очевидно с командой на разъединение)

15:42:13.295896 IP (tos 0x0, ttl  63, id 17710, offset 0, flags [DF], proto: TCP (6), length: 196) bb.bb.bb.bb.18657 > aa.aa.aa.aa.h323hostcall: P 1191:1335(144) ack 681 win 63 <nop,nop,timestamp 1184859953 66187215>
15:42:13.295909 IP (tos 0x0, ttl  64, id 14802, offset 0, flags [DF], proto: TCP (6), length: 52) aa.aa.aa.aa.h323hostcall > bb.bb.bb.bb.18657: ., cksum 0x99f0 (correct), 681:681(0) ack 1335 win 78 <nop,nop,timestamp 66191754 1184859953>

Еще скажу, что на Астериске стоит две сетевые eth0 и eth1 eth0 имеет локальный IP и через нее осуществляется выход в инет eth1 имеет реальный IP, но в нее попадают пакеты только идущие в подсеть bb.bb.0.0

также слушал tcpdump'ом на eth0, думал может туда идут rtp пакеты, но там полная тишина....

Firewall - отключен вААпще

Помогите соображениями куда копать?

удалить закрыть спам изменить тег редактировать

спросил 2012-08-11 16:53:40 +0400

wellus Gravatar wellus
67 34 2 14

обновил 2012-08-11 16:58:00 +0400

1 Ответ

0

почти все циско умеет sip.

просите у них сип.

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

ссылка удалить спам редактировать

ответил 2012-08-11 17:40:35 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-08-11 16:53:40 +0400

Просмотрен: 562 раз

Обновлен: Aug 11 '12

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