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

2024-01-24 18:48

本文主要是介绍Asterisk电话会议功能主要应用介(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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.

这篇关于Asterisk电话会议功能主要应用介(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/640655

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi