Константы, определяемые ядром 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