| Версия 5.2
Введение
Установка
Администрирование
Сеть
Объекты
Почта
Сигналы
Доступ
Услуги
Справочник
Кластеры
Программы
Разное
Лицензирование
Веб Почта
Pronto!
PBX
Обзор | Правила | SIP | XMPP | ТФОП | NAT | Media | Parlay
# SIP Модуль Протокол Установления Сессии (SIP) Настройки SIP Сервера Настройки SIP клиента Внешние Шлюзы Поддержка работы Microsoft® Windows Messenger Поддержка работы Устройств SIP и Компенсации Маршрутизация Мониторинг Активности SIP В SIP Модуле CommuniGate Pro реализован SIP протокол, работающий по IP сетям. Модуль используется для приёма Запросов с Сигналами от удалённых участников и отправки Сигналов удалённым участникам. SIP протокол не включает в себя протоколы, необходимые для фактической передачи данных (протоколы передачи медиа). Вместо этого, SIP протокол позволяет всем участвующим сторонам находить друг друга в сети, договариваться об использовании протоколов передачи медиа и о параметрах этих протоколов, устанавливать интерактивные сессии реального времени и управлять этими сессиями: добавлять новых участников, закрывать сессии, изменять параметры сессии и т.д.

## Протокол Установления Сессии (SIP)

В SIP Модуле CommuniGate Pro реализована функциональность SIP протокола. Модуль использует TCP и UDP приёмники для приёма SIP запросов и отправки пакетов через эти сетевые протоколы. От также отправляет пакеты с запросами и откликами через сетевые протоколы TCP и UDP.

SIP модуль разбирает все получаемые SIP пакеты и использует субкомпоненты модуля для обработки разобранных пакетов. Пакеты с Запросами передаются в субкомпонент SIP Сервер, новой или существующей транзакции SIP Сервера.
Компонент SIP Сервер использует Модуль Signal для обработки запроса. Отклики, сгенерированные модулем Signal, поступают в транзакцию SIP Сервера и SIP Сервер отправляет их обратно источнику SIP запроса.

Модуль Signal может отправлять Запросы на удалённое SIP устройство или на удалённый SIP Сервер. Модуль использует субкомпонент SIP Клиент для создания транзакции SIP Клиента. Эта транзакция используется для отправки SIP Запроса через Интернет протокол и обработки посланного обратно Отклика.

Пакеты с SIP Запросом, получаемые SIP Модулем, поступают субкомпоненту SIP Сервер, а пакеты с SIP Откликами поступают субкомпоненту SIP Клиент; из этого правила есть два исключения:

- если не может быть найдено никакой транзакции для пакета с Откликом, то пакет ретранслируется "вверх" инициатору звонка SIP Модулем самостоятельно, без использования модуля Signal.
- если не может быть найдено никакой транзакции Сервера для Запроса ACK, то для дальнейшего ретранслирования от инициатора звонка "вниз" создаётся транзакция SIP Клиента.

SIP модуль CommuniGate Pro поддерживает коммуникации через UDP и TCP, а также безопасные (TLS) коммуникации через TCP протокол.

SIP модуль CommuniGate Pro поддерживает технологию ближнего и дальнего прохождения NAT, что делает возможным осуществление SIP коммуникаций как для больших корпораций со множеством внутренних локальных сетей, так и для домашних пользователей, выходящих в Интернет через "тупые" NAT устройства.

Схема установления сессии, описанная выше, работает корректно только если обе стороны осуществляют коммуникацию напрямую. Если между сторонами имеется межсетевой экран или NAT устройство, то прямое взаимодействие между ними невозможно. В этом случае, SIP модуль CommuniGate Pro осуществляет медиа проксирование, ретранслируя не только запросы и отклики SIP протокола, но также и медиа данные.

## Настройки SIP Сервера

Для того, что бы настроить параметры SIP модуля, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Real-Time, затем откройте страницу SIP.

Нажмите на ссылку Приём и откройте страницу с настройками SIP Сервера (UAS).

### Транспортный Уровень

На панели Транспортный Уровень вы можете настроить опции уровня сети для приёма SIP пакетов:

Транспортный Уровень
Уровень Журнала: |  | UDP Приёмник |
Предварительные Обработчики: |  | TCP Приёмник | Каналы: |
Ограничение на ждущих Обработки: |  | Тайм-аут по неактивности: |

`Уровень Журнала`
  Используйте эту настройку для того, что бы указать какую информацию о SIP пакетах и транспортном уровне SIP модуль должен сохранять в Журнале работы Сервера. Обычно используется уровень `Сбои` (только неразрешимые проблемы), уровень `Основные` (отчёты об установлении сессий) или уровень `Проблемы` (сбои, отчёты об установлении сессий и не фатальные ошибки).
  В случае, если в работе SIP модуля возникают проблемы, возможно, целесообразным будет увеличить детализацию до уровня `Подробности` или `Всё`: в этом случае в Журнал работы Сервера будут записываться содержимое пакетов и другие подробности. Когда проблема решена, верните настройку Уровень Журнала в её обычное значение, иначе Системный Журнал будет очень быстро увеличивать свой размер.
  Записи транспортного уровня модуля SIP в Журнале работы Сервера имеют пометку `SIPDATA`.
  Обычные SIP записи имеют пометку `SIP`.
`UDP`
  Для того, что бы настроить транспортный уровень UDP, нажмите на ссылку UDP `Приёмник`. Откроется страница UDP Приёмника. По умолчанию, номер порта SIP UDP имеет значение 5060.
`TCP`
  Для того, что бы настроить транспортный уровень TCP, нажмите на ссылку TCP `Приёмник`. Откроется страница TCP Приёмника. Вы можете задать как безопасные, так и незащищённые порты TCP. По умолчанию, незащищённый номер порта SIP TCP имеет значение 5060, а безопасный SIP TLS порт - 5061.
`Каналы`
  Используйте эту опцию для того, что бы указать максимальное число коммуникационных каналов TCP, которые может открывать модуль. При превышении этого числа, модуль будет отвергать все новые входящие TCP соединения.
`Тайм-аут по неактивности`
  Используйте эту опцию для того, что бы указать, когда SIP модуль должен закрывать коммуникационный канал TCP при отсутствии активности в этом канале. Это помогает сэкономить ресурсы, используемые для обслуживания коммуникационных каналов TCP на сильно загруженных серверах. С другой стороны, некоторые SIP клиенты могут работать неправильно в случае, если сервер закрывает TCP соединение по тайм-ауту.
`Предварительные Обработчики`
  Если эта опция установлена в ненулевое значение, то получаемые пакета не будут обрабатываться немедленно: они помещаются в специальную очередь и получающая нить немедленно становится готовой для получение новых пакетов. Эта опция задаёт число дополнительных нитей, который берут пакеты из очереди и обрабатывают их, отправляя из в SIP транзакции Сервер или Клиент.
`Ограничение на ждущих Обработки`
  Если пакеты не обрабатываются немедленно, а помещаются сначала в специальную очередь (смотрите выше), то эта опция ограничивает размер этой очереди. При достижении числа пакетов в очереди заданного лимита, новые пакеты игнорируются. В этой ситуации, возможно, вам потребуется увеличить число Предварительных Обработчиков.

### Клиентские Транзакции

На панели Серверные Транзакции вы можете указать каким образом SIP Модуль должен обрабатывать транзакции SIP сервер (UAS).

Серверные Транзакции
Уровень Журнала: | Процессоры: | Ограничение на Объекты: | Ограничение на События:

`Уровень Журнала`
  Используйте эту настройку для того, что бы указать какую информацию субкомпонент SIP Сервер должен сохранять в Журнале работы Сервера. Обычно используется уровень `Сбои` (только неразрешимые проблемы), уровень `Основные` (отчёты об установлении сессий) или уровень `Проблемы` (сбои, отчёты об установлении сессий и не фатальные ошибки).
  Записи, помещённые субкомпонентом SIP Сервер в Журнал работы Сервера, имеют пометку SIPS.
`Процессоры`
  Используйте эту настройку для указания числа нитей, используемых для обработки транзакций SIP Сервера.
`Ограничение на Объекты`
  Используйте эти настройки для задания максимального числа одновременно обслуживаемых серверных транзакций, которые может обрабатывать SIP модуль. При достижении этого числа, входящие SIP пакеты с новыми запросами будут игнорироваться.
`Ограничение на События`
  Используйте эту настройку для задания максимального числа необработанных событий, отправленных во все активные SIP транзакции сервера. При достижении этого числа, компонент SIP Сервер входит в режим перегрузки: никакие новые SIP транзакции не создаются и все входящие SIP пакеты с новыми запросами будут игнорироваться.

### Протокол

В компоненте сервер SIP Модуля реализована Аутентификация Запросов для удалённых клиентов. Если внутренний компонент Сервер отвергает Запрос по причине отсутствия данных аутентификации, то Модуль добавляет специальные поля в отправляемый отклик, помогающие проведению аутентификации.

Протокол
Объявлять 'Digest'-Аутентификацию | Объявлять 'NTLM'-Аутентификацию
Посылать '100 Trying' для не-INVITE запросов | Всегда Посылать '100 Trying' для INVITE запросов

`Объявлять 'Digest'-Аутентификацию`
  Выберите эту опцию для информирования SIP клиентов о поддержке стандартного метода аутентификации DIGEST.
`Объявлять 'NTLM'-Аутентификацию`
  Выберите эту опцию для информирования SIP клиентов о поддержке нестандартного метода аутентификации NTLM.

Имя пользователя, указанное в данных аутентификации, обрабатывается через компонент Маршрутизатор, так что в именах аутентификации могут использоваться Псевдонимы Пользователя, Переадресаторы и Псевдонимы Домена.
У указанного Пользователя и в его Домене Услуга `SIP` должна быть включена.

Для SIP аутентификации могут использоваться любые пароли Пользователей CommuniGate Pro.

Если для указанного Пользователя опция Пароль включена, то SIP модуль проверяет, задана ли для этого Пользователя настройка `SIPPassword`. Если она задана, то она будет использоваться вместо стандартной настройки `Пароль`. Это возможность позволяет Администратору устанавливать Пользователю дополнительный пароль, который будет использоваться только при проведении SIP аутентификации.

`Посылать '100 Trying' для не-INVITE запросов`
  Если эта опция включена и клиент перепосылает запрос, то SIP Модуль отправляет отклик 100 ("Trying") даже в том случае, если `INVITE` не был методом запроса.
`Всегда Посылать '100 Trying' для INVITE запросов`
  Если эта опция включена, то SIP модуль всегда отправляет отклик 100 ("Trying") до начала обработки запроса `INVITE`.

## Настройки SIP клиента

Для того, что бы настроить параметры SIP модуля, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Real-Time, затем откройте страницу SIP.

Нажмите на ссылку Передача и откройте страницу с настройками SIP Клиента (UAC).

### Транспортный Уровень

На панели Транспортный Уровень вы можете настроить опции уровня сети для передачи SIP пакетов:

Транспортный Уровень
Уровень Журнала: |  | Ограничение размера Запросов для UDP: | LAN: |
UDP TOS Тэг: |  | WAN: |
Использовать короткие имена полей: |  |

`Уровень Журнала`
  Используйте эту настройку для того, что бы указать какую информацию о SIP пакетах и транспортном уровне SIP модуль должен сохранять в Журнале работы Сервера.
  Эта то же настройка, что и отображаемая на странице настроек SIP Сервера Уровень Журнала Транспортного Уровня.
`Ограничение размера Запросов для UDP`
  Используйте эту опцию для того, что бы указать максимальный размер UDP пакета, который может быть отправлен внутри вашей локальной сети и наружу. Если SIP модулю необходимо доставить пакет и протокол не указан явно, то SIP модуль, если размер пакета не превышает заданное ограничение, использует UDP протокол. TCP протокол используется в последнюю очередь.
`UDP TOS Тэг`
  Используйте эту настройку для указания Тэга TOS для всех исходящих SIP UDP пакетов. Этот тэг может использоваться для задания приоритета SIP трафика в вашей локальной сети.
`Использовать короткие имена полей`
  Если эта опция включена, то все SIP пакеты (запросы клиента и отклики сервера) Сервер будет генерировать с использованием альтернативных (односимвольных) имён полей заголовка пакета. Возможно вы захотите включить эту опцию для уменьшения размера пакетов.

### Клиентские Транзакции

На панели Клиентские Транзакции вы можете указать, каким образом SIP Модуль должен обрабатывать транзакции SIP клиента (UAC).

Клиентские Транзакции
Уровень Журнала: | Процессоры: | Ограничение на Объекты: | Ограничение на События:

`Уровень Журнала`
  Используйте эту настройку для того, что бы указать какую информацию субкомпонент SIP Клиент должен сохранять в Журнале работы Сервера. Обычно используется уровень `Сбои` (только неразрешимые проблемы), уровень `Основные` (отчёты об установлении сессий) или уровень `Проблемы` (сбои, отчёты об установлении сессий и не фатальные ошибки).
  Записи, помещённые субкомпонентом SIP Клиент в Журнал работы Сервера, имеют пометку SIPC.
`Процессоры`
  Используйте эту настройку для указания числа нитей, используемых для обработки транзакций SIP Клиента.
`Ограничение на Объекты`
  Используйте эти настройки для задания максимального числа одновременно обслуживаемых клиентских транзакций, которые может обрабатывать SIP Модуль.
`Ограничение на События`
  Используйте эту настройку для задания максимального числа необработанных событий, отправленных во все активные SIP транзакции клиента. При достижении этого числа, компонент SIP Клиент входит в режим перегрузки и никакие новые SIP транзакции клиента не могут быть созданы.

### Протокол

Протокол
Всегда оставаться в Диалогах | Релеить на любой Сетевой Адрес: |
Посылать через: | Таймер B: |
Посылать P-Asserted-Identity |

`Всегда оставаться в Диалогах`
  Если эта опция выключена, то SIP Модуль участвует только в тех SIP диалогах, которые требуют его участия (например, для прохождения межсетевого экрана или NAT. Если эта опция включена, SIP модуль участвует во всех открываемых SIP диалогах. Эта возможность может использоваться для анализа и устранения неполадок, так как в Журнал работы Сервера записываются все подробности об транзакциях в диалогах.
`Релеить на любой Сетевой Адрес`
  Если этот опция установлена в значение `любой`, то SIP Модуль функционирует как Открытый Релей: он ретранслирует все SIP запросы любым получателям.
  Для предотвращения злоупотреблений вашим Сервером, разрешайте релеинг только для `клиентов` или установите эту опцию в значение `никто`.
  SIP Модуль будет отправлять Запросы если выполняется как минимум одно из условий:
  - адрес получателя перечислен в списке Сетевые Адреса Клиентов.
  - Запрос ретранслируется на устройства, зарегистрированные за Пользователем вашего Сервера.
  - Запрос сгенерирован локальным Узлом (таким как Задача PBX).
  - отправитель Запроса аутентифицирован вашим сервером.
  - Запрос получен от сетевого адреса имеющегося в списке Сетевые Адреса Клиентов (только если эта опция установлена в значение `клиенты`).

  Если никакое из этих условий не выполняется, то запрос отвергается с кодом ошибки 401 ("Authentication required").

`Посылать через`
  Включите эту опцию если вы хотите ретранслировать все исходящие пакеты через какой-либо внешний SIP сервер. Обратите внимание, что эта настройка не используется в случае адресов, которые были явным образом перенаправлены на внешние хосты с использованием суффикса .via или других методов маршрутизации.
`Таймер B`
  Эта опция управляет значением "Таймер B" (согласно RFC3261). Она контролирует максимальное время, которое транзакция типа INVITE будет ожидать первого отклика от вызываемой стороны.
  Хотя согласно стандарта она должна иметь значение 32 секунды, мы настоятельно рекомендуем понизить её до 5-10 секунд: если удалённый участник никак не отвечает в течении этого времени (не посылая даже отклик типа 100-Trying) то, вероятнее всего, он не функционирует и нет необходимости выжидать все 32 секунды для уведомления инициатора звонка.
  Понижение этого значения позволяет транзакции SIP клиента попробовать использовать другую SRV запись (если она есть): если же этот таймер имеет значение 32 секунды, то вызывающий абонент, вероятнее всего, прекратит соединение до попытки использования следующей SRV записи.
`Посылать P-Asserted-Identity`
  Если эта опция включена и отправитель запроса был аутентифицирован, то в SIP запрос добавляется поле `Посылать P-Asserted-Identity`. Поле содержит SIP URI с полным именем аутентифицированного Пользователя (`accountName@domainName`).

## Внешние Шлюзы

Возможно, вы захотите использовать Сервер CommuniGate Pro с внешними SIP Шлюзами. Внешние Шлюзы могут использоваться для ретранслирования звонков в телефонную сеть общего пользования (ТфОП) и для ретранслирования звонков из ТфОП на ваш Сервер. Эти услуги обычно предоставляются за плату и осуществление коммуникации с Внешними Шлюзами может требовать проведения аутентификации.
Вы также можете использовать Внешние Шлюзы если вам необходимо осуществлять коммуникацию с удалёнными SIP сетями, используя аутентификацию.

Обратите внимание: если вы используете собственный внутрифирменный шлюз в ТфОП, то обычно он настраивается на приём всех звонков из вашей локальной сети (так что ваш Сервер не должен использовать Аутентификацию для ретранслирования Сигналов на этот шлюз) и этот шлюз может быть настроен на направление входящих соединений на какого-либо Пользователя Сервера CommuniGate Pro (так что вам не надо регистрировать ваш Сервер на этом шлюзе). В таком случае вы можете задействовать шлюз в ТфОП не использую возможностей Внешних Шлюзов.

На панели Шлюзы вы можете задать настройки Шлюза:

Имя Шлюза: |  | Звонки: | Аутентификация: |
Домен: | Через: | Проксировать: |
Имя пользователя: |  | Заменять: | `From` `To`
AUTH-Имя: |  | Поле 'Contact': |
Пароль: |  | Регистрироваться раз в: |

`Имя Шлюза`
  Используйте эту настройку для присвоения внутреннего имени этому Внешнему Шлюзу. Вы сможете использовать это имя в записях Маршрутизатора для переадресации определённых звонков на этот Шлюз. Присвойте уникальное алфавитно-цифровое имя каждому используемому вами Внешнему Шлюзу.
`Домен`
  Используйте эту настройку для указания имени домена Внешнего Шлюза.
`Через`
  Используйте эту настройку если запросы для этого Внешнего Шлюза не должны отправляться на сетевые адреса, связанные с именем Домена Шлюза (например, запросы, посылаемые в этот Шлюз, должны быть отправлены через какой-либо прокси).
  Эта настройка позволяет вам указать альтернативное имя домена (DNS), IP адрес или полный SIP URI.
`Имя пользователя`
  Используйте эту настройку для указания имени, которое будет использоваться для регистрации и (дополнительно) для звонков через этот Внешний Шлюз.
  Если значение не содержит символа `@`, то к нему будет добавлено значение из настройки Домен для формирования полного имени пользователя.
`Пароль`
  Используйте эту настройку для указания пароля, используемого при работе с Внешним Шлюзом.
`AUTH-Имя`
  Указывайте эту настройку только имя аутентификации Внешнего Шлюзе не совпадает с Именем Пользователя.
`Регистрироваться раз в`
  Используйте эту настройку для указания частоты отправления SIP Модулем Запросов REGISTER на этот Внешний Шлюз.
`Поле 'Contact'`
  Используйте эту настройку для указания адреса, зарегистрированного на Внешнем Шлюзе. Когда шлюз получает входящий звонок, он отправляет Сигнал с Запросом звонка на указанный адрес.
  Этот адрес Contact обычно является Пользователем на вашем Сервере, от имени которого запущено Приложение Реального Времени "авто-секретарь", отвечающее на эти звонки и направляющее их на других Пользователей вашего Сервера.
`Звонки: Аутентификация`
  Если эта опция не выключена, то ко всем запросам звонка `INVITE`, отправляемых на этот Внешний Шлюз, добавляется поле заголовка аутентификации (`Authorization` или `Proxy-Authorization`). Модуль использует тот же "код" ("nonce") для проведения аутентификации, что фигурировал в последнем запросе REGISTER, отправленном Шлюзу, так что убедитесь, что период времени, заданный в опции "Регистрироваться раз в" короче "времени жизни" "кода" для этого Внешнего Шлюза.
`Звонки: Заменять From`
  Когда выбрана эта опция, то адреса From (имя и адрес вызывающего абонента) в запросах звонка (`INVITE`) заменяется на Имя Пользователя (маскировка вызывающего абонента).
`Звонки: Заменять To`
  Когда выбрана эта опция, то адреса To (имя и адрес вызываемого абонента) в запросах звонка (`INVITE`) заменяется на URI Сигнала запроса (после удаления номера порта URI и параметров URI).

Для того, что бы создать новый Внешний Шлюз, введите его Имя в последнем пустом элементе таблицы и нажмите кнопку Модифицировать.

Для того, что бы удалить Внешний Шлюз, введите пустую строку в поле с его названием и нажмите кнопку Модифицировать.

Для того, что бы отправлять запросы с Сигналами на Внешний Шлюз, вам нужно задать записи в Маршрутизаторе.

Пример 1.
  Все звонки на `1number@main_domain` должны перенаправляться на Шлюз `Provider1` как запросы на вызов `number`
  Все звонки на `+1number@main_domain` должны перенаправляться на Шлюз `Provider1` как запросы на вызов `number`
  все звонки на `+number@main_domain` (где number не начинается с 1) должны перенаправляться на Шлюз `IntlProvider` как запросы на вызов `011number`
  все звонки на `011number@main_domain` должны перенаправляться на Шлюз `IntlProvider` как запросы на вызов `011number`
  все звонки на `9number@main_domain` должны перенаправляться на Шлюз `LocProvider1` как запросы на вызов `415number`

  Используйте следующие записи Маршрутизаторе:

      NoRelay:Signal:<1*>   = *@Provider1.sipgw
      Signal:<+1*>  = *@Provider1.sipgw
      Signal:<+*>   = 011*@IntlProvider.sipgw
      Signal:<011*> = 011*@IntlProvider.sipgw
      Signal:<9*>   = 415*@LocProvider.sipgw

## Поддержка Продуктов Microsoft® Windows

В продуктах Microsoft "RTC" (включая Windows Messenger) используется стандартный SIP протокол для аудио и видео сессий.
Эти клиенты используют собственные расширения SIP протокола для Мгновенных Сообщений, Статуса Присутствия, Удалённого Помощника и других сервисов. Для поддержки этих приложений в CommuniGate Pro также реализованы необходимые расширения.

Windows Messenger поддерживается начиная с версии 5.0.

В SIP модуле CommuniGate Pro опция "Объявлять 'NTLM'-Аутентификацию" должна быть включена.

В Windows Messenger для аудио и видео сессий используются стандартные RTP медиа протоколы и эти сессии могут устанавливаться через межсетевые экраны и/или NAT.
В Windows Messenger для обмена Мгновенными Сообщениями используется SIP протокол для передачи медиа и сессии по обмену Мгновенными Сообщениями также могут устанавливаться через межсетевые экраны и/или NAT.
В сессиях Windows Messenger "Общая доска", Общие Приложения и Удалённый Помощник используется T.120 и другие нестандартные протоколы, и эти сессии могут устанавливаться через межсетевые экраны и/или NAT.
В сессиях передачи файлов Windows Messenger используется нестандартный протокол и в настоящее время такие сессии не могут устанавливаться через межсетевые экраны и/или NAT.

## Поддержка работы Устройств SIP и Компенсации

Во многих из имеющихся в настоящее время SIP устройств и SIP приложений неверно реализованы различные аспекты SIP протокола.
SIP Модуль CommuniGate Pro пытается скомпенсировать некоторые из таких недоработок и ошибок, основываясь на типе соединённого с ним SIP устройства.

Для того, что бы настроить Компенсации SIP, используйте Веб Интерфейс Администратора. Откройте в области Установки страницу Real-Time, затем откройте страницу SIP. Нажмите на ссылку Компенсации. Появится таблица Компенсации:

Проблемы/Ошибки
Имя Программы | Microsoft | SubPresence | FixContacts | NoTCP | NoMaddr | NoPath | BadByeAuth | NeedsEpid | NoSubMWI
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

Для того, что бы задать компенсации для конкретных продуктов, введите имя продукта в последний пустой элемент Таблицы, выберите требуемые компенсации и нажмите на кнопку Модифицировать.

Для того, что бы удалить конкретный продукт, удалите его имя из таблицы и нажмите на кнопку Модифицировать.

Подобные таблицы существуют для удалённых сайтов:

Проблемы/Ошибки
Имя Программы | Microsoft | SubPresence | FixContacts | NoTCP | NoMaddr | NoPath | BadByeAuth | NeedsEpid | NoSubMWI
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---

Когда SIP Модуль должен ретранслировать запрос с Сигналом удалённому адресату, он применяет методы компенсации, заданные для URI домена из запроса наряду с методами, заданными для URI домена - получателя.

В настоящее время реализованы следующие методы компенсаций:

`Microsoft`
  Участник импользует клиента Microsoft. Сообщения протокола подписывается, а также обрабатываются другие отклонения от SIP протокола.
`SubPresence`
  Клиент поддерживает Статус Присутствия, но в нём не реализован "проталкивающий" Агент Статуса Присутствия (`Publish`). Сервер будет отправлять запросы `SUBSCRIBE` для мониторинга статуса Присутствия.
`noTCP`, `noMaddr`
  Клиент не поддерживает параметры Contact `transport` и/или `maddr`. Сервер будет изменять данные Contact, отправляемые такому клиенту.
`noPath`
  Клиент не поддерживает RFC3327 (поле `Path`).
  Сервер будет изменять данные Contact, отправляемые такому клиенту.
`badByeAuth`
  Клиент неверно вычисляет дайджест Аутентификации для non-INVITE запросов (`BYE`, `NOTIFY`, `REFER`).
`NeedsEpid`
  Клиент использует нестандартный параметр `epid=` в полях From/To URI и не может работать если кто-либо из участников диалога не сохраняет эти нестандартные параметры.
`NoSubMWI`
  Клиент поддерживает набор Событий "Сводка о Сообщениях" (в нём реализована MWI - Индикация Ожидающих Сообщений), но он не умеет отправлять запросы SUBSCRIBE для активации этого сервиса.
  Сервер будет подписывать такого клиента при регистрации.

На этом Веб Сайте находится периодически обновляемый документ, в которым перечислены протестированные SIP клиенты, обнаруженные проблемы и известные способы их решения.

## Маршрутизация

SIP модуль сразу же (при первом вызове Маршрутизатора) принимает все адреса сигналов с IP адресами вместо доменов, то есть с именами домена типа `[xx.yy.zz.tt]`. Пожалуйста, обратите внимание, что Маршрутизатор добавляет квадратные скобки к IP тех адресов имён домена, которые не имеют их, а так же изменяет IP адреса локальных доменов на их имена. Маршрутизатор выполняет эти операции до вызова модулей.

SIP модуль сразу же принимает все адреса сигналов с именами доменов, оканчивающимися на суффикс `.sipgw`. Остальные имена доменов должны указывать имя Внешнего Шлюза и тогда Сигналы будут направляться на этот Внешний Шлюз.

В финальном вызове, SIP модуль принимает сигналы для любого домена, если в имени этого домена содержится как минимум один символ точка (`.`). Если выбрана опция Посылать через, то все эти адреса перенаправляются на заданный в этой опции домен.

До принятия адреса SIP модуль проверяет, не содержит ли адрес вместо символа `@` один или несколько символов `%`. В этом случае меняется самый правый символ `%` изменяется на символ `@`.

Если имя домена назначения содержит суффикс `.udp`, `.tcp` или `.tls`, то используется соответствующий транспортный протокол, а сам суффикс удаляется из имени этого домена.

## Мониторинг Активности SIP

В области Наблюдение через Веб Интерфейс Администратора можно наблюдать за активностью SIP модуля. Страница Наблюдения за SIP модулем имеет две части: страница, отвечающая за приём (Сервер) и страница, отвечающая за передачу (Клиент).

На странице SIP Приём отображаются активные транзакции SIP Сервера:

| Показано 2 из 2

ID | Состояние | Соб. | Фаза | От кого | Кому |
--- | --- | --- | --- | --- | --- | ---
38984 | waiting (15s) | 0 | completed | udp[10.10.0.226:59645] | SIGNAL-40726 | OPTIONS sip:ns.communigate.com
38994 | waiting (7s) | 0 | completed | tcp[10.0.14.193:24777] | SIGNAL-40734 | MESSAGE sips:user@communigate.com

На странице SIP Передача отображаются активные транзакции SIP Клиента:

| Показано 2 из 2

ID | Состояние | Соб. | Фаза | От кого | Кому |
--- | --- | --- | --- | --- | --- | ---
35184 | waiting (2m) | 0 | provisioned | SIGNAL-40726 | udp[10.0.1.34:5060] | INVITE sip:user@10.0.1.34:5060
35188 | waiting (7s) | 0 | request sent | SIGNAL-40732 | udp[10.0.1.34:5060] | MESSAGE sips:user@communigate.com

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.