VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

wellus
Сообщения: 6
Зарегистрирован: 10 авг 2012, 15:28

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

Сообщение wellus »

Подключаюсь к Энфорте по 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 2222222
--- 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 - отключен вААпще

Помогите соображениями куда копать?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

faststart=no
allow=ulaw:30

и похоже ещё статично роуты добавить на энфортовские медиа шлюзы
ЛС: @rostel
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

ip=bb.bb.bb.bb ; это ip их гейткипера
при этом
gategeeper = DISABLE

А в этом
allow=g729:60
allow=alaw:30
уверены?
Есть ли у вас g729 на Астериске?

Если донабор на 104, то
sip set debug peer 104
поможет понять почему на него никак не позвонить.
А зачем Вы по Н323 вообще звоните? Если нативней бы сразу по SIP?
wellus
Сообщения: 6
Зарегистрирован: 10 авг 2012, 15:28

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

Сообщение wellus »

ddkprog писал(а):с обновления версии астериска обычно начинают
Asterisk 1.6.0.26-FONCORE-r78
wellus
Сообщения: 6
Зарегистрирован: 10 авг 2012, 15:28

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

Сообщение wellus »

Vlad1983 писал(а):faststart=no
allow=ulaw:30

и похоже ещё статично роуты добавить на энфортовские медиа шлюзы
faststart=no - Тогда Энфортовское оборудование не понимает что Астериск поднял трубку
allow=ulaw:30 - добавил, но не помогло.
Роут на Энфорту есть: bb.bb.bb.0 aa.aa.aa.1 255.255.255.0 UG 0 0 0 eth1
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

зацепитесь ради пробы через yate
если заработает, но захочется дальше морочится с ooh323, флаг вам в руки
ЛС: @rostel
wellus
Сообщения: 6
Зарегистрирован: 10 авг 2012, 15:28

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

Сообщение wellus »

ded писал(а):ip=bb.bb.bb.bb ; это ip их гейткипера
при этом
gategeeper = DISABLE

А в этом
allow=g729:60
allow=alaw:30
уверены?
Есть ли у вас g729 на Астериске?

Если донабор на 104, то
sip set debug peer 104
поможет понять почему на него никак не позвонить.
А зачем Вы по Н323 вообще звоните? Если нативней бы сразу по SIP?
любые изменения в строчке gategeeper = DISABLE приводят к тому, что либо звонок не проходит, либо Энфортовское оборудование перестает реагировать на поднятие трубки
trixbox1*CLI> core show codecs
Disclaimer: this command is for informational purposes only.
It does not indicate anything about your configuration.
INT BINARY HEX TYPE NAME DESC
--------------------------------------------------------------------------------
1 (1 << 0) (0x1) audio g723 (G.723.1)
2 (1 << 1) (0x2) audio gsm (GSM)
4 (1 << 2) (0x4) audio ulaw (G.711 u-law)
8 (1 << 3) (0x8) audio alaw (G.711 A-law)
16 (1 << 4) (0x10) audio g726aal2 (G.726 AAL2)
32 (1 << 5) (0x20) audio adpcm (ADPCM)
64 (1 << 6) (0x40) audio slin (16 bit Signed Linear PCM)
128 (1 << 7) (0x80) audio lpc10 (LPC10)
256 (1 << 8) (0x100) audio g729 (G.729A)
512 (1 << 9) (0x200) audio speex (SpeeX)
1024 (1 << 10) (0x400) audio ilbc (iLBC)
2048 (1 << 11) (0x800) audio g726 (G.726 RFC3551)
4096 (1 << 12) (0x1000) audio g722 (G722)
65536 (1 << 16) (0x10000) image jpeg (JPEG image)
131072 (1 << 17) (0x20000) image png (PNG image)
262144 (1 << 18) (0x40000) video h261 (H.261 Video)
524288 (1 << 19) (0x80000) video h263 (H.263 Video)
1048576 (1 << 20) (0x100000) video h263p (H.263+ Video)
2097152 (1 << 21) (0x200000) video h264 (H.264 Video)
trixbox1*CLI>


Работать с Н323 жизнь заставила...
Вообще Энфорта отдельная песня.
у Энфорты есть SIP.
Я изначально на него все подвязал... но оказалось что у них там качество голоса отвратное и факсы не ходят. Выяснилось, когда все договоры подписали и станцию собрали и запустили... Кстати за SIP еще и доплачивать пришлось. Что тоже выяснилось в момент подачи услуги (ранее уверяли что ни каких доп платежей не будет)
wellus
Сообщения: 6
Зарегистрирован: 10 авг 2012, 15:28

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

Сообщение wellus »

Vlad1983 писал(а):зацепитесь ради пробы через yate
если заработает, но захочется дальше морочится с ooh323, флаг вам в руки
Вот с утра этим и занимаюсь...
YATE стал нормально, правда при запуске вот такую фигню выдал.... -> yate: error while loading shared libraries: libyate.so.4.0.0: cannot open shared object file: No such file or directory
хотя ошибок при инсталляции небыло
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

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

Сообщение Vlad1983 »

http://yate.null.ro/archive/?action=sho ... s%5B%5D=37
"Add manually /usr/local/lib to /etc/ld.so.conf and run ldconfig (as root)"
ЛС: @rostel
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение ded »

любые изменения в строчке gategeeper = DISABLE приводят к тому, что либо звонок не проходит, либо Энфортовское оборудование перестает реагировать на поднятие трубки
Да подождите с поднятием трубки!
Если указываете gategeeper = А.В.С.Д. то для начала убедитесь, что Астериск зарегистрировался на гейткипере как шлюз. И там на нём же полно ещё настроек, на тему разрешать медиа напрямую или нет, диал план, опять же, входящая и исходящая маршрутизация на нём очень детально прописывается!

Кроме того - не
trixbox1*CLI> core show codecs
а
*CLI> core show translations
и раз Вы это не знаете - то нет у вас кодека g729 в Астериске, замаркируйте Вы нафиг его в конфигурации ooh323.conf и всё у вас поедет.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH