日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

FreeSWITCH小结:关于export的原理介绍及应用

發布時間:2023/12/29 综合教程 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 FreeSWITCH小结:关于export的原理介绍及应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FreeSWITCH小結:關于export的原理介紹及應用

Export原理

普通export用法

在dialplan中經常會用到export,如下所示:

    <action application="export" data="myvar=test"/>

上面的xml在執行后,會在本地通道中修改如下:

myvar=test
export_vars=<other_export_vars>,myvar

在本地變量中增加myvar,同時修改export_vars變量,將export指定的變量附加到后面。
這樣,在bridge時候,系統會將export_vars指定的變量從a腿導入到b腿上.

帶nolocal的export用法

有時候,僅僅需要將變量設置到b腿,而不需要設置到a腿,所以這里就需要參數nolocal.
用法如下:

    <action application="export" data="nolocal:myvar=test"/>

上面的命令在執行后,會在本地增加的變量如下:

nolocal:myvar=test
export_vars=<other_export_vars>,nolocal:myvar

也就是說增加的變量名稱就是nolocal:myvar, 由于有nolocal前綴,就可以跟本地變量很好的區別開。
同樣,在bridge的時候,系統也會將export_vars指定的變量從a腿導出到b腿。
巧妙的是,在導出nolocal:myvar的時候,會自動將nolocal:前綴去掉,從而達到將變量只設置到b腿的目的。
而如果留意就會發現,使用下面的命令還是可以獲取到值的:

uuid_getvar <a_leg_uuid> nolocal:myvar

而使用下面的命令是獲取不到任何值的:

uuid_getvar <a_leg_uuid> myvar

Export用法

知道了export的原理之后,即使api命令中沒有uuid_export,我們也可以模擬出來。
如下:

用法1:只將指定的變量導出到b腿

originate {nolocal:sip_h_X-AutoAccept=true,export_vars='nolocal:sip_h_X-AutoAccept'}user/60400 60401

用法2:只將指定的變量設置到a腿

originate {sip_h_X-AutoAccept=true}user/60400 60401

用法3:同時將變量設置到a腿和b腿

originate {sip_h_X-AutoAccept=true,nolocal:sip_h_X-AutoAccept=true,export_vars='nolocal:sip_h_X-AutoAccept'}user/60400 60401

注意事項
這里所說的設置到b腿,是指bridge之后設置到b腿

Export示例

示例1:在呼叫前,同時設置a腿和b腿的uuid,以便后期跟蹤

originate {origination_uuid=xxxxx,nolocal:origination_uuid=yyyyy,export_vars='nolocal:origination_uuid'}user/60401 60402

總結

以上是生活随笔為你收集整理的FreeSWITCH小结:关于export的原理介绍及应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。