`

(原创)Elastix 分机内部呼叫限制,如不同部门间不允许互呼

 
阅读更多

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呼入呼出配置演示参考录像

    这涉及到DID(Direct Inward Dialing)号码的配置,允许外部呼叫者直接拨打分机号码接入内部用户。 - **IVR(Interactive Voice Response)**:Elastix支持自定义IVR菜单,让来电者通过按键选择服务,如转接至特定...

    Elastix 安装使用手册

    5. **转接与转移**:配置电话转接和转移规则,允许用户在不同设备间切换通话。 6. **录音与监控**:启用录音功能,设定录音策略,可以监听和分析通话质量。 7. **报表与统计**:启用呼叫统计和报表,以了解系统的...

    Elastix 不相信眼泪(中文版)

    - **分机与振铃组设置**:讲解了如何在Elastix中创建和管理电话分机,以及如何配置振铃组来实现更灵活的呼叫管理。 - **软电话配置**:指导用户如何配置软电话客户端,以便能够在计算机上拨打和接听电话。 #### ...

    elastix2.3安装参考视频

    学习如何创建分机、设置IVR(交互式语音应答)、呼叫转移规则以及录制自定义语音提示。 9. **安全设置**:Elastix的安全性同样重要,你需要定期更新系统,安装安全补丁,并限制不必要的远程访问。此外,设置强大的...

    elastix SIP 对接代码演示

    3. **配置DID(Direct Inward Dialing)号码**:DID号码允许外部用户通过特定的电话号码直接拨打到Elastix系统中的某个分机。在Elastix中,你需要为每个DID号码创建一个条目,并将其关联到相应的分机或队列。 4. **...

    elastix中文用户手册

    - PBX介绍:Elastix中的PBX功能包括管理电话线路、分机和呼叫路由等。 - 电话终端:指的是连接到PBX系统的各种电话设备。 - SIP网关:负责将传统PSTN(Public Switched Telephone Network,公共交换电话网络)...

    elastix_中文版用户手册

    - **呼入呼出路由**:进一步细化了呼入和呼出的路由规则,包括呼叫队列、IVR(交互式语音应答)流程等,以实现更高效、灵活的呼叫管理。 以上内容覆盖了Elastix中文版用户手册中的关键知识点,从系统介绍到具体的...

    elastix 中文版用户手册.pdf

    - **允许外部创新**:Elastix 的开放式架构鼓励开发者和用户参与进来,共同推动系统的持续改进和发展。 - **稳定可靠**:系统的稳定性、可调节性和易用性使其成为运行 Asterisk PBX 的理想选择。 #### 三、关键配置...

    Asterisk FreePBX Elastix配置及技术解答

    - 分机随行和振铃组的设置,以适应不同的呼叫流程和需求。 5. 软电话设置 - 文档提到如何设置软电话,如CounterPath X-Lite和BOLSIPPhone,并介绍了Profile、语音和视频、网络和STUN标签的配置。 - 还涉及呼叫前转...

    Elastix安装及常用功能配置

    ### Elastix安装及常用功能配置详解 #### 一、Elastix系统安装 - **下载Elastix光盘镜像并刻录** - 访问官方网址:[http://www.elastix.org](http://www.elastix.org) 下载Elastix光盘镜像。 - 使用刻录软件将...

    迅时4FXO+4FXS口网关与freepbx对接配置手册

    - 设置DID号码(如果适用)和目的地,比如将特定号码的呼叫转接到内部分机或IVR。 6. **FXS接口分机配置** - 在FreePBX的“Extensions”模块中,为每个FXS接口创建一个新的分机。 - 分配分机号码,设置相应的...

    用Asterisk@Home组建VoIP电话交换系统

    1. **电话路由**:根据预设规则自动处理呼入和呼出电话。 2. **语音邮件**:为每个分机提供个性化的语音邮箱。 3. **呼叫转移**:支持来电转移至其他分机或外部号码。 4. **会议通话**:创建多方通话。 5. **IVR...

Global site tag (gtag.js) - Google Analytics