Подключение Oktell по протоколу H.323

Вы прекрасно знаете, что Oktell не поддерживает протокол H.323, только SIP. А мне вот нужно подключить к нему именно H.323! Некоторые скажут: купи шлюз или поставь Asterisk. Для Aterisk нужен отдельный Linux сервер, а шлюз еще нужно поискать и купить… Будем делать все на том же сервере где и Oktell с помощью YATE.

Для начала нам нужно собрать на Windows библиотеку OpenH323. Для этого нам понадобится MS Visual Studio 2003 .NET и вот такой набор:

1. Создаем директорию: C:\TOOLS, куда копируем GNU bison:
В C:\TOOLS» лежат «FLEX.EXE», «BISON.EXE», и в «C:\TOOLS\SHARE» у нас «BISON.SIMPLE», «BISON.HAIRY»
В среде VS.net, выбираем «Options» из меню «Tools» и добавляем » C:\TOOLS» в executable directory.

2. Устанавливаем pwlib-v1_11_0 в C:\TOOLS\PWLIB\ и пропишем путь в VS.net:

C:\TOOLS\PWLIB\INCLUDE — Include directory
C:\TOOLS\PWLIB\LIB — Executable directory
C:\TOOLS\PWLIB\LIB — Library directory

3. Запускаем VS.net и открываем проект C:\TOOLS\PWLIB\PWLIB.SLN. Переводим его в RELEASE и начинаем сборку в такой последовательности:

  1. Console
  2. Console Components
  3. PTLib

4. Устанавливаем openh323-v1_19_0_1 в C:\TOOLS\PWLIB\ и пропишем путь в VS.net:

C:\TOOLS\OPENH323\INCLUDE — Include directory
C:\TOOLS\OPENH323\LIB — Executable directory
C:\TOOLS\OPENH323\LIB — Library directory

5. Запускаем VS.net и открываем проект C:\TOOLS\OPENH323\OPENH323.SLN. Переводим его в RELEASE и начинаем сборку в такой последовательности:

  1. OpenH323Lib
  2. OpenH323dll

После этого можем собирать нужные кодеки.

6. Качаем и устанавливаем YATE на том же сервере с Oktell.

7. Конфигурация YATE.

h323chan.conf

[general]
external_rtp=yes
passtrough_rtp=yes

[codecs]
default=no
mulaw=yes
alaw=yes
g723=on
g729=on

[ep]
faststart=on

ysipchan.conf

[general]
port=5070 ;изменяем стандартный порт

[codecs]
default=off
mulaw=yes
alaw=yes
g723=yes

regexroute.conf

[default]
${rtp_forward}possible=;rtp_forward=yes
${formats}^\([^,]*\)=;formats=\1
${module}^sip$=h323/${called}@10.10.10.3
${module}^h323$=sip/sip:${called}@10.10.10.1
.*=-;error=forbidden;reason=Protocol not allowed

Теперь весь H.323 трафик с 10.10.10.3 пойдет на SIP 10.10.10.1, а SIP с 10.10.10.1 на H.323 на сервере 10.10.10.3.

8. Переходим к серверу Oktell и создаем внешний шлюз без регистрации на 10.10.10.1:5070

9. Можно звонить! 🙂

8 комментариев on "Подключение Oktell по протоколу H.323"


  1. есть куча софтсвечей которые это делаю гораздо быстрей и проще. А тащить yate для этой задаче,извините, но глупо. Если только ради прикола


  2. Возможно, глупо! 🙂 Но, чем YATE с отключенными всеми другими модулями не softswitch? Пока прикол удался и работает…

    У меня не было времени поискать, попрошу Вас, если не сложно, выложить линки на другие softswitch, которые работают под Windows и подойдут для этой задачи. Буду рад их протестить…



  3. Получается подобным образом можно решить проблемы nat у oktell’a?
    Поделитесь опытом:)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.