如何启用星号忙时用户呼叫完成 (CCBS)?

如何启用星号忙时用户呼叫完成 (CCBS)?

我无法在 Aterisk 上启用忙时用户完成呼叫 (CCBS) 功能,它是呼叫完成补充服务 (CCSS) 的一部分,无响应时完成呼叫 (CCNR) 功能也是如此。

场景如下:马克拿起电话 (1000),拨打 2000 给理查德打电话。理查德正在通话中,所以马克听到忙音。然后马克挂断电话,拿起电话拨打 30 来调用 CallCompletionRequest 应用程序。过了一会儿,理查德结束通话并挂断电话。Asterisk 会自动回拨马克。当马克拿起电话时,Asterisk 将为他拨打分机 2000。

根据文档,我必须根据自己的需求(通用)添加 cc_agent_policy 和 cc_monitor_policy,将 CCSS 启用扩展添加到拨号计划,并在拨打占线电话后启用它。我就是这么做的。

问题是,当分机忙时使用的 CCBS 不起作用,因为拨打分机号 30 来启用对之前忙的分机的监控时什么也没有发生,这有点令人沮丧,因为另一个功能 CCNR(用于监控无响应分机的功能)可以正常工作。

有人能告诉我缺少了什么吗?

这是配置文件:

/etc/asterisk/sip.conf

[1000]
context=default
cc_agent_policy=generic
cc_monitor_policy=generic

[2000]
context=default
cc_agent_policy=generic
cc_monitor_policy=generic

/etc/asterisk/extensions.conf

[default]
exten => 1000,1,Dial(SIP/1000,20)
exten => 1000,n,Hangup
exten => 2000,1,Dial(SIP/2000,20)
exten => 2000,n,Hangup
exten => 30,1,CallCompletionRequest
exten => 30,n,Hangup
exten => 31,1,CallCompletionCancel
exten => 31,n,Hangup

这是在呼叫未应答的电话并启用 CCSS 拨打分机 30 后 CLI 中的 CC 报告状态:

Core ID     Caller              Status
----------------------------------------------------------------------------
0       SIP/1000        CC accepted by callee
        |-->2000@default
        |-->SIP/2000(CCNR)

在拨打一部占线电话(猜测应该显示 CC 状态)并尝试启用 CCSS 拨号分机 30 后:

CLI> There are currently no active call completion transactions

系统信息:

  • 操作系统:Centos7
  • 星号 13.13-cert6

答案1

要让 Asterisk 在 CallCompletionRequest 之后启用 CCBS,忙碌设备需要使用 486 Busy Here 响应来回答 SIP INVITE。也就是说,即使分机内部状态为“InUse”,Asterisk 也必须拨打分机,并且设备需要禁用“呼叫等待”功能。在我的环境中,我维护一个 Elastix 发行版,我必须为所有设备启用“呼叫等待”,以便 Asterisk 拨打分机,即使分机忙碌。然后,在设备上禁用“呼叫等待”后,它会响应 SIP 486 消息。

在纯 Asterisk 中,可以通过设置

busylevel = 2 

在分机的 sip.conf 中。即使分机正在通话中,Asterisk 也会拨打分机,如果禁用“呼叫等待”设备功能,它将响应 486。

参考 sip.conf.sample,其中包含对 peer/user/friend 可用的配置: https://github.com/asterisk/asterisk/blob/13.26/configs/samples/sip.conf.sample

相关内容