增加通道源上的超时



使用 ARI(C#,AsterNET(,我通过 Originate 命令创建一个通道:

   var channel = client.Channels.Originate($"SIP/{number}@{destination}", app: appName, callerId: CLI, timeout: timeout);

这工作正常;但是,timeout从创建频道时开始,实际上我想超时,仅在频道开始振铃时才强制执行。

创建

通道后,是否有任何方法(通过 ARI(操作timeout设置 - 因此,例如,我可以创建具有任意超时的通道,然后在通道状态更改为 RINGING 后(重新(设置超时?

无法

根据星号振铃进行超时。

不在拨号计划中,不在 ARI 或 AMI 或 AGI 中。完全没有。

只有复杂的事情,如侦听事件和手动挂断频道。

而不是使用 originate:

POST /channels

您可以使用:

POST /channels/create

以创建频道而不立即拨号。这允许您的 Stasis 应用程序在应答之前获得对通道的控制。

/channels/create之前,您现在应该设置一个StasisStart事件处理程序,该处理程序执行/channels/dial并设置此请求中的超时。

这不会确切地用于频道开始响铃的时间(因为无法设置(,但它将确切地用于拨打频道的时间,希望这与您要查找的内容非常接近。

注意:使用此方法时,您可能还需要在StasisStart事件处理程序中设置调用方 ID,因为它无法在/channels/create请求中设置。

最新更新