Voipnotes
Услуги
  • 3CX Phone System
    • Купить IP АТС - 3CX Phone System
Ещё
    Задать вопрос
    +7 (499) 113-65-73
    Заказать звонок
    sale@voipnotes.ru
    г. Москва 2-й Михайловский проезд 9
    +7 (499) 113-65-73
    Заказать звонок
    Voipnotes
    Услуги
    • 3CX Phone System
      • Купить IP АТС - 3CX Phone System
      Voipnotes
      Услуги
      • 3CX Phone System
        • Купить IP АТС - 3CX Phone System
        Voipnotes
        Voipnotes
        • Услуги
          • Назад
          • Услуги
          • 3CX Phone System
            • Назад
            • 3CX Phone System
            • Купить IP АТС - 3CX Phone System
        • +7 (499) 113-65-73
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        • Главная
        • Блог
        • Протокол STUN часть 2

        Протокол STUN часть 2

        19 Августа 2014

        Протокол STUN позволяет SIP устройствам, работающим за NAT, узнать свой публичный IP адрес и порт. Поскольку SIP устройства используют протокол UDP в качестве транспортного протокола, поэтому протокол STUN широко используется в SIP сигнализации. Ниже мы увидим, примеры SIP запросов и ответов при использовании STUN сервера.

        Отправка SIP сообщений без использования протокола STUN

        Ниже приводится пример SIP сообщений типа REGISTER. SIP устройство, работает за NAT и пытается зарегистрироваться в качестве внутреннего номера 101 на IP-АТС (voipproducts.org – АТС находится за пределами локальной сети SIP устройства). SIP устройство не использует протокол STUN.

        REGISTER sip:voipproducts.org SIP/2.0
        Via: SIP/2.0/UDP 192.168.2.14:7214;branch=z9hG4bK-d8754z;rport
        Max-Forwards: 70
        Contact: :
        To: “account1″
        From: “account1″;tag=0a75d76e
        Call-ID: OTcxMDU5MGNhNTAxNzgzYjZkODVkY2I3MmE3NDhlNzQ.
        CSeq: 1 REGISTER
        Expires: 3600
        Content-Length: 0
        From the above we can see that:
        Contact:

        В поле “Contact” указан локальный IP адрес SIP устройства (192.168.2.14) и порт 7214. Таким образом, SIP устройство, указывает, что соединение необходимо установить с IP адресом 192.168.2.14 и портом 7214. Но IP-АТС, которая находится не в локальной сети SIP устройства, не сможет установить сеанс связи или отправить ответное SIP сообщение, т.к. IP адреса локальных сетей не маршрутизируются в сети Интернет.

        Использование STUN сервера

        Если SIP устройство использует STUN сервер, то SIP устройство отправляет запрос на STUN сервер и ждет от него ответа. Такой запрос обычно делается во время загрузки SIP устройства или прежде чем создать новое соединение. Ниже приводится пример ответа STUN сервера:

        Message Type: Binding Response(0×0101)
        Message Length: 0×0044
        Message Transaction ID: E753D76EA857A24DA38A229F7576E18E
        Attribute: MAPPED-ADDRESS
        Attribute Type: MAPPED-ADDRESS(0×0001)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 6023
        IP: 78.158.143.115 (78.158.143.115)
        Attribute: SOURCE-ADDRESS
        Attribute Type: SOURCE-ADDRESS(0×0004)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 3478
        IP: 10.252.131.113 (10.252.131.113)
        Attribute: CHANGED-ADDRESS
        Attribute Type: CHANGED-ADDRESS(0×0005)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 3479
        IP: 75.101.138.128 (75.101.138.128)

        Поясним представленный ответ STUN сервера:

        Message Type: Binding Response(0×0101)
        Message Length: 0×0044
        Message Transaction ID: E753D76EA857A24DA38A229F7576E18E
        Message type: Это поле указывается тип сообщения; в приведенном примере мы видим, что это ответ STUN сервера на запрос SIP устройства.
        Message Length: Это поле указывает длину сообщения в байтах.
        Message Transaction: В этом поле указывается уникальный идентификатор сообщения запрос/ответ STUN сервера. Для каждого нового запроса создается новый идентификатор.
        Attribute: MAPPED-ADDRESS
        Attribute Type: MAPPED-ADDRESS(0×0001)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 6023
        IP: 78.158.143.115 (78.158.143.115)

        Данный атрибут называется “MAPPED-ADDRESS”; его целью является, указать исходный IP адрес (из приведенного выше примера это 78.158.143.115) и порт источника (из приведенного выше примера это 6023). Эти данные STUN сервер передает SIP устройству.

        Attribute: SOURCE-ADDRESS
        Attribute Type: SOURCE-ADDRESS(0×0004)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 3478
        IP: 10.252.131.113 (10.252.131.113)

        Данный атрибут называется “SOURCE-ADDRESS”; его целью является обнаружение двойного NAT`а. Из представленного выше мы видим, что в данной конфигурации используется двойной NAT, потому что IP-адрес SIP устройства является 192.168.2.14, а публичный IP адрес, откуда был получен запрос с 78.158.143.115. IP адрес 10.252.131.113 использоваться не будет.

        Attribute Type: CHANGED-ADDRESS(0×0005)
        Attribute Length: 8
        Protocol Family: IPv4 (0×0001)
        Port: 3479
        IP: 75.101.138.128 (75.101.138.128)

        Данный атрибут называется “CHANGED-ADDRESS”; его цель состоит в том, чтобы указать на IP-адрес и порт, куда послать ответ, если клиент запросит “Change IP” и “Change Port” в атрибуте “CHANGE-REQUEST”.

        Отправка SIP сообщений с использованием протокола STUN

        Ниже приводится пример SIP сообщений типа REGISTER. SIP устройство, работает за NAT и пытается зарегистрироваться в качестве внутреннего номера 101 на IP-АТС (voipproducts.org – АТС находится за пределами локальной сети SIP устройства). SIP устройство использует протокол STUN.

        REGISTER sip:voipproducts.org SIP/2.0
        Via: SIP/2.0/UDP 192.168.2.14:7214;branch=z9hG4bK-d8754z;rport
        Max-Forwards: 70
        Contact:
        To: “account1″
        From: “account1″;tag=484b4e36
        Call-ID: YWI3Y2I3ODIzOWIxYWI5NDQwMzA5ZTYxMTAzOTM4Y2I.
        CSeq: 1 REGISTER
        Expires: 3600
        Content-Length: 0
        From the above we can see that:
        Via: SIP/2.0/UDP 192.168.2.14:7214

        SIP устройство по прежнему прослушивает порт 7214 и имеет IP адрес 192.168.2.14.

        Contact:

        В поле “Contact” SIP устройство меняет свой локальный IP адрес (192.168.1.14) на публичный IP адрес (78.158.143.115) и внешний порт (8676), полученные при помощи протокола STUN. Благодаря протоколу STUN, IP-АТС сможет подключится к SIP устройству, отправляя ответы на IP адрес 78.158.143.115 и 8676.

        Как показано выше, протокол SIP обычно используют протокол UDP, в качестве транспортного протокола, который является протоколом без установления соединения, протокол STUN играет очень важную роль, в оказании помощи SIP устройствам, работающим за NAT.

        Если вы в статье нашли ошибки или несоответствия, мы будем благодарны, если вы напишите нам о них в комментариях.


        Нужна консультация?

        Наши специалисты ответят на любой интересующий вопрос

        Задать вопрос
        Поделиться
        Назад к списку
        © 2021 Все права защищены.
        +7 (499) 113-65-73
        Заказать звонок
        sale@voipnotes.ru
        г. Москва 2-й Михайловский проезд 9
        Политика конфиденциальности
        Версия для печати
        © 2021 Все права защищены.
        Заказать звонок
        Написать сообщение