Константы, определяемые ядром OpenSER.
Значения констант, которые могут быть использованы в выражении ‘if’ для проверки значения Переменных сервера OpenSER.
INET
Эта константа может использоваться для проверки того, что SIP сообщение было принято по протоколу IPv4.Пример использования:
if(af==INET) { log("the SIP message was received over IPv4\n"); };
INET6
Эта константа может использоваться для проверки того, что SIP сообщение было принято по протоколу IPv6.Пример использования:
if(af==INET6) { log("the SIP message was received over IPv6\n"); };
TCP
Эта константа может использоваться для проверки значения, определенного в ‘proto’, на предмет того, принято ли SIP сообщение по протоколу TCP или нет.Пример использования:
if(proto==TCP) { log("the SIP message was received over TCP\n"); };
UDP
Эта константа может использоваться для проверки значения, определенного в ‘proto’, на предмет того, принято ли SIP сообщение по протоколу UDP или нет.Пример использования:
if(proto==UDP) { log("the SIP message was received over UDP\n"); };
max_len
Эта константа принимает значение максимального размера пакета данных для протокола UDP. Она может использоваться для проверки размера сообщения.Пример использования:
if(msg:len>max_len) { sl_send_reply("413", "message too large to be forwarded over UDP without fragmentation"); exit; }
myself
Константа ссылается на список локальных IP адресов, имен хоста и его алиасов, которые были заданы в файле конфигурации сервера OpenSER. Он содержит список доменов, которые обслуживает OpenSER.Эта константа может использоваться для проверки на наличие host части URI в данном списке. Основное назначение такой проверки - это то, как нам обрабатывать поступившее сообщение, локально или оно должно быть переправлено другому серверу.
См описание параметра ядра OpenSER “alias”, на предмет того, как добавить имена хостов,IP адреса и алиасы в этот список.
Пример использования:
if(uri==myself) { log("the request is for local processing\n"); };
null
Может использоваться для сброса значения переменной скрипта или для удаления avp.Пример использования:
$avp(i:12) = null; $var(x) = null;
Ссылки по теме
- OpenSER Документация (eng)
- Переменные OpenSER - Ключевые слова, экспортируемые ядром OpenSER.
- Параметры OpenSER - Параметры для ядра сервера OpenSER.
- Функции OpenSER - Функции ядра сервера OpenSER.
- Блоки маршрутизации OpenSER - Блоки маршрутизации сервера OpenSER.
- Конструкции OpenSER - Конструкции, используемые для конфигурации сервера OpenSER.
- Операторы OpenSER - Операторы, которые используются в конфигурации сервера OpenSER.
- SIP Express Router