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