Продолжаю сам с собой.
Для терминации используется Asterisk 1.6.0-beta9 asterisk16-addons + chan_ooh323, IP реальный. К этой же машине по внутреннему интерфейсу подключены IP-телефоны Linksys SPA-942/962.
Модуль загружается, работает, но при коммутации звонков между WAN по H323 и LAN на SIP-телефоны, независимо от направления звонка, первые секунд 5-10 в трубках тишина в обоих направлениях. Как только появляется звук, судя по консоли астериска, происходит фактическая коммутация потоков с непонятным кондишеном:
[Jun 11 12:24:59] WARNING[3202]: chan_ooh323.c:981 ooh323_indicate: Don't know how to indicate condition 20 on ooh323c_o_129
-- Native bridging SIP/1091-00649288 and OOH323/9123456789@195.14.50.82-d001
Конфиги:
/opt/etc/asterisk/ooh323.conf
Code:
[general]
bindaddr=195.1.2.3
gateway=no
faststart=no
mediawaitforconnect=yes
h323id=ObjSysAsterisk
e164=100
callerid=asterisk
gatekeeper = DISABLE
logfile=/dev/null
context=from-h323
rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
; when we're not on hold
disallow=all ;Note order of disallow/allow is important.
allow=ulaw
allow=alaw
dtmfmode=rfc2833
[corbina]
type=friend
context=from-h323
ip=195.14.50.82 ; UPDATE with appropriate ip address
port=1720 ; UPDATE with appropriate port
rtptimeout=60
dtmfmode=rfc2833
/opt/etc/asterisk/sip.conf
Code:
[general]
context=incoming ; Default context for incoming calls
allowoverlap=no ; Disable overlap dialing support. (Default is yes)
bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
defaultexpiry=300 ; Default length of incoming/outgoing registration
disallow=all ; First disallow all codecs
allow=ulaw ; Allow codecs in order of preference
allow=alaw
language=ru ; Default language setting for all users/peers
registertimeout=20 ; retry registration calls every 20 seconds
...
[1001]
secret=
nat=no
host=dynamic
type=friend
canreinvite=yes
[1101]
secret=
nat=no
host=dynamic
type=friend
canreinvite=yes
[1100]
secret=
nat=no
host=dynamic
type=friend
canreinvite=yes