Подключение 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 Comments on "Подключение Oktell по протоколу H.323"


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


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

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



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

Leave a Reply

Your email address will not be published. Required fields are marked *