В данном разделе приводится описание команд, которые используются для настройки параметров кластера протокол-адаптера SIP, в таблице 1 приведено их описание.

Таблица 1 - Описание параметров кластера протокол-адаптера SIP

Название параметраЗначение по умолчаниюОписание
alternative_serverundefinedВремя перенаправления подписки в случае возникновения 302 ошибки по SIP. Если данная опция не указана, то 302 ошибка будет подменяться на 500. Для корректной работы опции, следует задать IP адрес
dns_resolve_check_interval600Интервал периодического опроса DNS для оптимизации работы с именами хостов, в секундах
dns_resolve_default_ttl3600TTL-адресов хостов, разрешенных DNS, в секундах
expires_alternative_server10Время, в течении которого будет считаться alternative_server основным сервером, на который будут слаться подписки.
release_ind_ackfalseВключает/выключает требование подтверждения ядром доставки сообщения ReleaseInd:
- false - выключить;
- true - включить.
release_ind_ack_timeout2000 мсТайм-аут подтверждения ядром доставки сообщения ReleaseInd.
setup_ind_ack_timeout5000 мсТайм-аут подтверждения ядром доставки сообщения SetupInd.
stat_info_to_log_interval0Периодичность вывода информации в log-сообщения об использовании системных ресурсов, в секундах
tcp_connect_timeout20Тайм-аут TCP-коннекции, мс. (Может принимать значения от 10 до 1000 мс)
tcp_connection_idle_timeout300Timeout of idle tcp connection: 100..1000 (0.1..1 seconds).
Не рекомендуется без необходимости изменять параметры, описанные в таблице 1.

Использование параметров dns_resolve_check_interval, dns_resolve_default_ttl, stat_info_to_log_interval в ECSS-10

При получении инициирующего запроса, такого как INVITE, REGISTER, SUBSCRIBER, SIP-адаптер проверяет RURI на соответствие своему хосту.
Доменное имя хоста в RURI может быть не прописано явным образом. Для проверки соответствия имени хоста IP-адресу протокол-адаптера SIP выполняется DNS-запрос. Процедура обращения к DNS-серверу вносит задержки, что в свою очередь ведет к задержке ответа, перепосылкам запросов и дополнительной нагрузки на сеть и хосты.
Для оптимизации работы на SIP-адаптере реализована локальная таблица соответствия адресов. В таблицу заносятся результаты запросов IP-адресов по доменным именам, прописанным на адаптере, и доменных имен по IP-адресам. Также вносятся результаты по адресам из входящих SIP-запросов.

Алгоритм работы:

Если при получении запроса адрес в RURI не соответствует списку разрешенных, то выполняется поиск соответствия в локальной таблице. См. /cluster/adapter/<PA_SIP>/sip/ - команды управления кластером протокола адаптера SIP

Если соответствие не установлено, то выполняется стандартный DNS-запрос.
Если получен полноценный ответ с указанием TTL, то он сохраняется в локальную таблицу. Если нет, то используется настроенный на SIP-адаптере TTL (dns_resolve_default_ttl).
При последующих обращениях по данному адресу время последнего запроса обновляется.
Периодически таблица проверятся с интервалом "dns_resolve_check_interval". При этом сначала определяется время с последнего обращения к записи. Если период времени превысил TTL, то запись из таблицы удаляется. Если нет, выполняется новый DNS-запрос (в отдельном процессе, на рабочие запросы не влияет).
При смене периода перепроверки выполняется внеочередной DNS-запрос, от которого начинается новый отсчет времени.

set

Настройка свойств кластера протокол-адаптера SIP.

Путь команды:

/cluster/adapter/<CLUSTER>/sip/properties/set

Синтаксис:

set <FIELD> <VALUE>

Параметры:

<CLUSTER> - имя кластера протокол-адаптера SIP;
<FIELD> - имя параметра, значение которого необходимо изменить. Описание свойств приведено в таблице 1;
<VALUE> - новое значение параметра, возможные значения приведены в таблице 1.

Пример:

admin@[mycelium1@ecss1]:/$ cluster/adapter/sip1/sip/properties/set dns_resolve_check_interval 900
Property "dns_resolve_check_interval" successfully changed from: 
600
   to
900.

[exec at: 21.01.2019 10:51:03, exec time: 209ms, nodes: sip1@ecss1]

clean

Командой устанавливается значение по умолчанию для заданного параметра кластера протокол-адаптера SIP.

Путь команды:

/cluster/adapter/<CLUSTER>/sip/properties/clean

Синтаксис:

clean [<FIELD>]

Параметры:

<CLUSTER> - имя кластера протокол адаптера SIP;
<FIELD> - свойство, для которого устанавливается значение по умолчанию. Опциональный параметр. Если не указывать данный параметр, то значения по умолчанию будут восстановлены для всех свойств кластера протокол адаптера SIP.

Пример:

admin@[mycelium1@ecss1]:/$ cluster/adapter/sip1/sip/properties/clean dns_resolve_check_interval 
Property dns_resolve_check_interval values successfully restored

[exec at: 21.01.2019 11:01:17, exec time: 200ms, nodes: sip1@ecss2]

info

Команда просмотра настроек свойств кластера протокол адаптера SIP.

Путь команды:

/cluster/adapter/<CLUSTER>/sip/properties/info

Синтаксис:

info [<FIELD>]

Параметры:

<CLUSTER> - имя кластера протокол адаптера SIP;
<FIELD> - имя параметра, опциональный параметр. Если параметр не указывать, будет показана информация по всем параметрам кластера протокол адаптера SIP.

Пример:

admin@[mycelium1@ecss1]:/$ cluster/adapter/sip1/sip/properties/info         
┌───────────────────────────┬─────────┐
│         Property          │  Value  │
├───────────────────────────┼─────────┤
│alternative_server         │undefined│
│dns_resolve_check_interval │600      │
│dns_resolve_default_ttl    │3600     │
│expires_alternative_server │10       │
│release_ind_ack            │false    │
│release_ind_ack_timeout    │2000     │
│setup_ind_ack_timeout      │5000     │
│stat_info_to_log_interval  │0        │
│tcp_connect_timeout        │20       │
│tcp_connection_idle_timeout│300      │
└───────────────────────────┴─────────┘

[exec at: 21.01.2019 09:54:00, exec time: 100ms, nodes: sip1@ecss2]