OpenSIPS 核心变量(Core Variables)概述

OpenSIPS提供了路由脚本(routing script)中使用的多种类型的变量。变量类型之间的差异来自
(1)变量的可见性(当变量可见时),
(2)变量所附加的内容(变量所在的位置)
(3)变量的读写状态(某些类型的变量是只读的)
(4)多个值(对于同一个变量)的处理方式。
OpenSIPS变量可以很容易地在脚本中识别,因为它们的所有名称(或符号)都以美元符$开头。

语法:
伪变量的完整语法为:
$(<context>name(subname)[index]{transformation})

以绿色书写的字段是可选的。字段的含义是:

  • name(强制)-伪变量名称(类型)。例如:pvar、avp、ru、DLG_status等。
  • subname—给定类型的特定pv的标识符。例如:hdr(来自),avp(名称)。
  • index- pv可以存储多个值-它可以引用值列表。如果指定某个值的索引,则可以从列表中访问该值。还可以使用负值指定索引,-1表示最后插入的索引,-2表示上一个插入索引之前的索引值。
  • transformation-可以对伪变量应用一系列处理操作。您可以在这里找到所有可能的转换列表。转换可以级联,使用一个转换的输出作为另一个转换的输入。
  • context-将在其中计算伪0变量的上下文。现在有两个pv context:应答和请求。响应context可用于故障路由中,以请求在应答消息上下文中评估伪变量。如果在应答路由中需要在相应请求的上下文中评估pv,则可以使用请求上下文。

使用举例:
只有name:$ru 
name和subname:$hdr(Contact)
name和index:$(ct[0])
name和subname和index:$(avp(i:10)[2])
Context:
$(<request>ru) 从应答路由的request里获取Request-URI
$(<reply>hdr(Contact)) 可以从故障路由使用context来访问应答中的信息

变量的类型:

  • 脚本变量(script variables)
  • AVP(Attribute Value Pairs)
  • 伪变量(pseudo variables)
  • 转义序列(escape sequences)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值