Дополнительные параметры SIP протокола
Версия от 11:16, 19 июля 2018; 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;
- 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 мс, и т.д. Используется в случаях, когда неверно работает телефония при одновременном ответе нескольких сценариев. По умолчанию, ответ на входящий звонок выполняется без ожидания.
Помимо указания параметров в реестре их можно (предпочтительно) указать в строке открытия устройства в виде:
<имя параметра>=<значение>; например: SIP\SIP;BindToAddress=192.168.0.1;