Настройка kamailio за NAT

Установка и настройка kamailio осуществляется при помощи скрипта kamailio-install. Изменения скрипта предусматривают вариант, когда сервер Videomost с kamailio расположен за NAT, однако, по завершении работы скрипта, необходимо проверить следующие настройки:

  • В файле /etc/hostname пропишите доменное имя сервера.
  • В файле /etc/host пропишите соответствие доменного имени сервера и его внутреннего IP-адреса.
  • Убедитесь, что в файле /etc/kamailio/kamailio.cfg, секция !ifdef WITH_NAT, параметр listen прописаны внутренний и внешний IP-адрес сервера.
  • #!ifdef WITH_NAT
    listen=udp:ip_int:5060
    listen=tcp:ip_int:5060

    listen=udp:ip_int:5060 advertise ip_ext:5080
    listen=tcp:ip_int:5060 advertise ip_ext:5080
    #!endif

    Здесь и далее ip_int - внутренний IP-адрес, ip_ext - внешний IP-адрес.

    Порт может для ip_ext может быть любым отличным от значения ip_int и совпадать со значением порта заданным в п.7 данной статьи.

  • Убедитесь, что в файле /etc/rtpengine/rtpengine.cfg прописан внешний и внутренний IP-адрес сервера.
  • [rtpengine]
    table = -1
    interface = ip_int!ip_ext
    listen-udp = 127.0.0.1:7722
    timeout = 60
    silent-timeout = 3600
    tos = 184
    port-min = 3000
    port-max = 500

  • Приведите файл /etc/default/ngcp-rtpengine-daemon к виду:
  • RUN_RTPENGINE=yes

    CONFIG_FILE=/etc/rtpengine/rtpengine.conf

    PIDFILE=/var/run/ngcp-rtpengine-daemon.pid

    MANAGE_IPTABLES=no

    TABLE=-1

  • Убедитесь, что в файле /usr/share/jconfsrv/conference-srv.xml определены параметры:
  • sip-media-spoofing - заданы внешний и внутренний IP-адрес;
    xmpp-stun - задан stun-сервер

    Например:

    sip-media-spoofing="ip_extxip_int" xmpp-stun="stun.l.google.com:19302"

    Обратите внимание, что значения ip_ext и ip_int разделены знаком x.

    Для более стабильной работы необходимо указать публичный или иной доступный stun сервер, территориально расположенный максимально близко к рабочему серверу. Список публичных серверов можно посмотреть здесь http://olegh.ftp.sh/public-stun.txt (взято из статьи https://en.wikipedia.org/wiki/STUN).

  • В панели администратора должно быть указано значение настройки adm_sip_builtin_domain в формате: доменное.имя.сервера:5080
  • В панели администратора должна быть активирована настройка adm_sip_builtin_allow
  • На сервере должна быть активирована лицензия с параметром Поддержка SIP-протокола