1. 内部分机,如何以号码规则分配给各个部门
2. 部门之间,是否可以做到通讯限制;或是上级与下级间是否做可以通讯限制
比如:某公司有两个部门,A部门和B部门
问题1:比较简单,以不同的前缀建立两批分机,分别给不同的部门使用即可
建立两批分机号,8001 - 8009 (分配给A部门)
9001 - 9009 (分配给B部门)
9011 - 9019 (分配给C部门)
8011 - 8019 (分配给D部门)
问题2:有点复杂,下面着重讲解问题二的内容
问题2复杂在于
(1)在 Elastix 的配置页面上,无需配置分机呼叫路由,即可以直接互相通话。所以必须这个问题必须要在配置文件上下功夫
(2)Elastix 的拨号计划配置文件(以 extensions 开头的文件)是互相关联的,而且有些文件的内容还是自动生成的,所以不能胡乱修改拨号计划文件,以免造成呼叫中心系统的其他问题。
所以必须要对 Elastix 的配置文件结构有一定的了解。
一、 分析是需要在哪里修改拨号方案
通过分机间的互拨,可以看到内部分机互呼,一定会优先进入extensions_additional.conf 文件 ext-local 这个 context。
理论上,我们要做内部分机呼叫限制时,可以在这个 context 里配置。但要明白, extensions_additional.conf 配置文件内容是自动生成的,即使修改了这个配置文件,一旦系统重启,所有的修改内容将被重置。所以不能修改这个文件的内容。我们要做修改拨号方案配置,主要是在
extensions_custom.conf ,即是这个自定义的配置文件去修改内容。
首先看看这个ext-local 的配置情况是怎样的:
[ext-local]
include => ext-local-custom
exten => 8001,1,Macro(exten-vm,novm,8001)
exten => 8001,n,Goto(${IVR_CONTEXT},return,1)
exten => 8001,n,Goto(from-internal,8001,1)
exten => 8001,hint,SIP/8001
exten => 8002,1,Macro(exten-vm,novm,8002)
exten => 8002,n,Goto(${IVR_CONTEXT},return,1)
exten => 8002,n,Goto(from-internal,8002,1)
exten => 8002,hint,SIP/8002
exten => 8003,1,Macro(exten-vm,novm,8003)
exten => 8003,n,Goto(${IVR_CONTEXT},return,1)
exten => 8003,n,Goto(from-internal,8003,1)
exten => 8003,hint,SIP/8003
exten => 8004,1,Macro(exten-vm,novm,8004)
exten => 8004,n,Goto(${IVR_CONTEXT},return,1)
exten => 8004,n,Goto(from-internal,8004,1)
exten => 8004,hint,SIP/8004
exten => 9025,1,Macro(exten-vm,novm,9025)
exten => 9025,n,Goto(${IVR_CONTEXT},return,1)
exten => 9025,n,Goto(from-internal,9025,1)
exten => 9025,hint,SIP/9025
exten => 9105,1,Macro(exten-vm,novm,9105)
exten => 9105,n,Goto(${IVR_CONTEXT},return,1)
exten => 9105,n,Goto(from-internal,9105,1)
exten => 9105,hint,SIP/9105
exten => vmret,1,GotoIf($["${IVR_RETVM}" = "RETURN" & "${IVR_CONTEXT}" != ""]?playret)
exten => vmret,n,Hangup
exten => vmret,n(playret),Playback(exited-vm-will-be-transfered&silence/1)
exten => vmret,n,Goto(${IVR_CONTEXT},return,1)
exten => h,1,Macro(hangupcall,)
; end of [ext-local]
通过上述配置的内容,可以看到拨打分机时,是每个分机都配置了 分机号来接收内部分机来电的。
我们要实现内部分机限制,就需要在这个 context 的前一个 context 去配置。
通过 extensions_additional.conf 的配置可以看到
include => app-pickup
include => app-zapbarge
include => app-chanspy
include => ext-test
include => ext-local
include => outbound-allroutes
exten => h,1,Hangup
在 ext-local 之前,是 ext-test,我们要做修改,就需要到这个context 进行修改
[ext-test]
include => ext-test-custom
exten => 7777,1,Macro(user-callerid,)
exten => 7777,n,Goto(from-pstn,${EXTEN},1)
exten => h,1,Macro(hangupcall,)
;--== end of [ext-test] ==--;
在这个 context 中,可以看到包含了 ext-test-custom 这个 context
我们在 extensions_custom.conf 的最后,增加一个context ,名称为 ext-test-custom
二、配置 ext-test-custom 的内容
比如:上面的情况,部门A的号码为 8001-8009 , 部门B的号码为 9001-9009 部门C的号码为 9011-9019
,部门D,的号码为 8011-8019(部门D的号码,仅作为参考用的)
为了解决更复杂的情况,所以这里我用了匹配的方式去做。比如部门A,除了不能呼部门B外,也不能呼叫 部门C
[ext-test-custom]
exten=>_90[0-1]X,1,Set(cidp2=${CALLERID(num):0:2}) ;截取主叫号码的前两位,如8001, 得到 80
exten=>_90[0-1]X,n,Set(cidp3=${CALLERID(num):2:1}) ;截取主叫号码的第三位,如8011, 得到 1
exten=>_90[0-1]X,n,GOTOIF($[${cidp2}=80]?:20) ;如果前两位,匹配80,继续流程
exten=>_90[0-1]X,n,GOTOIF($[${cidp3}=0]?10:20) ;如果第三位为 0 之间的数时,以便与部门D区分开
exten=>_90[0-1]X,10,Noop(call limited) ;呼叫受限
exten=>_90[0-1]X,n,hangup
exten=>_90[0-1]X,20,Noop(call will be continue..........) ;呼叫允许时,转到 ext-local 中处理
exten=>_90[0-1]X,n,GOTO(ext-local,${EXTEN},1)
这样就实现了限制 部门A 与 B、C 的通话
如果说,同时限制 部门A、D 都不允许与 B、C 通话呢?
这里,我们只需要将上面的
exten=>_90[0-1]X,n,GOTOIF($[${cidp3}=0]?10:20) ;如果第三位为 0 之间的数时,以便与部门D区分开
修改为:
exten=>_90[0-1]X,n,GOTOIF($[${cidp3}>=0&&${cidp3}<=1]?10:20) ;这里的判断还可以用 &&的方式,表示 and 的意思,即是说,如果第三位数字大于等于0 ,但是又小于等于1 时,都不允许互相通话。
相关推荐
elastix呼入呼出配置演示参考录像
elastix中的呼叫中心组件elastix中的呼叫中心组件
Custom Context教程 可以根据自己的需要,设置分机拨打指定的trunk,也可以设置分机只能拨打内部分机,不能使用trunk
Elastix 不相信眼泪(中文版)
Elastix 没有眼泪英文版, Elastix 中文版用户手册,研究astreisk的好书,Elastix 入门基础。
Laravel开发-elastix Elastix呼叫中心协议显示Laravel
Elastix_认证培训
voip asterisk elastix
51CTO下载-Asterisk_Elastix_FreePBX
elastix2.3安装参考视频
此文档主要讲述elastix系统上的call center插件如何使用,非常有用
elastix公网呼入及音视频通讯
elastix SIP 对接代码演示
来自澳洲的Elastix安装使用手册,分享之余请支持bensharif@gmail.com
Elastix 系统集成了最优秀的工具, 它使Asterisk PBX拥有一个简单,易操作的界面.还增加了自己的设备, 允许外界创新, 使其成为开源通信最好的软件包. Elastix 的目标就是要发展成为一个稳定,可调节和易操作的软件系统....
配准软件Elastix学习文档
配准工具Elastix程序安装包和github代码
2台Elastix通过SIP对接测试
elastix2.4汉化包 内含 详细说明