21
2019
01
13:44:33

多人會議呼叫(n-way call)

多人會議呼叫(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 轉接(第一位)會議室功能碼
** 轉接受邀者(第二位以後)進入會議室功能碼
*# 停止邀請功能碼




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/146.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: