freeswitch dialplan中获取通道变量的方法
Song •
2741 次浏览 •
0个评论 •
2018年12月18日
在使用时可以用$${var}
的形式来进行引用。这些变量是全局有效的,因而称为全局变量。另外一些变量是在
Dialplan、Application
或Directory
中设置的,它们会影响呼叫流程且可以被动态改变。这些变量一般与一个呼
叫有关,严格地说是与一个Channel
有关,因而又称为Channel Variable
,即通道变量。通道变量可以以${var}
的
形式引用。全局变量仅在预处理阶段(系统启动时或重新装载-reloadxml
时)被求值,一般用于设置一些系统一
旦启动就不会轻易改变的量,如$${domain}
或$${local_ip_v4}
等。而局部变量(即通道变量)仅在Channel
的生
命周期中有效。所以,两者最大的区别是,$${var}
只在加载时求值一次,而${var}
则在每次执行时都求值
(如一个新电话进来时)。
在呼叫过程中,某些变量可以改变Channel
的行为。另外,也可以使用自定义的通道变量来存储随路数据等。
一、获取通道变量的方法:
在实际使用中会发现,有些变量在显示时(可以使用dp_tools
中的info App
显示,后面会讲到)是以
variable_
开头的,但在实际引用时要去掉这些开头的variable_
。如variable_username
,引用时要使用
${username}
:
<extension name="test">
<condition field="destination_number" expression="^(1330)$">
<action application="log" data="ERR ${domain} "/>
<action application="log" data="ERR ${username} "/>
<action application="log" data="ERR ${dialplan} "/>
<action application="log" data="ERR ${uuid} "/>
</condition>
</extension>
二、设置通道变量
<extension name="test">
<condition field="destination_number" expression="^(1330)$">
<action application="set" data="new_domain=${domain} "/>
</condition>
</extension>
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论