/cluster/adapter/<PA_SIP>/sip/properties/ - команды настройки параметров кластера SIP
В данном разделе приводится описание команд, которые используются для настройки параметров кластера протокол-адаптера SIP, в таблице 1 приведено их описание.
Таблица 1 - Описание параметров кластера протокол-адаптера SIP
Название параметра | Значение по умолчанию | Описание |
---|---|---|
alternative_server | undefined | Время перенаправления подписки в случае возникновения 302 ошибки по SIP. Если данная опция не указана, то 302 ошибка будет подменяться на 500. Для корректной работы опции, следует задать IP адрес |
dns_resolve_check_interval | 600 | Интервал периодического опроса DNS для оптимизации работы с именами хостов, в секундах |
dns_resolve_default_ttl | 3600 | TTL-адресов хостов, разрешенных DNS, в секундах |
expires_alternative_server | 10 | Время, в течении которого будет считаться alternative_server основным сервером, на который будут слаться подписки. |
release_ind_ack | false | Включает/выключает требование подтверждения ядром доставки сообщения ReleaseInd: - false - выключить; - true - включить. |
release_ind_ack_timeout | 2000 мс | Тайм-аут подтверждения ядром доставки сообщения ReleaseInd. |
setup_ind_ack_timeout | 5000 мс | Тайм-аут подтверждения ядром доставки сообщения SetupInd. |
stat_info_to_log_interval | 0 | Периодичность вывода информации в log-сообщения об использовании системных ресурсов, в секундах |
tcp_connect_timeout | 20 | Тайм-аут TCP-коннекции, мс. (Может принимать значения от 10 до 1000 мс) |
tcp_connection_idle_timeout | 300 | Timeout of idle tcp connection: 100..1000 (0.1..1 seconds). |
Использование параметров 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]