Операции, которые используются для конфигурации сервера OpenSER.


Начиная с версии 1.2.0, операции по присвоению значений переменных для строковых и числовых операций могут производиться непосредственно в файле конфигурации.


Операции присвоения.

Операции по присвоению переменной значения аналогичны языку C, оператор: ‘=’ (присвоение). Следующие псевдопеременные могут быть использованы в левой части операций присвоения:

  • AVP - для установки значения AVP.
  • переменные скрипта - для установки значения переменных скрипта.
  • $ru - для установки R-URI
  • $rd - для установки домена в R-URI
  • $rU - для установки пользовательской части R-URI
  • $du - для установки поля назначения URI
  • $var(a) = 123;


Операции со строками


Для строк можно использовать оператор ‘+’ для соединения двух подстрок в одну.

$var(a) = "test";
$var(b) = "sip:" + $var(a) + "@" + $fd;



Арифметические операции.


С числами можно производить следующие операции:

  • + : сложение.
  • - : вычитание.
  • / : деление.
  • * : умножение.
  • % : модуль числа.
  • | : побитовая операция OR.
  • & : побитовая операция AND.
  • ^ : побитовая операция XOR.
  • ~ : побитовая операция NOT.

Пример:

$var(a) = 4 + ( 7 & ( ~2 ) );

Обратите внимание: для гарантии приоритета выполнения операций при расчете выражения используются круглые скобки.

Арифметическое выражение может использоваться в операциях выполнения по условию, с использованием оператора проверки: ' [ ... ] ‘.
if( [ $var(a) & 4 ] )
    log("var a has third bit set\n");



Ссылки по теме

  • OpenSER Документация (eng)
  • Переменные OpenSER - Ключевые слова, экспортируемые ядром OpenSER.
  • Константы OpenSER - Константы, определяемые ядром OpenSER.
  • Параметры OpenSER - Параметры для ядра сервера OpenSER.
  • Функции OpenSER - Функции ядра сервера OpenSER.
  • Блоки маршрутизации OpenSER - Блоки маршрутизации сервера OpenSER.
  • Конструкции OpenSER - Конструкции, используемые для конфигурации сервера OpenSER.
  • SIP Express Router