Дополнительные параметры SIP протокола

Материал из Call Office Wiki
Версия от 08:53, 15 августа 2022; Jugin (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Call Office позволяет указывать дополнительные параметры протокола SIP. Параметры указываются в 32-битной версии реестра в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Wentor\Call Office\SIP (если раздел не существует, его нужно просто создать). В этом разделе можно указывать следующие параметры:

  • BindToAddress (строка) - указать ip-адрес интерфейса через который нужно отправлять запросы к SIP-шлюзу. Эта возможность необходима, если на вашем компьютере несколько ip-адресов и запросы к SIP-шлюзу нужно отправлять через указанный адрес.
  • StunServer (строка) - позволяет задать имя STUN-сервера. STUN-сервера используются для автоматического определения топологии сети. Это позволяет автоматически определить маршрут до SIP-шлюза через сетевые устройства различного вида (NAT, шлюзы, маршрутизаторы). Этот параметр следует указывать, если программа не получает ответа от SIP-сервера. В качестве значения можно указать общедоступный STUN-сервер: stun.ekiga.net.
  • UserId (строка) - позволяет задать имя пользователя User ID, в случае, если он отличается от Auth ID. Перекрывается параметром LineURL.
  • CallerId (строка) - позволяет указать имя/номер телефона (Display Name) для исходящих звонков. Перекрывается параметром LineURL и функцией SetCallerId.
  • LineURL (строка) - позволяет задать идентификационную информацию клиента в стандартном виде: "<CallerId>" <sip:<user>@<ip>;transport=UDP>. Перекрывает параметр UserId и CallerId.
  • CallerIdExtract (DWORD) - способ извлечения номера абонента из строки удаленного адреса ("DisplayName" <sip:UserId@IP-адрес шлюза>):
    • 0 - извлекается DisplayName если есть, если его нет, извлекается UserId, если его нет возвращается вся строка удаленного адреса (по умолчанию);
    • 1 - извлекать только DisplayName;
    • 2 - извлекать только UserId;
    • 3 - извлекать только всю строку удаленного адреса;
  • Proxy (строка) - позволяет указать адрес прокси-сервера.
  • TCPPort (DWORD) - позволяет указать номер порта TCP (-1 - запретить использование порта, -2 - автоматически выбрать порт (по умолчанию)).
  • UDPPort (DWORD) - позволяет указать номер порта UDP (-1 - запретить использование порта, -2 - автоматически выбрать порт (по умолчанию)).
  • EnableDNS (DWORD) - использование DNS (0 - запрещено, 1 - разрешено (по умолчанию)).
  • UseRport (DWORD) - позволяет указать использование rport (0 - запрещено, 1 - разрешено).
  • KeepAliveTime (DWORD) - ненулевое значение включает отправку запросов поддержки соединения. Время между посылками запросов указывается в секундах (по умолчанию отправка запросов выключена). Тип запросов определяется параметром KeepAliveType, если не указан используется тип 2.
  • KeepAliveType (DWORD) - тип отправки запросов поддержки соединения:
    • 0 - отправка символов CR/LF;
    • 1 - отправка запроса STUN;
    • 2 - отправка запроса PING протокола SIP;
    • 3 - отправка запроса OPTIONS протокола SIP;
  • InboundDTMFMode (DWORD) - способ определения входящих (DTMF) тональных сигналов. Значение по умолчанию 7 - включены все способы определения тональных (DTMF) сигналов. Определяется комбинацией битовых флагов:
    • 0x01 - включено/выключено определение тональных сигналов во входящем аудиопотоке (inband);
    • 0x02 - включено/выключено определение тональных сигналов переданных по протоколу RFC2833;
    • 0x04 - включено/выключено определение тональных сигналов переданных в сообщении INFO протокола SIP;
  • TonesPayLoadType (DWORD) - позволяет указать PayLoadType для тональных сигналов. По умолчанию PayLoadType = 101.
  • WaitForAnswer (DWORD) - позволяет включить программное распознавание голосового ответа абонента (0 - выключено, 1 - включено). Некоторые SIP-шлюзы сигнализируют о том, что абонент снял трубку сразу после набора номера. Как правило, это связано с особенностями настройки шлюза или его подключения к телефонной сети. В этом случае программа всегда будет определять, что трубка снята, сразу после набора номера, не дожидаясь реального ответа абонента. Лучшим способом решить эту проблему является правильное подключение или настройка шлюза, но в некоторых случаях это невозможно. Именно для таких случаев и предназначен этот параметр. При ненулевом значении, после набора номера программа будет определять ответ абонента программным способом.
  • AudioCodec (строка) - позволяет задать аудио кодеки и порядок их использования. Кодеки задаются в виде строки разделенной запятыми, например: pcma,pcmu,speex,gsm.
  • Register (DWORD) - позволяет запретить регистрацию на сервере (отправку команды REGISTER). (0 - регистрация выключена, 1 - регистрация включена). По умолчанию, включено.
  • RegisterExpiration (DWORD) - позволяет установить интервал времени в секундах через который будет осуществляться отправка команды перерегистрации на SIP-сервере (отправляться команд REGISTER). Используется для восстановления регистрации на SIP-сервере в случае нестабильных каналов связи.
  • WaitBeforeAnswer (DWORD) - позволяет указать (в мс) время задержки перед ответом на входящий звонок. Если использовать отрицательное значение, время ожидания будет увеличено на указанное значение для каждого потока выполняющего ответ на входящий звонок по формуле n*(-WaitBeforeAnswer), где n - номер потока, готовый ответить на входящий звонок. Например, если указано WaitBeforeAnswer=-150;, это означает, что время ожидания перед ответом на звонок для первого потока - 0 мс, второго потока - 150 мс, третьего потока - 300 мс, четвертого потока - 450 мс, и т.д. Используется в случаях, когда неверно работает телефония при одновременном ответе нескольких сценариев. По умолчанию, ответ на входящий звонок выполняется без ожидания.
  • BlindTransferTimeout (DWORD) - позволяет указать (в мс) время ожидания при переключении на другой номер телефона (blind transfer). По умолчанию 40000 мс..

Помимо указания параметров в реестре их можно (предпочтительно) указать в строке открытия устройства в виде:

 <имя параметра>=<значение>;
 например: SIP\SIP;BindToAddress=192.168.0.1;