Хочу к своей АТС (Avaya S8710)по h323 подключить trixbox.
Попробовал с драйвером oh323 от InAccessNetworks.
Если звонить с AVAYA на TRIXBOX, то проблем не обнаружено. А вот наоборот есть проблема - звонки совсем не проходят.
Мои конфиги:
oh323.conf
| Код: |
| [general] listenAddress=172.29.161.224 listenPort=1720 tcpStart=10000 tcpEnd=20000 udpStart=65000 udpEnd=65535 fastStart=yes h245Tunnelling=yes h245inSetup=yes inBandDTMF=Yes jitterMin=20 jitterMax=100 ipTos=none outboundMax=100 inboundMax=100 simultaneousMax=100 wrapLibTraceLevel=0 libTraceLevel=0 libTraceFile=stdout gatekeeper=DISABLE gatekeeperTTL=600 userInputMode=TONE amaFlags=default accountCode=H323 language=en musiconhold=default context=voip-h323 [register] alias=asterisk alias=123 context=all-aliases alias=ASTERISK alias=666 context=more-aliases alias=665 context=all-prefixes gwprefix=00 gwprefix=01 context=more-stuff alias=664 gwprefix=02 [codecs] codec=G711U frames=20 codec=G711A frames=20 codec=G729 frames=2 |
sip.conf
| Код: |
| [general] bindport = 5060 ; Port to bind to (SIP is 5060) bindaddr = 172.29.161.216 ; Address to bind to (all addresses on machine) disallow=all allow=ulaw allow=alaw context = from-sip-external ; Send unknown SIP callers to this context callerid = Unknown tos=0x68 notifyringing=yes notifyhold=yes limitonpeers=yes srvlookup=yes canreinvite=no [82000] type=friend secret=11111 record_out=Adhoc record_in=Adhoc qualify=yes port=5060 pickupgroup= nat=yes mailbox=82000@device host=dynamic dtmfmode=rfc2833 disallow= dial=SIP/82000 context=from-internal canreinvite=no callgroup= callerid=device allow= accountcode= |
Создан CUSTOM TRUNK - OH323/$OUTNUM$@172.29.5.9:1720
Экстеншины на trixbox 82000, на avaya 20220.
При попытке набрать 20220 из trixbox вот такой дебаг:
| Код: |
| -- Executing Macro("SIP/82000-0928e160", "dialout-trunk|2|20220||") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK=2") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_NUMBER=20220") in new stack -- Executing Set("SIP/82000-0928e160", "ROUTE_PASSWD=") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?noauth") in new stack -- Goto (macro-dialout-trunk,s,6) -- Executing GotoIf("SIP/82000-0928e160", "0?disabletrunk|1") in new stack -- Executing Set("SIP/82000-0928e160", "_NODEST=") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing Set("SIP/82000-0928e160", "GROUP()=OUT_2") in new stack -- Executing Macro("SIP/82000-0928e160", "user-callerid|SKIPTTL") in new stack -- Executing NoOp("SIP/82000-0928e160", "user-callerid: device 82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSER=82000") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?report") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?start") in new stack -- Executing Set("SIP/82000-0928e160", "REALCALLERIDNUM=82000") in new stack -- Executing NoOp("SIP/82000-0928e160", "REALCALLERIDNUM is 82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSER=82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSERCIDNAME=anchor") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?report") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSERCID=82000") in new stack -- Executing Set("SIP/82000-0928e160", "CALLERID(all)="anchor" ") in new stack -- Executing Set("SIP/82000-0928e160", "REALCALLERIDNUM=82000") in new stack -- Executing NoOp("SIP/82000-0928e160", "TTL: ARG1: SKIPTTL") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?continue") in new stack -- Goto (macro-user-callerid,s,23) -- Executing NoOp("SIP/82000-0928e160", "Using CallerID "anchor" ") in new stack -- Executing Macro("SIP/82000-0928e160", "record-enable|82000|OUT") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?2:4") in new stack -- Goto (macro-record-enable,s,4) -- Executing AGI("SIP/82000-0928e160", "recordingcheck|20071123-121803|1195813083.0") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck -- Executing Macro("SIP/82000-0928e160", "dialout-trunk|2|20220||") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK=2") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_NUMBER=20220") in new stack -- Executing Set("SIP/82000-0928e160", "ROUTE_PASSWD=") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?noauth") in new stack -- Goto (macro-dialout-trunk,s,6) -- Executing GotoIf("SIP/82000-0928e160", "0?disabletrunk|1") in new stack -- Executing Set("SIP/82000-0928e160", "_NODEST=") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK_OPTIONS=tr") in new stack -- Executing Set("SIP/82000-0928e160", "GROUP()=OUT_2") in new stack -- Executing Macro("SIP/82000-0928e160", "user-callerid|SKIPTTL") in new stack -- Executing NoOp("SIP/82000-0928e160", "user-callerid: device 82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSER=82000") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?report") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?start") in new stack -- Executing Set("SIP/82000-0928e160", "REALCALLERIDNUM=82000") in new stack -- Executing NoOp("SIP/82000-0928e160", "REALCALLERIDNUM is 82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSER=82000") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSERCIDNAME=anchor") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?report") in new stack -- Executing Set("SIP/82000-0928e160", "AMPUSERCID=82000") in new stack -- Executing Set("SIP/82000-0928e160", "CALLERID(all)="anchor" ") in new stack -- Executing Set("SIP/82000-0928e160", "REALCALLERIDNUM=82000") in new stack -- Executing NoOp("SIP/82000-0928e160", "TTL: ARG1: SKIPTTL") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?continue") in new stack -- Goto (macro-user-callerid,s,23) -- Executing NoOp("SIP/82000-0928e160", "Using CallerID "anchor" ") in new stack -- Executing Macro("SIP/82000-0928e160", "record-enable|82000|OUT") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?2:4") in new stack -- Goto (macro-record-enable,s,4) -- Executing AGI("SIP/82000-0928e160", "recordingcheck|20071123-121803|1195813083.0") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck recordingcheck|20071123-121803|1195813083.0: Outbound recording not enabled recordingcheck|20071123-121803|1195813083.0: Outbound recording not enabled -- AGI Script recordingcheck completed, returning 0 -- Executing NoOp("SIP/82000-0928e160", "No recording needed") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?skipoutcid") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing Macro("SIP/82000-0928e160", "outbound-callerid|2") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?start") in new stack -- Goto (macro-outbound-callerid,s,3) -- Executing NoOp("SIP/82000-0928e160", "REALCALLERIDNUM is 82000") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,9) -- Executing Set("SIP/82000-0928e160", "USEROUTCID=") in new stack -- Executing Set("SIP/82000-0928e160", "EMERGENCYCID=") in new stack -- Executing Set("SIP/82000-0928e160", "TRUNKOUTCID=to avaya") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,16) -- Executing GotoIf("SIP/82000-0928e160", "0?usercid") in new stack -- Executing Set("SIP/82000-0928e160", "CALLERID(all)=to avaya") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?report") in new stack -- Goto (macro-outbound-callerid,s,22) -- Executing NoOp("SIP/82000-0928e160", "CallerID set to "to avaya" ") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,17) -- Executing AGI("SIP/82000-0928e160", "fixlocalprefix") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix -- AGI Script recordingcheck completed, returning 0 -- Executing NoOp("SIP/82000-0928e160", "No recording needed") in new stack -- Executing GotoIf("SIP/82000-0928e160", "0?skipoutcid") in new stack -- Executing Set("SIP/82000-0928e160", "DIAL_TRUNK_OPTIONS=") in new stack -- Executing Macro("SIP/82000-0928e160", "outbound-callerid|2") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?start") in new stack -- Goto (macro-outbound-callerid,s,3) -- Executing NoOp("SIP/82000-0928e160", "REALCALLERIDNUM is 82000") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?normcid") in new stack -- Goto (macro-outbound-callerid,s,9) -- Executing Set("SIP/82000-0928e160", "USEROUTCID=") in new stack -- Executing Set("SIP/82000-0928e160", "EMERGENCYCID=") in new stack -- Executing Set("SIP/82000-0928e160", "TRUNKOUTCID=to avaya") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?trunkcid") in new stack -- Goto (macro-outbound-callerid,s,16) -- Executing GotoIf("SIP/82000-0928e160", "0?usercid") in new stack -- Executing Set("SIP/82000-0928e160", "CALLERID(all)=to avaya") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?report") in new stack -- Goto (macro-outbound-callerid,s,22) -- Executing NoOp("SIP/82000-0928e160", "CallerID set to "to avaya" ") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?nomax") in new stack -- Goto (macro-dialout-trunk,s,17) -- Executing AGI("SIP/82000-0928e160", "fixlocalprefix") in new stack -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix -- AGI Script fixlocalprefix completed, returning 0 -- Executing Set("SIP/82000-0928e160", "OUTNUM=20220") in new stack -- Executing Set("SIP/82000-0928e160", "custom=AMP") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?gocall") in new stack -- Goto (macro-dialout-trunk,s,24) -- Executing GotoIf("SIP/82000-0928e160", "1?customtrunk") in new stack -- Goto (macro-dialout-trunk,s,27) -- Executing Set("SIP/82000-0928e160", "pre_num=AMP:OH323/") in new stack -- Executing Set("SIP/82000-0928e160", "the_num=OUTNUM") in new stack -- Executing Set("SIP/82000-0928e160", "post_num=@172.29.5.9:1720") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?outnum:skipoutnum") in new stack -- Goto (macro-dialout-trunk,s,31) -- Executing Set("SIP/82000-0928e160", "the_num=20220") in new stack -- Executing Dial("SIP/82000-0928e160", "OH323/20220@172.29.5.9:1720|300|") in new stack -- H.323 call to 20220@172.29.5.9:1720 with codec(s) ulaw alaw g729 -- Outbound H.323 call to destination '20220@172.29.5.9:1720', channel 'OH323/20220@172.29.5.9:1720-db0b02e6'. -- Called 20220@172.29.5.9:1720 -- AGI Script fixlocalprefix completed, returning 0 -- Executing Set("SIP/82000-0928e160", "OUTNUM=20220") in new stack -- Executing Set("SIP/82000-0928e160", "custom=AMP") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?gocall") in new stack -- Goto (macro-dialout-trunk,s,24) -- Executing GotoIf("SIP/82000-0928e160", "1?customtrunk") in new stack -- Goto (macro-dialout-trunk,s,27) -- Executing Set("SIP/82000-0928e160", "pre_num=AMP:OH323/") in new stack -- Executing Set("SIP/82000-0928e160", "the_num=OUTNUM") in new stack -- Executing Set("SIP/82000-0928e160", "post_num=@172.29.5.9:1720") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?outnum:skipoutnum") in new stack -- Goto (macro-dialout-trunk,s,31) -- Executing Set("SIP/82000-0928e160", "the_num=20220") in new stack -- Executing Dial("SIP/82000-0928e160", "OH323/20220@172.29.5.9:1720|300|") in new stack -- H.323 call to 20220@172.29.5.9:1720 with codec(s) ulaw alaw g729 -- Outbound H.323 call to destination '20220@172.29.5.9:1720', channel 'OH323/20220@172.29.5.9:1720-db0b02e6'. -- Called 20220@172.29.5.9:1720 -- H.323 call 'ip$localhost/3-db0b02e6' cleared, reason 8 (Transport failure) -- Hungup 'OH323/20220@172.29.5.9:1720-db0b02e6' == Everyone is busy/congested at this time (1:0/0/1) -- Executing Goto("SIP/82000-0928e160", "s-CHANUNAVAIL|1") in new stack -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1) -- Executing GotoIf("SIP/82000-0928e160", "1?noreport") in new stack -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3) -- Executing NoOp("SIP/82000-0928e160", "TRUNK Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack -- Executing Macro("SIP/82000-0928e160", "outisbusy|") in new stack -- Executing Playback("SIP/82000-0928e160", "all-circuits-busy-now|noanswer") in new stack -- Playing 'all-circuits-busy-now' (language 'en') -- H.323 call 'ip$localhost/3-db0b02e6' cleared, reason 8 (Transport failure) -- Hungup 'OH323/20220@172.29.5.9:1720-db0b02e6' == Everyone is busy/congested at this time (1:0/0/1) -- Executing Goto("SIP/82000-0928e160", "s-CHANUNAVAIL|1") in new stack -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,1) -- Executing GotoIf("SIP/82000-0928e160", "1?noreport") in new stack -- Goto (macro-dialout-trunk,s-CHANUNAVAIL,3) -- Executing NoOp("SIP/82000-0928e160", "TRUNK Dial failed due to CHANUNAVAIL - failing through to other trunks") in new stack -- Executing Macro("SIP/82000-0928e160", "outisbusy|") in new stack -- Executing Playback("SIP/82000-0928e160", "all-circuits-busy-now|noanswer") in new stack -- Playing 'all-circuits-busy-now' (language 'en') -- Executing Playback("SIP/82000-0928e160", "pls-try-call-later|noanswer") in new stack -- Playing 'pls-try-call-later' (language 'en') -- Executing Playback("SIP/82000-0928e160", "pls-try-call-later|noanswer") in new stack -- Playing 'pls-try-call-later' (language 'en') -- Executing Macro("SIP/82000-0928e160", "hangupcall") in new stack -- Executing ResetCDR("SIP/82000-0928e160", "w") in new stack -- Executing NoCDR("SIP/82000-0928e160", "") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,6) -- Executing GotoIf("SIP/82000-0928e160", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,9) -- Executing GotoIf("SIP/82000-0928e160", "1?theend") in new stack -- Goto (macro-hangupcall,s,11) -- Executing Hangup("SIP/82000-0928e160", "") in new stack == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' in macro 'hangupcall' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' in macro 'outisbusy' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' -- Executing Macro("SIP/82000-0928e160", "hangupcall") in new stack -- Executing ResetCDR("SIP/82000-0928e160", "w") in new stack -- Executing NoCDR("SIP/82000-0928e160", "") in new stack -- Executing GotoIf("SIP/82000-0928e160", "1?skiprg") in new stack -- Goto (macro-hangupcall,s,6) -- Executing GotoIf("SIP/82000-0928e160", "1?skipblkvm") in new stack -- Goto (macro-hangupcall,s,9) -- Executing GotoIf("SIP/82000-0928e160", "1?theend") in new stack -- Goto (macro-hangupcall,s,11) -- Executing Hangup("SIP/82000-0928e160", "") in new stack == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' in macro 'hangupcall' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' in macro 'outisbusy' == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/82000-0928e160' |
Со стороны AVAYA создана своя сигнальная транковая группа, маршрутизация через aar-анализ.
Версия сервера - Asterisk 1.2.24 svn rev 79171
Подскажите где копать.
| Код: |
| -- Called 20220@172.29.5.9:1720 -- H.323 call 'ip$localhost/3-db0b02e6' cleared, reason 8 (Transport failure) |
Такой отчетливая чушь! ip$localhost это попытка звонить на 127.0.0.1
Это Астериск думает, что это надо звонить с этого адреса.
у тебя в ООН323
| Код: |
| [general] listenAddress=172.29.161.224 |
а в СИП конфе
| Код: |
| [general] bindport = 5060 ; Port to bind to (SIP is 5060) bindaddr = 172.29.161.216 |
Так какой же адрес у Астериска?
Зачем секция [register] если не используешь гейткипер?
| Код: |
| [register] alias=asterisk alias=123 context=all-aliases alias=ASTERISK alias=666 |
| Ded писал(а): | ||||||||
| смотрим внимательно на твой лог в части |
| Код: |
| -- Called 20220@172.29.5.9:1720 -- H.323 call 'ip$localhost/3-db0b02e6' cleared, reason 8 (Transport failure) |
Такой отчетливая чушь! ip$localhost это попытка звонить на 127.0.0.1
Это Астериск думает, что это надо звонить с этого адреса.
у тебя в ООН323
| Код: |
| [general] listenAddress=172.29.161.224 |
а в СИП конфе
| Код: |
| [general] bindport = 5060 ; Port to bind to (SIP is 5060) bindaddr = 172.29.161.216 |
Так какой же адрес у Астериска?
Зачем секция [register] если не используешь гейткипер?
| Код: |
| [register] alias=asterisk alias=123 context=all-aliases alias=ASTERISK alias=666 |
реально там ip 172.29.161.224
У меня сейчас две машины с Trixbox. Пытаюсь паралельно запуститься на разных драйверах. Просто при создании темы скопировал конфиги для SIP (они ведь одинаковые).
Может грабли в 1.2 еще остались и поднять все на фре с нуля?
| Ded писал(а): |
| У меня сейчас примерно 15-20 машин с Триксбоксами, вообрази, у всех разные ИП адреса! Но мы же разумные люди, или у тебя истерика на тему копирования конфигов - караул! не работает! что ещё попробовать скопировать? |
h323-транки на них юзаешь?
Последний раз редактировалось: anchor (Пн Дек 17, 2007 13:01)
h323 от оh323 почти нисем не отличается, h323 оперирует только трансляцией сигнализации и использует нативный РТП стек, а оh323 использует свой джиттер буфер в РТП.
Определил, что AVAYA не корректно работает с ulaw. С alaw глюков нет.