多人會議呼叫(n-way call)
http://www.osslab.org.tw/VoIP/IP_PBX/%E8%BB%9F%E9%AB%94%E5%BC%8F_IP_PBX/Asterisk/%E5%AE%A2%E8%A3%BD%E5%8C%96%E7%9A%84%E8%A8%AD%E8%A8%88(Programming)/%E5%A4%9A%E4%BA%BA%E6%9C%83%E8%AD%B0%E5%91%BC%E5%8F%AB(n-way_call)
簡述
此篇將介紹以 AEL 開發一個多人會議呼叫(n-way call)的功能,此功能主要是利用系統提供的 Meetme 會議功能,結合類似傳統三方通話的會議呼叫方式,其目的除了可實現三人以上的多方會議,還可以將參加會議的方式從原有的與會者被動加入,改成可由主持者主動呼叫與會者。
系統環境
Elastix 1.1-8
Getting Start
新增會議室
PBX -> PBX Configuration -> Conferences -> Add Conference
Conference Number: 1102
Conference Name: 自定義
Music on Hold: Yes
其餘項目為預設值
設定及編輯 AEL
編輯 /etc/asterisk/extensions.ael,最下方加入
// for n-way Call #include "/etc/asterisk/my_ael/n-way-calls.ael"
新增 /etc/asterisk/my_ael/n-way-calls.ael,內容如下。註:my_ael 目錄需手動新增
context dynamic-nway { _XXXX => { Answer; Set(CONFNO=${EXTEN}); Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite); Set(DYNAMIC_FEATURES=); MeetMe(${CONFNO},pdMX); Hangup; }; }; context dynamic-nway-invite { 0 => { Read(DEST,dial,,i); Set(DYNAMIC_FEATURES=nway-inv#nway-noinv); Dial(Local/${DEST},,g); Set(DYNAMIC_FEATURES=); Goto(dynamic-nway,${CONFNO},1); }; i => Goto(dynamic-nway,${CONFNO},1); }; macro ael-nway-start() { Set(CONFNO=1102); ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1); Read(DEST,dial,,i); Set(DYNAMIC_FEATURES=nway-inv#nway-noinv); Dial(Local/${DEST},,g); Set(DYNAMIC_FEATURES=); Gosub(dynamic-nway,${CONFNO},1); }; macro ael-nway-ok() { ChannelRedirect(${BRIDGEPEER},dynamic-nway,${CONFNO},1); }; macro ael-nway-notok() { SoftHangup(${BRIDGEPEER}); };
註:
* CONFNO 必須與會議室號碼相同。
* _XXXX 會議室號碼為四碼,若不為四碼,請自行修改。
新增 Dynamic feature
PBX -> Tools -> File Editor -> File: features_applicationmap_custom.conf
nway-start => *5,caller,Macro,ael-nway-start nway-inv => **,caller,Macro,ael-nway-ok nway-noinv => *#,caller,Macro,ael-nway-notok
註:
*5 轉接(第一位)會議室功能碼
** 轉接受邀者(第二位以後)進入會議室功能碼
*# 停止邀請功能碼
設定儲存後,執行套用指令
CLI>reload
若要使 Dynamic feature code 能在通話狀態中啟用,還需以下設定:
PBX -> Tools -> File Editor -> File: globals_custom.conf
DYNAMIC_FEATURES=nway-start
註:以上設定可使分機及外線通話,兩者都可以將其轉接至會議室,如果想限定只有分機的通話才能被轉接會議室,請改用以下設定:
PBX -> Tools -> File Editor -> File: extensions.conf,搜尋 [macro-exten-vm]
[macro-exten-vm] exten => s,1,Macro(user-callerid) exten => s,n,Set(DYNAMIC_FEATURES=nway-start) <---------增加這行 ...
操作流程說明
-> A 撥給 B,A 和 B 通話中,A 決定要與 B, C, D 召開一個臨時的電話會議。
-> A 按 *5,B 隨即進入會議室#1102 等待;A 聽到 Tone 撥號音。
-> A 撥給 C,A 與 C 通話中,A 邀請 C 進入會議室。
-> A 按 **,C 隨即進入會議室#1102;A 同時也進入會議室#1102。
-> A, B, C 三人在會議室通話,A 決定在邀請 D 加入會議。
-> A 在會議中 按 0,A 暫時退出會議,並且聽到 Tone 撥號音。
-> A 撥給 D,A 與 D 通話中,A 邀請 D 進入多人會議室。
-> A 按 **,D 隨即進入會議室;A 同時也進入會議室。
-> A, B, C, D 四人在會議室通話中。
-> 繼續邀請第五人
-> ...
註:
*5 轉接(第一位)會議室功能碼
** 轉接受邀者(第二位以後)進入會議室功能碼
*# 停止邀請功能碼
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/146.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~