FreeSWITCH--配置代接电话
配置代接电话,需要更改 分机、拨号计划、外线 的配置
一、配置分机
代接组内分机的这个“组”, 不是“conf/directory/default.xml"中配置的 group,而是要在分机配置中配置。然后会在拨号计划中使用到这个配置。
如下配置: “callgroup”
- <include>
- <user id="8002">
- <params>
- <param name="password" value="$${default_password}"/>
- </params>
- <variables>
- <variable name="toll_allow" value="domestic,international,local"/>
- <variable name="accountcode" value="8004"/>
- <variable name="user_context" value="default"/>
- <variable name="effective_caller_id_number" value="8004"/>
- <variable name="effective_caller_id_name" value="8004"/>
- <variable name="callgroup" value="allagents"/>
- </variables>
- </user>
- </include>
二、配置拨号计划-代接
线上代码, 再解释:
- <!-- 全局截断分机代接 -->
- <extension name="global-intercept">
- <condition field="destination_number" expression="^\#\*\*$">
- <action application="answer"/>
- <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/global)}"/>
- </condition>
- </extension>
- <!-- 组内截断分机代接 -->
- <extension name="group-intercept">
- <condition field="destination_number" expression="^\#\*$">
- <action application="answer"/>
- <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/${callgroup})}"/>
- </condition>
- </extension>
- <!-- 指定截断代接 -->
- <extension name="intercept-ext">
- <condition field="destination_number" expression="^\#(\d+)$">
- <action application="answer"/>
- <action application="intercept" data="${hash(select/${domain_name}-last_dial_ext/$1)}"/>
- </condition>
- </extension>
- <!-- 重播 -->
- <extension name="redial">
- <condition field="destination_number" expression="^(redial|\*\#)$">
- <action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
- </condition>
- </extension>
“intercept” 这个application 是中途拦截的意思,也就是说,在通话中的话,也能吧电话接过来,抢劫哈~
1.不例外, 先”answer“
2.然后拦截呼叫
拦截呼叫要先查找呼叫,当然是查找最后一个啦:“${domain_name}-last_dial_ext”,全局,主内,或者指定的分机。
这里使用的hash表,来存储的 记录, 所以是在hash表中查,官网是用db记录的,就在db中查了。
三、配置拨号计划-记录
前面提到了查询,那么这些个记录是哪里来的呢;同样是拨号计划中记录的啦。
要代接的,一般都是外线呼入的,当然也有内线呼入的,那么怎么记录呢?
1、内线记录呼叫
内线呼入,当然是在内线的dialplan里记录了:
- <!-- 拨分机 -->
- <extension name="extension-intercom">
- <condition field="destination_number" expression="^(8[0-6][0-9][0-9])$">
- <!--<action application="log" data="console $1 ${destination_number}"/>-->
- <action application="set" data="dialed_extension=${destination_number}"/>
- <action application="set" data="callee_party_callgroup=${user_data(${destination_number}@${domain_name} var callgroup)}"/>
- <action application="export" data="dialed_extension=${destination_number}"/>
- <action application="hash" data="insert/${domain_name}-call_return/${dialed_extension}/${caller_id_number}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/${callee_party_callgroup}/${uuid}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/global/${uuid}"/>
- <action application="export" data="nolocal:rtp_secure_media=${user_data(${dialed_extension}@${domain_name} var rtp_secure_media)}"/>
- <action application="hash" data="insert/${domain_name}-last_dial/${callee_party_callgroup}/${uuid}"/>
- <!--设置回铃音-->
- <action application="set" data="ringback=${us-ring}"/>
- <!--<action application="set" data="ringback=ForestHymn3.wav"/>-->
- <!--<action application="set" data="transfer_ringback=$${hold_music}"/>-->
- <action application="set" data="transfer_ringback=local_stream://moh"/>
- <!--<action application="set" data="transfer_ringback=ForestHymn.wav}"/>-->
- <action application="set" data="call_timeout=30"/>
- <!-- <action application="set" data="sip_exclude_contact=${network_addr}"/> -->
- <action application="set" data="hangup_after_bridge=true"/>
- <!--<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
- <action application="set" data="continue_on_fail=true"/>
- <!--话机自动接听-->
- <!--<action application="export" data="sip_auto_answer=true"/>-->
- <action application="bridge" data="user/${destination_number}@${domain_name}"/>
- </condition>
- </extension>
上面三个加粗的,分别是记录指定分机,组内,全局的。
2、外线记录呼叫呼叫
外线,就在外线的dialplan里记录了,转分机前,记得,是转分机前!
- <action application="set" data="dialed_extension=8002"/>
- <action application="set" data="callee_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/${callee_party_callgroup}/${uuid}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
- <action application="hash" data="insert/${domain_name}-last_dial_ext/${callee_party_callgroup}/${uuid}"/>
- <action application="bridge" data="[originate_timeout=30]user/${dialed_extension}"/>
问题: 如果是在 用esl转的,咋加记录? callcenter转的咋记录?
FreeSWITCH--配置代接电话的更多相关文章
- 公网用户接入NAT后面的freeswitch配置
大致网络示意和终端号码: 客户端侧: 终端号码(1019)终端IP(192.168.1.15)+ 网关(192.168.1.1) + 路由器公网IP(动态地址) 服务器侧: 防火墙(181.92.2. ...
- Freeswitch配置之sofia
SIP模块 - mod_sofia SIP 模块是 FreeSWITCH的主要模块. 在 FreeSWITCH中,实现一些互联协议接口的模块称为 Endpoint.FreeSWITH支持很多的 End ...
- freeswitch配置功能二
<?xml version="1.0" encoding="utf-8"?><include> <context n ...
- freeswitch 配置 DID 方法
本文来自 csdn http://blog.csdn.net/voipmaker 转载注明出处,谢谢. 我建了一个 Freeswitch学习 交流群, 45211986, 欢迎加入. DI ...
- Zabbix实现电话告警通知的配置方法分享
如果要讨论下当下热门的监控系统,我想zabbix应该能够占有自己的一席之地,拥有不小的话语权吧.然而身为一名苦逼的运维,为了不错过重大的告警信息,就需要配置个[电话告警]来进行最快速的通知. zabb ...
- FreeSWITCH 1.2.5.3 Step by Step Install
Ubuntu: apt-get -y install build-essential automake autoconf git-core wget libtool apt-get -y instal ...
- FreeSWITCH 学习笔记
[1]FreeSWITCH学习笔记 1.Windows安装包下载地址:http://files.freeswitch.org/windows/installer/ 2.源码下载地址:http://fi ...
- squid安装、配置、控制
Squid 目录 [隐藏] 1 前言 2 安装 2.1 从源中安装 2.2 源码编译安装 3 基本配置 4 高级控制 5 认证 6 总结 6.1 服务器配置 6.2 用户分类 6.3 行为分类 6. ...
- 开源软交换系统 FreeSwitch 与 Asterisk 比较
Asterisk 与freeswitch都是流行的开源软交换服务器,Asterisk出现的比较早,大概在1999年开始此项目,应该是最流行的开源软交换服务器,整个社区上下游都已经很成熟. freesw ...
随机推荐
- 用Python做图像处理
转自:http://blog.csdn.net/gzlaiyonghao/article/details/1852726 最近在做一件比较 evil 的事情——验证码识别,以此来学习一些新的技能.因 ...
- 记一次 FastAdmin CMS 内容提示空的问题
记一次 FastAdmin CMS 内容提示空的问题 有小伙伴反馈 FastAdmin CMS 安装后出现内容有文字,但提示错误 的问题. 我在本地重新安装测试并没有发现这个问题,一切正常,编辑器也可 ...
- Ubuntu sudo: add-apt-repository: command not found
安装缺少的指令即可 $ sudo apt-get install software-properties-common python-software-properties
- 杂项:WWW
ylbtech-杂项:WWW WWW是环球信息网的缩写,(亦作“Web”.“WWW”.“'W3'”,英文全称为“World Wide Web”),中文名字为“万维网”,"环球网"等 ...
- ES6中的新特性
本人最近学习es6一些方法,难免有些手痒,想着能不能将这些方法总结下,如下 1.数组的扩展 1)首先什么是伪数组 无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法 ...
- nginx 反向代理与负载均衡应用实践
集群介绍 集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器.这些服务器之间可以彼此通信,协同向 ...
- Linux学习笔记 -- stdin/stdout 重定向
输入/输出重定向 Linux系统通常从一个叫标准输入的地方读取输入并且将一个命令的结果以写入到标准输出反馈给我们:默认情况下,这也是我们使用的终端(命令行).如果我们想改变输入和输出的方式,就需要使用 ...
- 安卓权限处理 PermissionDog
PermissionDog 简介 权限狗 权限申请 最近在一家公司实习,项目中需要用到适配安卓6.0以上的系统,我本来是想用其他人已经写好的权限申请框架来实现的,但是发现跟我的需求有点小区别,所以就自 ...
- windows zabbix_agent 客户端安装部署
1.下载客户端:zabbix_agentd.zip 2.在c盘创建文件夹zabbix,解压conf和bin目录 3.将conf下的zabbix_agentd.win.conf 修改为zabbix_ag ...
- OD 实验(十七) - 对一个程序的逆向分析
程序: 运行程序 弹出一个对话框,点击 OK 来到主界面,点击 Help -> Register Now 这是输入注册码的地方 按关闭程序的按钮 会提示剩下 30 天的使用时间 用 Ressco ...