分享

Asterisk电话会议功能主要应用介(1)

 Dead n Gone 2013-10-30

MeetMe             

       Asterisk称作为“会议桥”,但从阅读源代码可以了解到其实现的功能包括对即将进入会议的语音通道携带的参数的有效性进行检查;对会议选项参数进行设置且生效,会议选项参数将会在下面介绍;对加入成员的语音通道的语音编解码进行转换成线性语音格式;将加入成员的语音通道桥接到会议通道当中,会议通道对应DAHDI驱动中的一个伪设备,标识为pseudo;将混音后的线性语音格式转换为加入会议语音通道的语音格式;最后meetme中的闭循环监控语音通道中的DTMF事件等。

       如何配置Asterisk会议室?

       Asterisk meetme功能可通过以下三种方式配置会议室号码及密码:

       1)静态分配会议,静态会议在meetme.conf中配置,在context[rooms]下配置会议室,配置使用如下:

              conf => confno[,pin][,adminpin] 

              例如:

              conf => 2345 ;分配一个会议号码为2345的会议室

              conf => 2345,1111 ; 分配一个会议号码为2345的会议室,会议密码为1111,

              conf => 2345,1111,2222 ; 分配一个会议号码为2345的会议室,会议密码为1111                                                   ; 主持人密码为2222

       2)动态分配会议,动态会议室不需要在meetme.conf配置固定的会议号码,只需要在拨号方案中使用meetme应用时添加 d D选项,表示动态的增加一个会议室。

       例如:

exten => 12345,1,MeetMe(501,Mpd)

       3) realtime 会议,暂且翻译为实时会议,实时会议的会议号码将在数据表中分配,此数据表由Asterisk定义,通过extconfig.conf中配置访问数据表的方式。那么在拨号方案中可以无需再指定会议室号码,可以保留为空。当用户拨打进入会议室的分机号时,Asterisk将提示用户输入会议号码和会议密码,当输入的信息与数据表中保存的一致时,用户就可以加入会议室当中,此种方式配置相对复杂,但是应用却是非常广泛。

       如何在拨号方案中配置电话会议应用?

       MeetMe([confno][,options[,pin]])

       例如:

       MeetMe(501, 1111,2222) ;其中501为会议室号码,1111为参会密码,2222为主持人密码。

下面将介绍meetme应用的所有选项,引用了Asterisk电话会议中提供的信息:

         -= Info about application 'MeetMe' =-

 

[Synopsis]

MeetMe conference bridge.

 

[Description]

Enters the user into a specified MeetMe conference.  If the <confno> is o

mitted, the user will be prompted to enter one.  User can exit the conference

by hangup, or if the 'p' option is specified, by pressing '#'.

NOTE: The DAHDI kernel modules and at least one hardware driver (or

dahdi_dummy) must be present for conferencing to operate properly. In addition,

the chan_dahdi channel driver must be loaded for the 'i' and 'r' options to

operate at all.

 

[Syntax]

MeetMe([confno][,options[,pin]])

 

[Arguments]

confno

    The conference number

options

    a: Set admin mode.

    A: Set marked mode.

    b: Run AGI script specified in ${MEETME_AGI_BACKGROUND} Default:

    'conf-background.agi'.

    NOTE: This does not work with non-DAHDI channels in the same

    conference).

    c: Announce user(s) count on joining a conference.

    C: Continue in dialplan when kicked out of conference.

    d: Dynamically add conference.

    D: Dynamically add conference, prompting for a PIN.

    e: Select an empty conference.

    E: Select an empty pinless conference.

    F: Pass DTMF through the conference.

    i: Announce user join/leave with review.

    I: Announce user join/leave without review.

    l: Set listen only mode (Listen only, no talking).

    m: Set initially muted.

    M[(class)]: Enable music on hold when the conference has a single

    caller. Optionally, specify a musiconhold class to use. If one is not

    provided, it will use the channel's currently set music class, or 'de

    fault'.

    o: Set talker optimization - treats talkers who aren't speaking as

    being muted, meaning (a) No encode is done on transmission and (b) Received

    audio that is not registered as talking is omitted causing no buildup

    in background noise.

    p[(keys)]: Allow user to exit the conference by pressing '#' (default)

    or any of the defined keys. If keys contain '*' this will override option

    's'. The key used is set to channel variable ${MEETME_EXIT_KEY}.

    P: Always prompt for the pin even if it is specified.

    q: Quiet mode (don't play enter/leave sounds).

    r: Record conference (records as ${MEETME_RECORDINGFILE} using format

    ${MEETME_RECORDINGFORMAT}. Default filename is 'meetme-conf-rec-${CON

    FNO}-${UNIQUEID}' and the default format is wav.

    s: Present menu (user or admin) when '*' is received (send to menu).

    t: Set talk only mode. (Talk only, no listening).

    T: Set talker detection (sent to manager interface and meetme list).

    W[(secs)]: Wait until the marked user enters the conference.

    x: Close the conference when last marked user exits

    X: Allow user to exit the conference by entering a valid single digit

    extension ${MEETME_EXIT_CONTEXT} or the current context if that variable

    is not defined.

    1: Do not play message when first person enters

    S(x): Kick the user <x> seconds *after* he entered into the

    conference.

    L([x][:y[:z]]): Limit the conference to <x> ms. Play a warning when

    <y> ms are left. Repeat the warning every <z> ms. The following special

    variables can be used with this option:

        ${CONF_LIMIT_TIMEOUT_FILE}: File to play when time is up.

        ${CONF_LIMIT_WARNING_FILE}: File to play as warning if <y>

        is defined. The default is to say the time remaining.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多