freeswitch查看所有通道變量


概述

freeswitch 是一款好用的開源軟交換平臺(tái)寿烟。

實(shí)際應(yīng)用中,我們經(jīng)常需要對(duì)fs中的通道變量操作辛燥,包括設(shè)置和獲取筛武,set & get。

但是购桑,fs中有眾多的內(nèi)部定義通道變量畅铭,也有外部傳入的自定義通道變量,如何最快找到我們需要的通道變量勃蜘,就需要一點(diǎn)小的技巧棠耕。


環(huán)境

centos:CentOS? release 7.0 (Final)或以上版本

freeswitch:v1.8.7

GCC:4.8.5


info接口

freeswitch的mod_dptools模塊提供了一個(gè)app接口“info”炊林。

<action application="info"/>

該接口需要在"call_debug=true"的情況下使用滩援。


測(cè)試

設(shè)置撥號(hào)計(jì)劃:

<condition field="destination_number" expression="^(\d+)$">

????<action application="set" data="call_debug=true"/>

? ? <action application="info"/>

</condition>

發(fā)起呼叫破衔,呼叫進(jìn)入fs后,日志打印如下:

2022-09-19 16:49:27.649708 [DEBUG]switch_core_state_machine.c:328 sofia/external/1001@10.55.55.138 StandardEXECUTE

EXECUTE sofia/external/1001@10.55.55.138set(call_debug=true)

2022-09-19 16:49:27.649708 [DEBUG]mod_dptools.c:1548 SET sofia/external/1001@10.55.55.138 [call_debug]=[true]

EXECUTE sofia/external/1001@10.55.55.138info()

2022-09-19 16:49:27.649708 [INFO]mod_dptools.c:1761 CHANNEL_DATA:

Channel-State: [CS_EXECUTE]

Channel-Call-State: [RINGING]

Channel-State-Number: [4]

Channel-Name:[sofia/external/1001@10.55.55.138]

Unique-ID:[f80fc7b2-37f7-11ed-9d90-cd61d01aad6a]

Call-Direction: [inbound]

Presence-Call-Direction: [inbound]

Channel-HIT-Dialplan: [true]

Channel-Call-UUID: [f80fc7b2-37f7-11ed-9d90-cd61d01aad6a]

Answer-State: [ringing]

Caller-Direction: [inbound]

Caller-Logical-Direction: [inbound]

Caller-Username: [1001]

Caller-Dialplan: [XML]

Caller-Caller-ID-Name: [Extension 1001]

Caller-Caller-ID-Number: [1001]

Caller-Orig-Caller-ID-Name: [Extension1001]

Caller-Orig-Caller-ID-Number: [1001]

Caller-Network-Addr: [10.55.55.138]

Caller-ANI: [1001]

Caller-Destination-Number: [1002]

Caller-Unique-ID:[f80fc7b2-37f7-11ed-9d90-cd61d01aad6a]

Caller-Source: [mod_sofia]

Caller-Context: [public]

Caller-Channel-Name:[sofia/external/1001@10.55.55.138]

Caller-Profile-Index: [1]

Caller-Profile-Created-Time:[1663577367649708]

Caller-Channel-Created-Time:[1663577367649708]

Caller-Channel-Answered-Time: [0]

Caller-Channel-Progress-Time: [0]

Caller-Channel-Progress-Media-Time: [0]

Caller-Channel-Hangup-Time: [0]

Caller-Channel-Transfer-Time: [0]

Caller-Channel-Resurrect-Time: [0]

Caller-Channel-Bridged-Time: [0]

Caller-Channel-Last-Hold: [0]

Caller-Channel-Hold-Accum: [0]

Caller-Screen-Bit: [true]

Caller-Privacy-Hide-Name: [false]

Caller-Privacy-Hide-Number: [false]

variable_direction: [inbound]

variable_uuid:[f80fc7b2-37f7-11ed-9d90-cd61d01aad6a]

variable_session_id: [1]

variable_sip_from_user: [1001]

variable_sip_from_uri: [1001@10.55.55.138]

variable_sip_from_host: [10.55.55.138]

variable_video_media_flow: [sendrecv]

variable_audio_media_flow: [sendrecv]

variable_channel_name:[sofia/external/1001@10.55.55.138]

variable_sip_call_id:[cf6b81f0-b29a-123b-3d84-000c29a63969]

variable_ep_codec_string:[CORE_PCM_MODULE.PCMA@8000h@20i@64000b]

variable_sip_local_network_addr:[10.55.55.137]

variable_sip_network_ip: [10.55.55.138]

variable_sip_network_port: [5080]

variable_sip_invite_stamp:[1663577367649708]

variable_sip_received_ip: [10.55.55.138]

variable_sip_received_port: [5080]

variable_sip_via_protocol: [udp]

variable_sip_from_user_stripped: [1001]

variable_sip_from_tag: [1gjS3t5F2D0gS]

variable_sofia_profile_name: [external]

variable_recovery_profile_name: [external]

variable_sip_Remote-Party-ID:["Extension 1001";party=calling;screen=yes;privacy=off]

variable_sip_cid_type: [rpid]

variable_sip_full_via: [SIP/2.0/UDP10.55.55.138:5080;rport=5080;branch=z9hG4bKF6gF1SKQK6rtF]

variable_sip_from_display: [Extension 1001]

variable_sip_full_from: ["Extension1001" ;tag=1gjS3t5F2D0gS]

variable_sip_full_to:[]

variable_sip_allow: [INVITE, ACK, BYE,CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY]

variable_sip_req_user: [1002]

variable_sip_req_port: [5080]

variable_sip_req_uri:[1002@10.55.55.137:5080]

variable_sip_req_host: [10.55.55.137]

variable_sip_to_user: [1002]

variable_sip_to_port: [5080]

variable_sip_to_uri:[1002@10.55.55.137:5080]

variable_sip_to_host: [10.55.55.137]

variable_sip_contact_user: [mod_sofia]

variable_sip_contact_port: [5080]

variable_sip_contact_uri:[mod_sofia@10.55.55.138:5080]

variable_sip_contact_host: [10.55.55.138]

variable_rtp_use_codec_string:[OPUS,G722,PCMU,PCMA,VP8]

variable_sip_user_agent:[FreeSWITCH-mod_sofia/1.6.19+git~20220408T073647Z~f81cb238da~64bit]

variable_sip_via_host: [10.55.55.138]

variable_sip_via_port: [5080]

variable_sip_via_rport: [5080]

variable_max_forwards: [69]

variable_sip_h_X-userName: [userName]

variable_sip_h_X-userNumber: [07551001]

variable_switch_r_sdp: [v=0

o=FreeSWITCH 1663546705 1663546706 IN IP410.55.55.138

s=FreeSWITCH

c=IN IP4 10.55.55.138

t=0 0

m=audio 30662 RTP/AVP 8 18 101

a=rtpmap:8 PCMA/8000

a=rtpmap:18 G729/8000

a=rtpmap:101 telephone-event/8000

a=fmtp:101 0-16

a=ptime:20

]

variable_endpoint_disposition: [DELAYEDNEGOTIATION]

variable_DP_MATCH: [ARRAY::1002|:1002]

variable_call_uuid:[f80fc7b2-37f7-11ed-9d90-cd61d01aad6a]

variable_call_debug: [true]

variable_current_application: [info]


總結(jié)

從測(cè)試結(jié)果中阳惹,我們可以更輕松的獲取自己想要的通道變量的名稱和值谍失。

要注意的一點(diǎn)是,info打印的變量名稱和channel中的變量名稱是有區(qū)別的莹汤,如果希望在C/C++代碼中獲取對(duì)應(yīng)的通道變量快鱼,需要使用channel中的變量名。

info和channel的通道變量名稱對(duì)應(yīng)關(guān)系纲岭,參考fs官方文檔“https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables”抹竹。


空空如常

求真得真

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市止潮,隨后出現(xiàn)的幾起案子窃判,更是在濱河造成了極大的恐慌,老刑警劉巖喇闸,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袄琳,死亡現(xiàn)場(chǎng)離奇詭異询件,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)唆樊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門宛琅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窗轩,你說我怎么就攤上這事夯秃∽兀” “怎么了痢艺?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)介陶。 經(jīng)常有香客問我堤舒,道長(zhǎng),這世上最難降的妖魔是什么哺呜? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任舌缤,我火速辦了婚禮,結(jié)果婚禮上某残,老公的妹妹穿的比我還像新娘国撵。我一直安慰自己,他們只是感情好玻墅,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布介牙。 她就那樣靜靜地躺著,像睡著了一般澳厢。 火紅的嫁衣襯著肌膚如雪环础。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天剩拢,我揣著相機(jī)與錄音线得,去河邊找鬼。 笑死徐伐,一個(gè)胖子當(dāng)著我的面吹牛贯钩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播办素,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼角雷,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了摸屠?” 一聲冷哼從身側(cè)響起谓罗,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎季二,沒想到半個(gè)月后檩咱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體揭措,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年刻蚯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绊含。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡炊汹,死狀恐怖躬充,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情讨便,我是刑警寧澤充甚,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站霸褒,受9級(jí)特大地震影響伴找,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜废菱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一技矮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧殊轴,春花似錦衰倦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至韧拒,卻和暖如春淹接,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叛溢。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工塑悼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人楷掉。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓厢蒜,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親烹植。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斑鸦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 概述 Freeswitch是一款非常好用的開源VOIP軟交換平臺(tái)。 最近在對(duì)fs做一些功能測(cè)試草雕,測(cè)試的過程中產(chǎn)生的...
    求真得真閱讀 585評(píng)論 0 0
  • 概述 freeswitch是一款開源的VOIP軟交換平臺(tái)巷屿,功能強(qiáng)大。 在使用fs進(jìn)行呼叫業(yè)務(wù)的過程中墩虹,我們最常見到...
    求真得真閱讀 446評(píng)論 0 0
  • 概述 電話語音服務(wù)中嘱巾,有一種稍微復(fù)雜的場(chǎng)景憨琳,就是總機(jī)分機(jī)的落地場(chǎng)景,客戶撥打總機(jī)號(hào)碼之后旬昭,需要再撥打分機(jī)號(hào)轉(zhuǎn)接到指...
    求真得真閱讀 443評(píng)論 0 1
  • 概述 之前的文章中篙螟,我們講解了freeswitch的源碼基本結(jié)構(gòu),如何新增一個(gè)插件式模塊问拘,以及如何在模塊中新增一個(gè)...
    求真得真閱讀 1,961評(píng)論 0 0
  • 閱讀《FreeSWITCH 權(quán)威指南》筆記遍略。 簡(jiǎn)單使用 windows 安裝 FreeSwitch 自己的電腦系統(tǒng)...
    Robin92閱讀 19,114評(píng)論 3 5