Один из моих заказчиков столкнулся с «магическим» ограничением в 64 endpoint'а в настройках модуля chan_h323 астериска. При создании большего количества записей астериск падает, вызывая ошибку  где-то в pwlib. Разбираться с давно уже не поддерживаемым модулем и новой для себя библиотекой желания не было, так что было предложено использовать более совершенную поддержку H323 протокола, имеющуюся в Yate.

Во всех спецификациях yate среди перечисления функций указано: H.323 multiple endpoint server. Однако примеров настройки в wiki нет, вместо этого только описание основных принципов и компонентов протокола H.323.

Ответ был найден в единственном сообщении в списке рассылки. В конфигурационном файле h323chan.conf могут быть созданы дополнительные секции, где после типа секции через пробел указывается внутреннее имя endpoint:

[ep 99236264]
gkip=11.222.3.44
gkclient=true
port=2764
alias=99236264

[ep 99236265]
gkip=11.222.3.44
gkclient=true
port=2765
alias=99236265

[codecs 99236265]
gsm=true

На практике сейчас проверена работа свыше 100 устройств, обслуживаемых yate. Так же может быть для каждого h.323 устройства указаны свои кодеки, если какие-то настройки не указаны — используются глобальные значения. Маршрутизация через конкретный эндпоинт может быть осуществлена используя параметр line:

${module}^sip$=h323/\0;line=99236265

В завершении скажу, что для работы по h.323 протоколу, среди OpenSource разработок, последнее время я использую только Yate как конвертор протоколов h323<->sip. Надеюсь на открытие и новых сфер применения в ближайшее время.

Похожие сообщения:

автор igorg \\ теги: , , , ,