拨号计划

<?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>

大致流程

  1. 假设坐席分机号1001、1002、1003、1004拨打611登录到队列中
  2. 客户17712345678拨打0101234567呼入
  3. FreeSWITCH先预应答客户,将客户通话放到队列中
  4. FreeSWITCH查找已登录到队列中的坐席,比如1002
  5. FreeSWITCH将客户通话推到1002坐席,实现通话。
  6. 假设1003坐席暂停接听电话,拨打612退出队列。

[FreeSWITCH]简单配置fifo呼入队列的更多相关文章

  1. Laravel5.4 队列简单配置与使用

    概述 什么是队列? 百度百科是这样说的 “队列”是在传输过程中保存数据的容器. 举几个生活中例子: * iphone手机新款发布,三里屯iphone进的新货.大家要排队买,不能说一大堆人一起冲进去,那 ...

  2. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  3. nginx负载均衡简单配置

    nginx负载均衡简单配置准备三台虚拟机来做这个实验:192.168.232.132        web服务器192.168.232.133        web服务器192.168.232.134 ...

  4. Kafka初入门简单配置与使用

    一 Kafka概述 1.1 Kafka是什么 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算. 1)Apache Kafka是一个开源消息系统,由Scala写成. ...

  5. goldengate原理与简单配置

    goldengate的原理:http://www.ipresst.com/works/52bc44c42954a7d73b0003f2 简单单向配置: 在oracle官网下载下载 GoldenGate ...

  6. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  7. 以实际的WebGIS例子探讨Nginx的简单配置

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...

  8. CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...

  9. ssm简单配置

    MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架. MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获. MyBatis 只使用简单的XML 和注解来配置和映射 ...

  10. 安装MariaDB和简单配置

    1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...

随机推荐

  1. KaiOS 2.5.X 使用 WebIDE 安装以及调试第三方应用程序

    本教程将展示使用 Waterfox Classic 安装为 KaiOS 2.5.x 设计的应用,同时我们也非常推荐使用它来进行安装和调试应用. 本教程本身不会对手机产生任何损害,但请注意,你必须信任你 ...

  2. Maven工程开发

    Maven工程开发 编写pom.xml配置文件 <properties></properties>定义项目的基本信息 groupId 反向域名,定义项目组名 artifactI ...

  3. 2022-08-06:给定一个数组arr,长度为N,arr中所有的值都在1~K范围上, 你可以删除数字,目的是让arr的最长递增子序列长度小于K。 返回至少删除几个数字能达到目的。 N <= 10^4

    2022-08-06:给定一个数组arr,长度为N,arr中所有的值都在1~K范围上, 你可以删除数字,目的是让arr的最长递增子序列长度小于K. 返回至少删除几个数字能达到目的. N <= 1 ...

  4. golang调用sdl2,播放yuv视频

    golang调用sdl2,播放yuv视频 win10 x64下测试成功,其他操作系统下不保证成功. 采用的是syscall方式,不是cgo方式. 见地址 代码如下: package main impo ...

  5. golang调用sdl2,键盘和鼠标事件

    golang调用sdl2,键盘和鼠标事件 win10 x64下测试成功,其他操作系统下不保证成功. 采用的是syscall方式,不是cgo方式. 见地址 代码用golang编写.代码如下: packa ...

  6. 2021-06-01:K个逆序对数组。给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。逆序对的定义如下:对于数组的第i个和第 j个元素,如果满

    2021-06-01:K个逆序对数组.给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数.逆序对的定义如下:对于数组的第i个和第 j个元素,如果满 ...

  7. 【GiraKoo】C++编译中常用的内置宏

    开源项目:https://girakoo.com/ 联系方式:girakoo@163.com 简介 针对不同的平台,很多头文件,函数名称,类型占用空间不一致. 为了保证跨平台可编译,经常需要在项目中使 ...

  8. 百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理

    Paddle Inference 模型推理流程 分别介绍文字检测.方向分类器和文字识别3个模型,基于Paddle Inference的推理过程. Paddle Inference 的 Python 离 ...

  9. 如何在.net6webapi中配置Jwt实现鉴权验证

    JWT(Json Web Token) jwt是一种用于身份验证的开放标准,他可以在网络之间传递信息,jwt由三部分组成:头部,载荷,签名.头部包含了令牌的类型和加密算法,载荷包含了用户的信息,签名则 ...

  10. 没用,随便写的(Dec_8_2022)

    import numpy as np from PIL import Image import pandas as pd import matplotlib.pyplot as plt # 第一个 # ...