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

Trixbox + оh323

Asterisk GUI 7 сообщений -
#1

Привет!
Хочу к своей АТС (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
Подскажите где копать.
#2

смотрим внимательно на твой лог в части
Код:
-- 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
да ещё число сотонинское используешь! Анафема!
#3

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
да ещё число сотонинское используешь! Анафема!


Smile секция register осталась с дефолтного конфига.... согласен можно убить

реально там ip 172.29.161.224

У меня сейчас две машины с Trixbox. Пытаюсь паралельно запуститься на разных драйверах. Просто при создании темы скопировал конфиги для SIP (они ведь одинаковые).

Может грабли в 1.2 еще остались и поднять все на фре с нуля?
#4

У меня сейчас примерно 15-20 машин с Триксбоксами, вообрази, у всех разные ИП адреса! Но мы же разумные люди, или у тебя истерика на тему копирования конфигов - караул! не работает! что ещё попробовать скопировать?
#5

Ded писал(а):
У меня сейчас примерно 15-20 машин с Триксбоксами, вообрази, у всех разные ИП адреса! Но мы же разумные люди, или у тебя истерика на тему копирования конфигов - караул! не работает! что ещё попробовать скопировать?


h323-транки на них юзаешь?


Последний раз редактировалось: anchor (Пн Дек 17, 2007 13:01)
#6

На некоторых - да, но именно h323, а не оh323 и не ооh323.
h323 от оh323 почти нисем не отличается, h323 оперирует только трансляцией сигнализации и использует нативный РТП стек, а оh323 использует свой джиттер буфер в РТП.
#7

Методом тыка перебрал все родные кодеки, которые поддерживает *.
Определил, что AVAYA не корректно работает с ulaw. С alaw глюков нет.