freeswitch實現監聽、三方通話的兩種方法
首先是使用freeswitch自帶的監聽和三方通話的功能,
模組:mod_dptools: eavesdrop
mod_dptools: three_way
使用方法是針對已經建立通話的雙方的其中之一的UUID,傳送命令或者配置撥號計劃來使用,例如:
已經通話的雙方UUID是:
9d385df2-e8ce-4c06-a8d9-ab04477a5d27、91b54a88-5f40-4ded-a82a-9b6e7be36ac1
監聽:expand originate 操作者contact&eavesdrop(9d385df2-e8ce-4c06-a8d9-ab04477a5d27)
操作者是新呼叫的,在呼叫contact之前可以新增普通呼叫的一些引數。
被監聽方可新增的引數
<actionapplication="set"data="eavesdrop_require_group=<groupID>"/>
<actionapplication="set" data="eavesdrop_indicate_failed=/sounds/failed.wav"/> <!-- used in 'eavesdrop all' case-->
<actionapplication="set"data="eavesdrop_indicate_new=/sounds/new_chan_announce.wav"/><!-- used in 'eavesdrop all' case -->
<actionapplication="set"data="eavesdrop_indicate_idle=/sounds/idle.wav"/> <!-- used in 'eavesdrop all'case -->
<actionapplication="set" data="eavesdrop_enable_dtmf=true"/><!-- false means no commands during eavesdrop -->
<actionapplication="set" data="eavesdrop_bridge_aleg=true"/><!-- enables listen to aleg -->
<actionapplication="set" data="eavesdrop_bridge_bleg=true"/><!-- enables listen to bleg -->
<actionapplication="set" data="eavesdrop_whisper_aleg=true"/><!-- enables whisper mode in aleg -->
<actionapplication="set" data="eavesdrop_whisper_bleg=true"/><!-- enables whisper mode in bleg -->
三方通話:expand originate 操作者contact& three_way(9d385df2-e8ce-4c06-a8d9-ab04477a5d27)
另外一種方法,是利用多人會議功能來實現監聽和三方通話
具體命令就不貼了,思路就是已經有普通的通話雙方,操作者發起監聽,首先呼通操作者自己,並將自己拉進會議中,使用conference來進入會議,之後設定自己為禁言,這些操作成功之後,再將原有通話雙方分別拉進會議,其實就是三人的會議,但是發起監聽方被禁言,這樣就形成了原有雙方聽不到發起監聽者的聲音。三方通話的時候只需要不禁言發起者就可以了,其他相同。 --------------------- 作者:大頭菜餡饅頭 來源:CSDN 原文:https://blog.csdn.net/jiaojian8063868/article/details/78967803 版權宣告:本文為博主原創文章,轉載請附上博文連結!