Asterisk PBX play message "this call may be recorded..." 同时分机响铃

Asterisk PBX play message "this call may be recorded..." at the same time extension rings

我的拨号方案是这样的:

[SomeContext]
 exten => 302,1,Answer();
 same => n,Playback(/etc/ast/audio/this-call-may-be-recorded)
 same => n,Dial(SIP/user1)

音频 /etc/ast/audio/this-call-may-be-recorded.sln 播放大约需要 8 秒。 8 秒后 phone 开始响起。 我的问题是如何开始响铃 phone 并同时播放音频以确保音频完成播放? 座席在忙时大约需要 10 秒来接听电话.这意味着客户等待 8 秒 + 10 秒 = 18 秒。有些电话对我们来说非常重要,我们希望减少接听电话所需的时间。 **我们的目标是 phone 立即开始响铃,如果代理快速接听电话,则让他等待 8 秒,直到消息 'this call may be recorded...' 结束播放。


我尝试过的事情:

我正在从这个 link 中得到解决方案:https://www.voip-info.org/asterisk-cmd-dial/

  1. 播放音频 /etc/ast/audio/this-call-may-be-recorded 作为铃声而不是默认铃声。我使用选项 r([tone]) 来做到这一点。此解决方案不起作用,因为如果代理快速响应,则音频 /etc/ast/audio/this-call-may-be-recorded 不会完成播放。

  2. 尝试了选项 A,该选项会在接听电话后附加音频。如果座席需要 10 秒才能接听,那么仍然需要 18 秒才能接通电话。

  3. 使用频道发起命令channel originate SIP/user1 extension 1001@WaitForUserToFinishHearingMessage。我接下来会尝试这个解决方案,但它太复杂了。我将不得不有 2 个独立的频道。跟踪通道何时准备好桥接。此外,由于我正在录制通话,因此我将不得不合并录音。希望我不必采用这种方法。

完成这项任务没有简单的方法。

可能的解决方案

1) 创建电话会议,将呼叫者放入内部,开始播放,创建对代理的外部呼叫并进行相同的会议。

  • 复杂度高
  • 你松散了队列报告并破坏了 cdr

2) 按默认顺序将 chan_spy 频道附加到呼叫者

  • 复杂度高于高级
  • 代理听不到消息
  • 需要手动添加消息来监控录音,以证明您确实播放了通话。陈谍频道不会去录音..

我想还有一个额外的;在你的行尾。

 exten => 302,1,Answer();