Категорії
PBX (telephony)

Elastix и H323

Если вы “счастливый” обладатель Elastix’a, точнее к вам на голову свалился этот геморой, то данная статья для вас.

1) Настройка Elastix’a

В меню Trunks создаём новый Custom транк. Называем его и устанавливаем Caller-ID. Создаём шаблон набора (вводим точку для любых звонков). В поле Custom Dial String вводим такое

OOH323/$OUTNUM$@XX.XX.XX.XX

именно так и никаких номеров портов в конце (хотя в подсказке именно с указанием порта, что и вводит в заблуждение)! Иначе будет ругать peer not found.

XX.XX.XX.XX – это IP адрес оператора связи, через которого вы будете звонить.

Нажимаем сохранить и применяем конфигурацию.

Теперь выбираем (или создаём) новый Outbound route (исходящий маршрут) и в качестве транка выбираем созданный выше. Так же сохраняемся и применяем конфигурацию.
Для подключения второго транка делаем всё тоже самое.

2) Настройка asterisk’a

Для начала посмотрим, подгружен ли модуль ooh323:

pbx*CLI> core show channeltypes
Type        Description                              Devicestate  Indications  Transfer
----------  -----------                              -----------  -----------  --------
USTM        UNISTIM Channel Driver                   no           yes          no
OOH323      Objective Systems H323 Channel Driver    no           yes          no
Phone       Standard Linux Telephony API Driver      no           yes          no
EXTRA       GSM/CDMA Telephony Driver FOR Asterisk w no           yes          no
Agent       Call Agent Proxy Channel                 yes          yes          no
MGCP        Media Gateway Control Protocol (MGCP)    yes          yes          no
Bridge      Bridge Interaction Channel               no           no           no
SIP         Session Initiation Protocol (SIP)        yes          yes          yes
MulticastR  Multicast RTP Paging Channel Driver      no           no           no
IAX2        Inter Asterisk eXchange Driver (Ver 2)   yes          yes          yes
Gtalk       Gtalk Channel Driver                     no           yes          no
Jingle      Jingle Channel Driver                    no           yes          no
DAHDI       DAHDI Telephony Driver w/PRI & MFC/R2 &  yes          yes          no
Skinny      Skinny Client Control Protocol (Skinny)  yes          yes          no
Local       Local Proxy Channel Driver               yes          yes          no
----------
15 channel drivers registered.

Как видно, подгружен. Если не подгружен, то подгрузите через команду

module load ooh323.so

Теперь нам потребуется изменить немного файл ooh323.conf (не h323.conf, а именно ooh323.conf)

Достаточно таких настроек:

[general]
port = 1720
bindaddr = 0.0.0.0
e164=100
callerid=PostMet-Asterisk
gateway=no
gatekeeper = DISABLE
h245tunneling=yes
mediawaitforconnect=yes
logfile=/var/log/asterisk/h323_log
context=from-internal
dtmfmode=rfc2833

Теперь добавим описание пира XX.XX.XX.XX:

[XX.XX.XX.XX]
type=friend
context=from-internal
ip=XX.XX.XX.XX
port=1720
rtptimeout=60
dtmfmode=rfc2833
h245tunneling=yes
disallow=all
allow=alaw
allow=ulaw
allow=g723
allow=g729

Теперь перегружаем астериск и пробуем звонить.
Для ещё одного транка просто добавляем описание пира.

12 коментарів “Elastix и H323”

Добрый день, попытался соединить elastix и panasonik TDA200 через Н323 с такой настройкой. С panasonika звонки проходят, а с elastix нет. В логах такая ошибка: ERROR:No open LogicalChannels – Failed FindLogicalChannelByChannelNo (incoming, ooh323c_1

А как быть если module load ooh323.so не проходит. Выдается сообщение о том что модуль не найден.
Как это решить?

Значит либо модуль действительно находится не в папке модулей asterisk’a, либо просто не подходит к вашей версии ОС, астериска.

Создайте файл ooh323.conf в Elastix. PBX->Tool->Asterisk File Editor
Потом перезагрузите и сделайте команду module load ooh323.so. Должен загрузиться после перезагрузки.

Настроил ooh323 между avaya и asterisk. Звонки между абонентами ast. и ava. ходят
и абоненты aster. через avaya выходят на ТфОП.
Но к aster. подключен ещё транк sip,
и вот абоненты avaya через asterisk в sip проходят, но звук не проключается.
Хотя от абонентов asterisk звонки через sip – проходят нормально.

Если нет голоса, значит блочатся voice-порты в файерволе. Где именно – смотрите дамп трафика.

Спасибо за ответ, но какой файервол?
avaya–>ooh323–>elastix–> NAT–>sip mtt
абонент elastix – звонит через sip. все нормально;
абонент avaya – звонит через sip, звонок идет , ответ на снятую трубку есть,
но звук не проключается.

Любой файервол. В первую очередь нужно именно его смотреть + дамп трафика сделать. Дальше уже разбираться. Ваша схема всё равно ничего не говорит, и проблема может быть где угодно.

В догонку
абонент avaya без прблем звонит абоненту elastix;
при наборе сотового или межгорода Wireshark показывает
отсутствие RTP после connect между avaya и elastix
(которые находятся в локальной сети и между ними файервол не работает).
Спасибо

Такая же беда как и у oleg. Только вместо avaya LG CS100. Когда звонишь с elastix и вызов и голос в обе стороны работает, когда звонишь с CS1000 вызов идёт но голоса нет нигде. Фаерволов и прочих натов между ними нет. В логах астериска всё красиво и никаких ошибок.

Возможно неправильно настроен диапазон rtp port range на CS1000 или он отличается от того, какой прописан в elastix

Залишити коментар до skeletor Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff