[FreeSWITCH]简单配置fifo呼入队列
拨号计划
<?xml version="1.0"?>
<include>
<context name="inboundcall">
<!-- 坐席拨打611登录到队列 -->
<extension name="Agent Login">
<!--限制可登录队列的坐席分机号-->
<condition field="caller_id_number" expression="^([1,8]\d{3})$" />
<condition field="destination_number" expression="^(611)$">
<action application="answer"/>
<action application="set" data="result=${fifo_member(add f1 {fifo_member_wait=nowait}user/${caller_id_number})}"/>
<action application="log" data="INFO call_id_number: ${caller_id_number}" />
<action application="log" data="INFO Add FIFO1 agent result: ${result}"/>
<!-- <action application="hangup"/> -->
</condition>
</extension>
<!-- 坐席拨打612退出队列 -->
<extension name="Agent Logout">
<condition field="destination_number" expression="^(612)$">
<action application="answer"/>
<action application="set" data="result=${fifo_member(del f1 {fifo_member_wait=nowait}user/${caller_id_number})}"/>
<action application="log" data="INFO Del FIFO1 agent result: ${result}"/>
<!-- <action application="hangup"/> -->
</condition>
</extension>
<extension name="send caller to FIFO">
<!-- 测试的时候可以限制一下呼入的来电号码 -->
<condition field="caller_id_number" expression="^(17712345678)$" />
<!-- destination_number应该是运营商或者线路商提供的可呼入号码 -->
<condition field="destination_number" expression="^(0101234567)$">
<action application="log" data="INFO get caller ${caller_id_number} calls coming..." />
<action application="answer"/>
<action application="set" data="record_sample_rate=8000"/>
<action application="set" data="RECORD_STEREO=true"/>
<action application="record_session" data="/home/Records/inboundcall/${strftime(%Y/%m/%d/)}${caller_id_number}_${strftime(%Y%m%d%H%M%S)}.wav"/>
<action application="fifo" data="f1 in"/>
<action application="log" data="INFO get in fifo: 12345678"/>
<action application="park"/>
<!-- 不park会导致立即挂机; -->
</condition>
</extension>
</context>
</include>
大致流程
- 假设坐席分机号1001、1002、1003、1004拨打611登录到队列中
- 客户17712345678拨打0101234567呼入
- FreeSWITCH先预应答客户,将客户通话放到队列中
- FreeSWITCH查找已登录到队列中的坐席,比如1002
- FreeSWITCH将客户通话推到1002坐席,实现通话。
- 假设1003坐席暂停接听电话,拨打612退出队列。
[FreeSWITCH]简单配置fifo呼入队列的更多相关文章
- Laravel5.4 队列简单配置与使用
概述 什么是队列? 百度百科是这样说的 “队列”是在传输过程中保存数据的容器. 举几个生活中例子: * iphone手机新款发布,三里屯iphone进的新货.大家要排队买,不能说一大堆人一起冲进去,那 ...
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用. (1)STP(Spanning-tre ...
- nginx负载均衡简单配置
nginx负载均衡简单配置准备三台虚拟机来做这个实验:192.168.232.132 web服务器192.168.232.133 web服务器192.168.232.134 ...
- Kafka初入门简单配置与使用
一 Kafka概述 1.1 Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成. ...
- goldengate原理与简单配置
goldengate的原理:http://www.ipresst.com/works/52bc44c42954a7d73b0003f2 简单单向配置: 在oracle官网下载下载 GoldenGate ...
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 以实际的WebGIS例子探讨Nginx的简单配置
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- ssm简单配置
MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架. MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获. MyBatis 只使用简单的XML 和注解来配置和映射 ...
- 安装MariaDB和简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...
随机推荐
- Golang每日一库之regex
本文地址: https://www.cnblogs.com/zichliang/p/17387436.html Golang日库合集:https://www.cnblogs.com/zichliang ...
- 2020-11-27:go中,map的读流程是什么?
福哥答案2020-11-27:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=12)源码位于runtime/map.go文件中的map ...
- pywin32和wmi的安装和测试
E:\pyAPP\Madking\MadKingClient>python bin\NedStark.py collect_dataE:\pyAPP\Madking\MadKingClientT ...
- 【Python笔记】第二章Python基本图形绘制
嗨你好,我是AllenMi, 这是我学习北京理工大学的<Python语言程序设计>第二章笔记. 写笔记的目的一方面在于记录自己一步一步学习Python的内容, 另一方面也希望能够帮助到他人 ...
- 500行代码代码手写docker-将rootfs设置为只读镜像
(3)500行代码代码手写docker-将rootfs设置为只读镜像 本系列教程主要是为了弄清楚容器化的原理,纸上得来终觉浅,绝知此事要躬行,理论始终不及动手实践来的深刻,所以这个系列会用go语言实现 ...
- 荣登国家级榜单!ShowMeBug创始人李亚飞入选「科创中国·青年创业榜」
近日,中国科协召开2022"科创中国"年度会议,会上发布了2021"科创中国"系列榜单.其中,ShowMeBug 创始人&CEO李亚飞入选2021年科创 ...
- Access+Trunk 配置
实验拓扑 实验需求 按图示给各 PC 配置 IP 地址 在SW1和SW2上创建聚合组 PC1 与 PC3 属于 VLAN 10 : PC2 与 PC4 属于 VLAN 20 利用 Access 与 T ...
- 【python基础】函数-模块
函数的优点之一是,使用它们可将代码块与主程序分离.通过给函数指定函数名称,可让主程序容易理解的多.我们还可以更加细化,将函数存储在被称为模块的独立文件中,再将模块导入到主程序中.import关键字作用 ...
- 高并发场景下,6种解决SimpleDateFormat类的线程安全问题方法
摘要:解决SimpleDateFormat类在高并发场景下的线程安全问题可以有多种方式,这里,就列举几个常用的方式供参考. 本文分享自华为云社区<[高并发]更正SimpleDateFormat类 ...
- Task Execution and Scheduling In SpringBoot
开天辟地 Task Execution and Scheduling In the absence of an Executor bean in the context, Spring Boot au ...