<?xml version="1.0" encoding="utf-8"?>
<include>
        <context name="default">
        
        <!--语音会议-->
        <extension name="conferences">
        <condition field="destination_number" expression="^(\d{4})$" >
        <action application="answer"/>
        <action application="conference" data="$1-${domain_name}@default"/>
        </condition>
        </extension>
        
        <!--视频会议融屏-->
        <extension name="conferences">
        <condition field="destination_number" expression="^(\d{5})$" >
        <action application="answer"/>
        <action application="set" data="video_possible=true"/>
        <action application="set" data="video_initial_canvas=2"/>
        <action application="set" data="video_initial_watching_canvas=2"/>
        <action application="set" data="video_use_dedicated_encoder=true"/>
        <action application="conference" data="$1-${domain_name}@video-mcu-stereo"/>
        </condition>
        </extension>

<!--通过拨号方案修改SDP信息-->
        <extension name="show_info">
        <condition field="destination_number" expression="^9192$">
        <action application="answer"/>
        <action application="info"/>
        <action application="log" data="INFO  ===switch_r_sdp Before:========${switch_r_sdp}"/>
        <action application="set"><![CDATA[switch_r_sdp=v=0
        o=- 123456 123 IN IP4 192.168.1.112
        s=etmedia
        c=IN IP4 192.168.1.113
        t=0 0
        a=X-nat:0 Unknown
        m=audio 4002 RTP/AVP 18 103 102 117 3 0 8 9 118 119 104 4 101
        a=rtpmap:18 G729/8000
        ]]>
        </action>
        <action application="log" data="INFO  ===switch_r_sdp After:============${switch_r_sdp}"/>
        <action application="sleep" data="250"/>
        <action application="hangup"/>
        </condition>
        </extension>

<!--分机之间互通-->
        <extension name="Extension">
        <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="set" data="bypass_media=true"/>
        <action application="bridge" data="user/$1"/>
        </condition>
        </extension>

<!--路由到其他Freeswitch服务器上-->
        <extension name="192.168.100.104">
        <condition field="destination_number" expression="^0(.*)$" >
        <action application="bridge" data="sofia/external/sip:$1@xxx.xxx.xxx.xxx:5090"/>
        </condition>
        </extension>

<!--播放菜单语音及按键菜单-->
        <extension name="callin">
        <condition field="destination_number" expression="^7777$" >
        <action application="answer"/>
        <action application="set" data="hangup_after_bridge=false"/>
        <action application="playback" data="$${base_dir}/recordings/archive/2018-01-09-11-14-06_999.wav"/>
        <action application="ivr" data="welcome"/>
        </condition>
        </extension>

<!--绕过媒体路由到其他服务器-->
        <extension name="Telemcu">
        <condition field="destination_number" expression="^(9\d{3})$" >
        <action application="set" data="proxy_media=true"/>
        <action application="bridge" data="sofia/${use_profile}/9$1@xxx.xxx.xxx.xxx:5060"/>
        </condition>
        </extension>

<!--IVR菜单配置-->
       <extension name="incoming_call">
       <condition field="destination_number" expression="^1234567890$">
       <action application="answer" data=""/>
       <action application="sleep" data="1000"/>
       <action application="ivr" data="welcome"/>
       </condition>
       </extension>  
    
       <!--Group分组-->
       <extension name="group_dial_cainiao">
       <condition field="destination_number" expression="^2002$">
       <action application="bridge" data="group/cainiao@${domain_name}"/>
       </condition>
       </extension>

<!--双腿录音-->
       <extension name="Extension1">
       <condition field="destination_number" expression="^(10[01][0-9])$">
       <action application="set" data="RECORD_STEREO=true"/>
       <action application="set" data="media_bug_answer_req=true"/>
       <action application="export" data="execute_on_answer=record_session $${base_dir}/recordings/archive/$1-${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/>
       <action application="bridge" data="user/$1"/>
       </condition>
       </extension>

<!--单腿录音-->
       <extension name="Single_Leg_Record">
       <condition field="destination_number" expression="^999$">
       <action application="answer"/>
       <action application="record" data="$${base_dir}/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}.wav"/>
       </condition>
       </extension>

<!--播放音乐文件-->
        <extension name="play_wav">
        <condition field="destination_number" expression="^911$">
        <action application="answer"/>
        <action application="playback" data="$${base_dir}/recordings/archive/2018-01-09-11-14-06_999.wav"/>
        </condition>
        </extension>

<!--顺振-->
        <extension name="group_dial_seq">
        <condition field="destination_number" expression="^9000$">
        <action application="bridge" data="user/1004@xxx.xxx.xxx.xxx|user/1000@xxx.xxx.xxx.xxx"/>
        </condition>
        </extension>

<!--同振-->
        <extension name="group_dial_sim">
        <condition field="destination_number" expression="^2000$">
        <action application="bridge" data="sofia/internal/1000@xxx.xxx.xxx.xxx,sofia/sip/1001@xxx.xxx.xxx.xxx"/>
        </condition>
        </extension>

<!--测试几个APP-->
        <extension name="Show Channel Variable">
        <condition field="destination_number" expression="^1235$">
        <action application="answer"/>
        <action application="info" data=""/>
        <action application="sleep" data="5000"/>
        <action application="hangup"/>
        </condition>                                                                    
        </extension>

<!--录像-->
        <extension name="Local_video">
        <condition field="destination_number" expression="^10086$">
        <action application="set" data="call_timeout=30"/>
        <action application="set" data="record_concat_video=true"/>
        <action application="set" data="RECORD_STEREO=true"/>
        <action application="set" data="enable_file_write_buffering=false"/>
        <action application="export" data="execute_on_answer=record_session $${base_dir}/recordings/archive/10086.fsv"/>
        <action application="bridge" data="user/1004"/>
        </condition>                                                                    
        </extension>

<!--录像-->
        <extension name="voide_record">
        <condition field="destination_number" expression="^9193$">
        <action application="answer"/>
        <action application="record_fsv" data="/home/${strftime(%Y-%m-%d-%H-%M-%S)}.fsv"/>
        </condition>                                                                    
        </extension>

<!--播放录像-->
        <extension name="voide_playback">
        <condition field="destination_number" expression="^9194$">
        <action application="answer"/>
        <action application="play_fsv" data="/tmp/test.fsv"/>
        </condition>                                                                    
        </extension>    
    
        <!--不阻塞录音-->
        <extension name="Double_Leg_Record">
        <condition field="destination_number" expression="^(10[01][0-9])$">
        <action application="set" data="RECORD_STEREO=true"/>
        <action application="record_session" data="/tmp/$1.wav"/>
        <action application="bridge" data="user/$1@${domain_name}"/>
        </condition>
        </extension>

<!--呼叫停泊电话分配-->
        <extension name="park">
        <condition field="destination_number" expression="^5900$">
        <action application="set" data="fifo_muisc=$${hold_music}"/>
        <action application="fifo" data="5900@${domain_name} in"/>
        </condition>
        </extension>

<!--呼叫取出-->
        <extension name="unpark">
        <condition field="destination_number" expression="^5901$">
        <action application="answer"/>
        <action application="fifo" data="5900@${domain_name} out nowait"/>
        </condition>
        </extension>

<X-PRE-PROCESS cmd="include" data="default/*.xml"/>
    
    </context>
</include>

freeswitch配置功能二的更多相关文章

  1. 第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. 第1章 开发环境安装和配置(二)安装JDK、SDK、NDK

    原文 第1章 开发环境安装和配置(二)安装JDK.SDK.NDK 无论是用C#和VS2015开发Androd App还是用Java和Eclipse开发Androd App,都需要先安装JDK和Andr ...

  3. EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码

    背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...

  4. SpringBoot自动化配置之二:自动配置(AutoConfigure)原理、EnableAutoConfiguration、condition

    自动配置绝对算得上是Spring Boot的最大亮点,完美的展示了CoC约定优于配置: Spring Boot能自动配置Spring各种子项目(Spring MVC, Spring Security, ...

  5. 使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神

    使用 EPPlus 封装的 excel 表格导入功能 (二) delegate 委托 --永远滴神 前言 接上一篇 使用 EPPlus 封装的 excel 表格导入功能 (一) 前一篇的是大概能用但是 ...

  6. WCF学习之旅—WCF4.0中的简化配置功能(十五)

    六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...

  7. 【Big Data】HADOOP集群的配置(二)

    Hadoop集群的配置(二) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  8. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

  9. P6 EPPM R16.1安装与配置指南(二)

    P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...

随机推荐

  1. 【转载】Jmeter 性能测试入门

    [转载]Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmete ...

  2. MySQL改密码

    必须先修改my.cnf 添加 skip-grant-tables   然后  执行  update mysql.user set authentication_string=password('123 ...

  3. 一些重要的k8s概念

    1. Pause容器是什么 作为init pod存在,其他pod都会从pause 容器中fork出来 由pause容器管理 pause容器的工作 可知kubernetes的pod抽象基于Linux的n ...

  4. vue页面传值

    第一种情况:例:消息列表页(路由)跳转: methods: { goTo(){ this.$router.push({ name:'/My/Info', query:{ 'tellSeq':this. ...

  5. STL 小白学习(10) map

    map的构造函数 map<int, string> mapS; 数据的插入:用insert函数插入pair数据,下面举例说明 mapStudent.insert(pair<, &qu ...

  6. 小谈对Python的认知与期望

    18级新生,在大学之前并未接触过程序语言编程,在众多语言编程中只对C语言有个名字上认知.在上个学期初次了解到Python语言,计算机老师表示Python是现在编程语言中如雨后春笋般的发展飞速的计算机语 ...

  7. web功能测试之表单、搜索测试

    初入职场接触功能测试老是碰到以下情况不知道怎么写测试用例: 一个界面很多搜索条件怎么写用例?下拉框测试如何考虑测试点?上传要考虑哪些验证点?...... 所以这篇主要是整理关于web测试之表单.搜索测 ...

  8. C# [Win32] [API] WS_TABSTOP 無效的解決辦法

    關鍵: IsDialogMessage function MSG msg; int bRet = 1; while (bRet != 0) { if (PeekMessageW(&msg, ( ...

  9. Java多线程之线程状态总结

    概述 线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下: 线程一般来说有如下几种状态: 新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡 yeild:当线程执行了yield ...

  10. VM虚拟机拍摄快照时出错或者克隆失败解决办法

    在换了固态硬盘后,下载好VM,装虚拟机,结果克隆虚拟机和拍摄快照时出问题了. 拍摄快照时出错或者隆失败出现参数错误如图: 所提供的参数中有一个无效参数 解决办法 出现这个问题一般是在机械硬盘的电脑上面 ...