![如果呼叫已达到超时,则从队列转移呼叫(EXITWITHTIMEOUT)](https://linux22.com/image/1502408/%E5%A6%82%E6%9E%9C%E5%91%BC%E5%8F%AB%E5%B7%B2%E8%BE%BE%E5%88%B0%E8%B6%85%E6%97%B6%EF%BC%8C%E5%88%99%E4%BB%8E%E9%98%9F%E5%88%97%E8%BD%AC%E7%A7%BB%E5%91%BC%E5%8F%AB%EF%BC%88EXITWITHTIMEOUT%EF%BC%89.png)
我正在使用队列(Queue,Rn,,,20)拨号方案。如果呼叫在队列中等待超过 20 分钟。我需要将呼叫转接到其他分机而不挂断。
请建议实现上述方案的方法。谢谢。
答案1
队列的第 5 个参数是队列超时。
如果达到,变量 QUESTATUS 将设置为 TIMEOUT
您可以在拨号计划中检查,如果超时则执行任何其他操作。
pro-sip*CLI> core 显示应用程序队列
-= 关于应用程序‘Queue’的信息 =-
[概要] 将呼叫排队至呼叫队列。
[描述] 除了转接呼叫外,呼叫还可以被暂停,然后由另一个用户接听。如果队列不存在,或者任何加入选项导致呼叫者未进入队列,则此应用程序将返回到拨号计划。此应用程序不会自动应答,应先于 Answer()、Progress() 或 Ringing() 等应用程序。此应用程序在完成后设置以下通道变量:${QUEUESTATUS}:以文本字符串表示的呼叫状态。TIMEOUT FULL JOINEMPTY LEAVEEMPTY JOINUNAVAIL LEAVEUNAVAIL CONTINUE
[语法] Queue(队列名称[,选项[,URL[,announceoverride[,超时[,AGI[,宏[,gosub[,规则[,位置]]]]]]]]])
[参数] 选项 C:取消时将所有呼叫标记为“在其他地方接听”。
c: Continue in the dialplan if the callee hangs up. d: data-quality (modem) call (minimum delay). h: Allow *callee* to hang up by pressing '*'. H: Allow *caller* to hang up by pressing '*'. n: No retries on the timeout; will exit this application and go to the next step. i: Ignore call forward requests from queue members and do nothing when they are requested. I: Asterisk will ignore any connected line update requests or any redirecting party update requests it may receive on this dial attempt. r: Ring instead of playing MOH. Periodic Announcements are still made, if applicable. R: Ring instead of playing MOH when a member channel is actually ringing. t: Allow the *called* user to transfer the calling user. T: Allow the *calling* user to transfer the call. w: Allow the *called* user to write the conversation to disk via Monitor. W: Allow the *calling* user to write the conversation to disk via Monitor. k: Allow the *called* party to enable parking of the call by sending the DTMF sequence defined for call parking in "features.conf". K: Allow the *calling* party to enable parking of the call by sending the DTMF sequence defined for call parking in "features.conf". x: Allow the *called* user to write the conversation to disk via MixMonitor. X: Allow the *calling* user to write the conversation to disk via MixMonitor.
如果通道支持,URL 将被发送给被叫方。 timeout 将导致队列在指定的秒数后失败,在每个“queues.conf”和周期之间检查。 AGI 将设置在呼叫方连接到队列成员后在其通道上执行的 AGI 脚本。 macro 将在双方连接后在被叫方的通道(队列成员)上运行宏。 gosub 将在双方连接后在被叫方的通道(队列成员)上运行 gosub。 rule 将导致队列的默认规则被指定的规则覆盖。 position 尝试将呼叫者进入指定数字位置的队列。'1' 将尝试将呼叫者进入队列的头部,而 '3' 将尝试将呼叫者放在队列的第三位。
[另请参阅] Queue()、QueueLog()、AddQueueMember()、RemoveQueueMember()、PauseQueueMember()、UnpauseQueueMember()、QUEUE_VARIABLES、QUEUE_MEMBER、QUEUE_MEMBER_COUNT、QUEUE_EXISTS、QUEUE_WAITING_COUNT、QUEUE_MEMBER_LIST、QUEUE_MEMBER_PENALT