当呼叫者挂断队列时,Asterisk HANGUPCAUSE始终为0

时间:2018-01-30 12:38:13

标签: asterisk agi

使用Asterisk 11,配置入站路由以调用 Queue 应用程序,每次调用者挂断 HANGUPCAUSE 变量为0时,它都能正常工作并返回代码。示例代码:

[from-trunk]
exten => s,1,Answer()
same => n,Queue(queue-1,rkt,,,30)
exten => h,1,Verbose(Hangup cause is ${HANGUPCAUSE})

如何从使用队列回答的呼叫中获取有效的 HANGUPCAUSE

1 个答案:

答案 0 :(得分:3)

Asterisk HANGUP_CAUSE只会显示最后一次拨号命令的值,仅适用于某些频道类型。

队列生成100500个新呼叫,并将它们连接在一起以实现您想要的功能。

您可以使用本地/频道中的座席检查队列中的分支(每个分支中的原因可能不同)。

您可以使用队列应用变量:

This application sets the following channel variables upon completion:
${QUEUESTATUS}: The status of the call as a text string.
    TIMEOUT
    FULL
    JOINEMPTY
    LEAVEEMPTY
    JOINUNAVAIL
    LEAVEUNAVAIL
    CONTINUE
${ABANDONED}: If the call was not answered by an agent this variable will be
TRUE.

您也可以使用queue_log或CDR。