http://www.kamailio.org/wiki/cookbooks/5.0.x/pseudovariables#tu_-_to_uri
Псевдопеременные могут использоваться со многими модулями, среди них:
Предопределенные псевдопеременные перечислены в алфавитном порядке.
$$ - маркер псевдопеременной
$$ - представляет символ '$'
$_s(format) — Оценить динамический формат
$_s(format) - возвращает строку после оценки всех псевдопеременных в формате
$var(x) = "sip:" + $rU + "@" + $fd;
# эквивалентно:
$var(x) = $_s(sip:$rU@$fd);
$ai — заголовок URI inP-Asserted-Identity
$ai — ссылка на URI в заголовке запроса P-Asserted-Identity (см. RFC 3325)
$adu — URI дайджеста аутентификации
$adu — URI из заголовка Authorization или Proxy-Authorization. Этот URI используется при расчете ответа HTTP Digest.
$aa - Алгоритм аутентификации
$aa - алгоритм из заголовка Authorization или Proxy-Authorization.
$ar - область аутентификации
$ar - область из заголовка Authorization или Proxy-Authorization
$au - Имя пользователя авторизации
$au - пользовательская часть имени пользователя из заголовка Authorization или Proxy-Authorization
$ad — домен авторизации пользователя
$ad - доменная часть имени пользователя из заголовка Authorization или Proxy-Authorization
$aU - Аутентификация всего имени пользователя
$aU - полное имя пользователя из заголовка Authorization или Proxy-Authorization
$Au - Имя пользователя Acc и область/домен
$Au - имя пользователя для учета. Это выборочная псевдопеременная (унаследованная от модуля acc). Он возвращает имя пользователя и область авторизации ($au@$ar), если они существуют, или From URI ($fu) в противном случае.
$branch(имя) - Атрибуты ветки
$branch(name) - ссылка на атрибут 'имя' ветки
Эта псевдопеременная дает вам доступ только к «дополнительным веткам», а не к «основной ветке». Например, если для одного и того же AoR зарегистрировано 3 клиента, после lookup() у вас будет один контакт в «основной ветке» и две «дополнительные ветки». С помощью $branch() вы можете получить доступ к дополнительным веткам, к основной ветке можно получить доступ с помощью $ru и $du. (Примечание: в branch_route нет различия между основной и дополнительной ветвями — branch_route будет вызываться один раз для каждой из них.)
«Имя» может быть:
uri - вернуть uri ветки
dst_uri — вернуть uri назначения (адрес следующего прыжка)
path - вернуть вектор пути для ветки
q - вернуть значение q ветки
send_socket - возвращает сокет, который будет использоваться для отправки ветки
count - вернуть количество ветвей
flags - возвращает значение флагов ветки
ruid - вернуть ruid ветки (Записать внутренний уникальный ID из usrloc)
PV может использовать индекс для доступа к указанной ветке: $(branch(name)[index])
Пример:
$вар ( я ) = 0 ;
в то время как ( $var ( i ) < $branch ( count ) )
{
xlog ( "$(branch(uri)[$var(i)]) \n " ) ;
$var ( i ) = $var ( i ) + 1 ;
}
Начиная с версии 3.1.0, вы можете присваивать значение каждому атрибуту. Индекс можно использовать для обновления конкретной ветки:
$ ( филиал ( атрибут ) [ индекс ] ) = значение ;
Если индекс отсутствует, используется первая ветвь. Если индекс равен -1, используется последняя ветвь.
Присвоение $null атрибуту uri приведет к удалению ветки, для остальных атрибутов просто будет установлено значение null.
$ ( ветка ( uri ) [ 2 ] ) = "sip:test@kamailio.org;transport=sctp" ;
$br - первая ветвь запроса
$br - ссылка на первую ветку запроса
Это переменная R/W, вы можете присвоить ей значения прямо в конфигурационном файле (добавит новую ветку).
$bR - все ветки запроса
$bR - ссылка на все ветки запроса
$bf - флаги ветки
$bf - ссылка на флаги ветки 0 ветки (RURI) - десятичный вывод
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$bF - Флаги ветвления
$bF - ссылка на флаги ветки 0 ветки (RURI) - вывод в шестнадцатеричном формате
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$bs - размер тела
$bs - размер тела
$ci - Идентификатор вызова
$ci - ссылка на тело заголовка call-id
$cl — длина содержимого
$cl — ссылка на тело заголовка content-length
$cnt(pv) - Подсчитать количество pvs
$cnt(avp) - вернуть количество avp
xlog ( "$$avp(x) fount $cnt($avp(x)) раз \n " ) ;
$conid — идентификатор TCP-соединения
$conid — идентификатор TCP-соединения, по которому поступило текущее сообщение, для TCP, TLS, WS и WSS. Установите значение $null для SCTP и UDP.
$cs-CSeq
$cs — ссылка на порядковый номер в заголовке cseq. Метод в заголовке CSeq идентичен методу запроса, поэтому используйте $rm для получения метода (работает также для ответов).
$ct - Заголовок контакта
$ct - ссылка на тело заголовка контакта
$cT — тип контента
$cT - ссылка на тело заголовка content-type
$dd - URI домена назначения
$dd - ссылка на домен назначения uri (без порта)
$di - URI заголовка перенаправления
$di — ссылка на URI заголовка Diversion
$dip - Параметр "конфиденциальность" перенаправления
$dip - ссылка на значение параметра «конфиденциальность» заголовка Diversion
$dir - Параметр "причина" отклонения
$dir — ссылка на значение параметра «причина» заголовка Diversion
$dic - параметр "счетчик" переадресации
$dic - ссылка на значение параметра «счетчик» заголовка Diversion
$dp - URI порта назначения
$dp - ссылка на порт назначения uri
$dP - Транспортный протокол URI назначения
$dP - ссылка на транспортный протокол получателя uri
$ds - Целевой набор
$ds - ссылка на целевой набор
$du — URI назначения
$du - ссылка на uri назначения
Если функцияlouse_route() возвращает TRUE, uri назначения устанавливается в соответствии с первым заголовком Route. $du также устанавливается, если функция lookup() модуля 'registrar' находит контакт(ы) за NAT. Вы можете установить $du на любой SIP URI .
sip: kamailio.org
sip: pbx123.kamailio.org; транспорт = udp
глоток: [2001: DB8:: 33: 2]: 5980; транспорт = TLS
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
Чтобы сбросить $du:
$ду = $нуль;
$fd — из домена URI
$fd - ссылка на домен в URI заголовка From
$fn - От отображаемого имени
$fn - ссылка на отображаемое имя заголовка From
$fs - Принудительный сокет
$fs - ссылка на принудительный сокет для отправки сообщений (если есть) в виде proto:ip:port
Это переменная R/W (ей можно присвоить значения прямо в конфигурационном файле). Транспортный прототип можно не указывать при присвоении значения, и в этом случае он берется из URI назначения сообщения.
$ft - Из тега
$ft - ссылка на параметр тега заголовка From
$fti - Начальный тег From
$fti — ссылка на параметр тега заголовка «От», как это было в исходном запросе (например, первоначальном ПРИГЛАШЕНИИ).
Значение тега From в начальном запросе может быть в теге To, если запрос в рамках диалога отправляется вызываемой стороной. Эта переменная определяет, кто отправил запрос в диалоговом окне, и возвращает правильное значение, которое было в теге From запроса, инициирующего диалог.
Он экспортируется модулем rr и должен использоваться после `loose_route()`. Параметр append_fromtag должен быть установлен в 1, чтобы эта переменная возвращала правильное значение.
$fu — из URI
$fu - ссылка на URI заголовка From
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
Обратите внимание, что изменение заголовка From: может нарушить обратную совместимость с устройствами SIP 1.0.
$fU - из имени пользователя URI
$fU - ссылка на имя пользователя в URI заголовка 'From'
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
Обратите внимание, что изменение заголовка From: может нарушить обратную совместимость с устройствами SIP 1.0.
$mb - буфер сообщений SIP
$mb - ссылка на буфер сообщений SIP
$mf - Флаги
$mf - ссылка на флаги сообщения/транзакции, установленные для текущего SIP-запроса
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$mF - Флаги в шестнадцатеричном формате
$mF - ссылка на флаги сообщения/транзакции, установленные для текущего SIP-запроса в шестнадцатеричном формате.
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$mi - идентификатор SIP-сообщения
$mi - ссылка на идентификатор SIP-сообщения
$ml - длина SIP-сообщения
$ml - ссылка на длину SIP-сообщения
$mt - Тип сообщения SIP
$mt — возвращает 1, если sip-сообщение является запросом, возвращает 2, если sip-сообщение является ответом.
$od — исходный R-URI домена
$od — ссылка на домен в исходном R- URI запроса.
$op - Порт в оригинальном R-URI
$op - ссылка на порт оригинального R- URI
$oP - Протокол оригинального R-URI
$oP - ссылка на транспортный протокол оригинального R- URI
$ou — оригинальный R-URI
$ou - ссылка на исходный URI запроса
$oU — имя пользователя в оригинальном R-URI
$oU — ссылка на имя пользователя в исходном URI запроса.
$pd — Домен в URI заголовка P-Preferred-Identity
$pd — ссылка на домен в URI заголовка P-Preferred-Identity запроса ( см. RFC 3325)
$pn — отображаемое имя в заголовке P-Preferred-Identity
$pn — ссылка на Display Name в заголовке P-Preferred-Identity запроса (см. RFC 3325)
$pp - идентификатор процесса
$pp - ссылка на идентификатор процесса (pid)
$pr - Протокол полученного сообщения
$pr или $proto - протокол полученного сообщения (udp, tcp, tls, sctp, ws, wss)
$pU — пользователь в URI заголовка P-Preferred-Identity
$pU — ссылка на пользователя в URI заголовка P-Preferred-Identity запроса (см. RFC 3325)
$pu — URI в заголовке P-Preferred-Identity
$pu — ссылка на URI в заголовке P-Preferred-Identity запроса (см. RFC 3325)
$rb - Тело запроса/ответа
$rb - ссылка на тело сообщения
$rc - Возвращаемый код
$rc - ссылка на возвращаемый код последней вызванной функцией
$реткод - то же, что и $rc
$rd - Домен в R-URI
$rd — ссылка на домен в URI запроса (без порта) или на специальную строку пространства имен URN (см. RFC 2141)
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$rdir(key) - Запрос направления
$rdir(key) - получить направление запроса в диалоге.
Направление «вниз», если отправлено вызывающим абонентом, и «вверх», если отправлено вызываемым абонентом.
Ключ может быть:
id - возвращаемое значение является целым числом: 1 - для направления вниз по течению, 2 - для направления вверх по течению
имя — возвращаемое значение представляет собой строку: «вниз по течению» или «вверх по течению»
Пример:
if ( $rdir ( name ) == "upstream" ) {
xlog ( "запрос был отправлен вызываемым пользователем \n " ) ;
}
Переменная экспортируется модулем rr , и параметр append_fromtag должен быть включен. Переменная должна использоваться после функции loss_route().
$re — URI заголовка Remote-Party-ID
$re — ссылка на URI заголовка Remote-Party-ID
$rm - метод SIP
$rm - ссылка на метод запроса. Работает также для ответов (используя заголовок CSeq)
$rmid - ID метода SIP
$rmid - возвращает внутреннее целочисленное представление типа метода SIP.
$route_uri — URI в заголовке первого маршрута
$route_uri — возвращает строку с полем URI в первом заголовке Route
$rp - Порт в R-URI
$rp - ссылка на порт R- URI
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$rP - Протокол R-URI
$rP - ссылка на транспортный протокол R- URI
$rr - фраза причины ответа SIP
$rr - ссылка на фразу-причину ответа (текст после кода ответа)
$rs - код ответа SIP
$rs - ссылка на статус ответа (код статуса, код ответа, код ответа)
$rt — URI ссылки
$rt - ссылка на URI заголовка refer-to
$ru - URI запроса
$ru - ссылка на URI запроса (адрес в первой строке SIP запроса)
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$rU - Имя пользователя в R-URI
$rU — ссылка на имя пользователя в URI запроса или на идентификатор пространства имен URN (см. RFC 2141)
Это переменная R/W (вы можете присвоить ей значения прямо в конфигурационном файле)
$ruid - Запись внутреннего уникального идентификатора
$ruid — внутренний уникальный идентификатор записи для записи о местоположении, выбранный вызовом registrar:lookup().
$rz - Схема URI R-URI
$rz - возвращает схему R- URI , возможные значения: sip, sips, tel, tels и urn, ошибка парсинга схемы R- URI должна быть отражена значением: none
$Ri - полученный IP-адрес
$Ri - ссылка на IP-адрес интерфейса, на который был получен запрос
$Rp - Полученный порт
$Rp - ссылка на порт, где было получено сообщение
$sbranch(attr) — Статическая ветка
$sbranch(attr) - класс переменных, позволяющий управлять значениями атрибутов для статической ветки. Статическая ветвь — это внутренняя структура, которая используется функциями sbranch_push_ruri() и sbranch_append() из модуля pv , обеспечивая большую гибкость при обновлении атрибутов ветви R- URI (первой), а также дополнительных ветвей (например, для параллельного разветвления).
Attr может быть любым из поддерживаемых значений для класса переменных $branch(attr) — подробности см. выше.
Пример использования:
sbranch_reset ( ) ;
$sbranch ( uri ) = "sip:127.0.0.1:5080" ;
$sbranch ( dst_uri ) = "sip:127.0.0.1:5090" ;
$sbranch ( путь ) = "sip:127.0.0.1:5090, sip:127.0.0.1:5094" ;
$sbranch ( send_socket ) = "udp:127.0.0.1:5060" ;
sbranch_set_ruri ( ) ;
$sf - флаги скрипта
$sf - ссылка на флаги скрипта - десятичный вывод
$sF - флаги скрипта
$sF — ссылка на флаги скрипта — вывод в шестнадцатеричном формате
$si - исходный IP-адрес
$si - ссылка на IP-адрес источника сообщения
$sp - Исходный порт
$sp - ссылка на исходный порт сообщения
$stat(имя) - Статистика
$stat(name) - возвращает значение элемента статистики, указанного в 'name'
$su - Исходный адрес как URI
$su — возвращает представление исходного адреса (ip, порт, proto) в виде SIP URI . Если протокол UDP, то он не добавляется (будучи транспортным протоколом по умолчанию).
Его значение выглядит так:
"sip:ip:port" -- если протокол UDP
"sip:ip:port;transport=proto" -- если протокол не UDP
Обратите внимание, что WS и WSS представлены как transport=ws, что соответствует RFC IETF для SIP через WebSocket.
$sut — исходный адрес как полный URI
$sut — возвращает представление исходного адреса (ip, порт, proto) в виде полного SIP URI . Прото UDP также добавляется в качестве транспортного параметра.
Его значение выглядит так:
"sip:ip:port;transport=proto"
$td — в домен URI
$td — ссылка на домен в URI заголовка «Кому»
$tn - для отображения имени
$tn — ссылка на отображаемое имя заголовка «Кому»
$tt - пометить
$tt - ссылка на параметр тега заголовка 'To'
$tti - Начальный тег To
$tti — ссылка на параметр тега заголовка «Кому», как он был в ответе SIP на первоначальный запрос (например, 200ok на начальный INVITE).
Значение тега To в исходной транзакции может быть в теге From, если запрос в рамках диалога отправляется вызываемой стороной. Эта переменная определяет, кто отправил запрос в диалоговом окне, и возвращает правильное значение, которое было в теге To транзакции, инициирующей диалог.
Он экспортируется модулем rr и должен использоваться после `loose_route()`. Параметр append_fromtag должен быть установлен в 1, чтобы эта переменная возвращала правильное значение.
$tu — в URI
$tu — ссылка на URI заголовка «Кому»
$tU - на имя пользователя URI
$tU - ссылка на имя пользователя в URI заголовка 'To'
$Tb - метка времени запуска
$Tb - ссылка на временную метку unix времени запуска kamailio (время загрузки)
$Tf - время в формате строки - кэшировано
$Tf - форматированное время ссылочной строки
Примечание: системное время извлекается только один раз для каждого обработанного SIP-сообщения. Последующие вызовы $Tf для одного и того же SIP-сообщения вернут то же значение.
$TF - время в формате строки - текущее
$TF - форматированное время ссылочной строки
Примечание: системное время вычисляется для каждого вызова $TF. Последующие вызовы $TF для одного и того же SIP-сообщения могут возвращать разные значения.
$Ts — отметка времени Unix — кэшируется
$Ts - ссылка на отметку времени unix
Примечание: системное время извлекается только один раз для каждого обработанного SIP-сообщения. Последующие вызовы $Ts для одного и того же SIP-сообщения вернут то же значение.
$TS — метка времени Unix — текущая
$TS - ссылка на метку времени unix
Примечание: системное время вычисляется для каждого вызова $TS. Последующие вызовы $TS для одного и того же SIP-сообщения могут возвращать разные значения.
$ua - заголовок пользовательского агента
$ua - ссылка на поле заголовка пользовательского агента
$avp(id) - AVP
$avp(id) - значение AVP, идентифицированное 'id'.
$(avp(id)[N]) - представляет значение N-го AVP, идентифицированного 'id'.











