http://b.arsenbespalov.ru/2012/01/h323-dtmf-chanooh323.html
bolshoy_plohish ( 2012-07-12 17:34:24 +0400 )редактироватьДобрый день! Возникла необходимость соединить две сети, где в одной исторически сложившаяся сеть на h323, а в недавно установленной sip и нами всеми любимый Asterisk=) Заработало, звонки пошли, правда пока в одну сторону, в другую ещё не пробовали.. Слышимость отличная. Но возникла проблема, в сети с h323 стоят пара FXO шлюзов которым необходим донабор. И он то как раз и не работает! Разумеется погуглил и результаты в конфиге ниже: Используется ooh323 и соответственно конфиг ooh323.conf
[general]
port=1720
bindaddr=0.0.0.0
faststart=yes
h245tunneling=yes
mediawaitforconnect=yes
callerid=asterisk
gatekeeper = DISABLE
logfile=/var/log/asterisk/h323_log
context=from-internal
disallow=all
allow=g729
dtmfmode=h245signal
[Alex]
type=friend
context=from-internal
host=X.X.X.X
port=1720
disallow=all
allow=g729
[Revda]
type=friend
context=from-internal
host=X.X.X.X
port=1720
disallow=all
allow=g729
вывод консоли
ooh323 show config
Objective Open H.323 Channel Driver's Config:
IP:Port: 0.0.0.0:1720
H.225 port range: 12030-12230
FastStart yes
Tunneling yes
CallerId asterisk
MediaWaitForConnect yes
Gatekeeper: No Gatekeeper
H.323 LogFile: /var/log/asterisk/h323_log
Context: from-internal
Capability: 0x100 (g729)
DTMF Mode: h245signal
T.38 Mode: faxgw/chan_sip compatible
Call counter: 7
AccountCode: ast_h323
AMA flags: Unknown
Но вот хоть убей при звонке передается inband.. На телефоне и в настройках пира стоит rfc2833, при звонке через sip транк dtmf передается отлично! лог при звонке в сеть ooh323
[Jul 11 13:30:50] VERBOSE[15260] app_dial.c: -- OOH323/Alex-8 is ringing
[Jul 11 13:30:50] VERBOSE[15260] app_dial.c: -- OOH323/Alex-8 answered SIP/901-00000016
[Jul 11 13:30:50] VERBOSE[15260] chan_ooh323.c: ----- ooh323_indicate 20 on call ooh323c_o_9
[Jul 11 13:30:50] VERBOSE[15260] chan_ooh323.c: ++++ ooh323_indicate 20 on ooh323c_o_9
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF begin '8' received on SIP/901-00000016
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF begin passthrough '8' on SIP/901-00000016
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: --- ooh323_digit_begin
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: +++ ooh323_digit_begin
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end '8' received on SIP/901-00000016, duration 110 ms
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end accepted with begin '8' on SIP/901-00000016
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end passthrough '8' on SIP/901-00000016
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: --- ooh323_digit_end
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: +++ ooh323_digit_end
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF begin '5' received on SIP/901-00000016
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF begin passthrough '5' on SIP/901-00000016
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: --- ooh323_digit_begin
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: +++ ooh323_digit_begin
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end '5' received on SIP/901-00000016, duration 110 ms
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end accepted with begin '5' on SIP/901-00000016
[Jul 11 13:30:51] DTMF[15260] channel.c: DTMF end passthrough '5' on SIP/901-00000016
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: --- ooh323_digit_end
[Jul 11 13:30:51] VERBOSE[15260] chan_ooh323.c: +++ ooh323_digit_end
Все завелось и заработало!
[general]
port=1720
bindaddr=X.X.X.X
faststart=no
h245tunneling=yes
gatekeeper = DISABLE
;logfile=/var/log/asterisk/h323_log
context=from-internal
disallow=all
allow=alaw
dtmfmode=h245signal
dtmfcodec=127
musiconhold=default
[Alex]
type=friend
host=X.X.X.X
port=1720
canreinvite=no
Если у кого возникнет такая же проблема - попробуйте изменить параметр
faststart
Понимаю что уже много где об этом написано было, но может кому пригодится..=)
Нужно четко понимать что при использовании кодека g729 донабор DTMF inband работать не будет т.к. сильно искажается исходный звук! тут DTMF сигналы нужно отправлять через порт сигнализации.
Я это четко понимаю! но разве строка dtmfmode=h245signal не должна привести именно к этому результату?
http://b.arsenbespalov.ru/2012/01/h323-dtmf-chanooh323.html
bolshoy_plohish ( 2012-07-12 17:34:24 +0400 )редактироватья бы с удовольствием, но на другой стороне очень трудный товарищ, он только за g729.. И никто не может подсказать откуда взять исходники asterisk использованного в elastix 2.2, а то скачал той же версии что показывает в консоли - 1.8.7.0. Собрал по известному мануалу, подменил местами файлики, и оказалось что из модулей не грузится ничего кроме H323, который тоже из свежесобранного..
Попробуй с другими кодеками.
[XX.XX.XX.2]
type=friend
ip=XX.XX.XX.2
port=1720
rtptimeout=60
dtmfmode=rfc2833
context=from-trunk
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
;e164=208;
Извините что поднимаю этот вопрос снова.. но он так и не решился=( Выставил dtmfmode=rfc2833 уже везде прописал, толку ноль! Не схватывает. Пытаюсь установить h323, но пока не могу сдружить скомпилированный модуль с asteriskom elastix..
Если я правильно все понимаю, то при использовании g729, а приходится использовать именно его, передача DTMF inband не срабатывает корректно.. В общем я дозваниваюсь до шлюза расположенного в сети h323 и после слышу в трубке только равномерное гудение. Вот и вопрос, почему шлюз не улавливает сигнал? Если неверно обрисовал ситуацию, то готов добавить все недостающие штрихи!=)
Нужно четко понимать что при использовании кодека g729 донабор DTMF inband работать не будет т.к. сильно искажается исходный звук! тут DTMF сигналы нужно отправлять через порт сигнализации.
DJs3000 ( 2012-07-12 12:01:32 +0400 )редактироватьЗадан: 2012-07-11 08:36:48 +0400
Просмотрен: 1,709 раз
Обновлен: Jul 14 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Не совсем понял вопрос... понятное дело что в FXO линию будет DTMF inband отправляться.
DJs3000 ( 2012-07-11 10:35:47 +0400 )редактироватьпропиши dtmfmode=rfc2833
romariosar ( 2012-07-11 17:16:02 +0400 )редактировать