Asterisk

如何在佔線使用者 (CCBS) 上啟用星號呼叫完成?

  • May 10, 2019

我無法在星號上啟用遇忙使用者呼叫完成 (CCBS),它是呼叫完成補充服務 (CCSS) 的一部分,無響應呼叫完成 (CCNR) 功能也是如此。

場景如下:Mark 拿起他的電話 (1000) 並通過撥打 2000 撥通 Richard。Richard 目前正在通話,因此 Mark 聽到忙音。然後,Mark 掛斷電話,拿起電話並撥打 30 以呼叫 CallCompletionRequest 應用程序。過了一會兒,Richard 打完電話掛斷了電話。Asterisk 會自動回調 Mark。當 Mark 拿起他的電話時,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

系統資訊:

  • 作業系統:Cents7
  • 星號 13.13-cert6

要讓 Asterisk 在 CallCompletionRequest 之後啟用 CCBS,忙碌的設備需要使用 486 Busy Here 響應來回答 SIP INVITE。也就是說,即使 Asterisk 內部狀態為“InUse”,Asterisk 也必須撥打分機,並且設備需要禁用“Call Waiting”功能。在我維護 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

引用自:https://serverfault.com/questions/894663