【问题标题】:How can I send a 182 Queued SIP message from CCXML?如何从 CCXML 发送 182 排队 SIP 消息?
【发布时间】:2011-04-05 14:02:45
【问题描述】:

我正在构建一个语音应用程序,该应用程序在我的应用程序尝试设置出站呼叫时需要长时间振铃。在此期间,电话必须无人接听。

我正在使用连接到媒体网关的基于 SIP 的 Genesys GVP 8.1 IVR。

我遇到的问题是因为电话无人接听,它在 30 秒后超时。我需要向媒体网关发送某种保持活动消息,说明通话仍在进行中。

我试过用这个:

<send target="inConnectionID" targettype="'x-connection'" data="'connection.progressing'"/>

这将生成一个 180 振铃...但我已经发送了一个 180 振铃消息,我认为 SIP 服务器不会将其传递到网络上,因为它已经处理了一个 180 消息。

理想情况下,我想尝试发送 182 Queued 消息,但我在 CCXML 或扩展 GVP CCXML 文档中找不到任何内容来说明如何执行此操作。

我的 Wireshark SIP 跟踪如下所示:

您可以看到 24 秒时的第二个 180 响铃没有被传递到媒体网关。

如何让 GVP/CCXML 发送 182 排队 SIP 消息?

【问题讨论】:

  • 我建议看看为什么媒体服务器会在 24 秒后取消呼叫。这是一个非常小的超时,很可能是可以配置的。我怀疑向媒体服务器发送另一个 18 倍响应会阻止它取消。

标签: sip ccxml


【解决方案1】:

服务器应该转发你的 180,虽然它没有到 - 但它应该因为前 180 可能在它和媒体服务器之间丢失(尽管服务器会重新发送邀请可能)。

但是,正如 sipwiz 所指出的,可能的问题是媒体服务器为接受呼叫而配置的最大超时。 182 不太可能有帮助(尽管不了解媒体服务器很难确定)。

此外,您应该每隔大约 1 分钟重新传输 180(并且 sip 服务器应该通过它)以避免规范允许的可能的 3 分钟超时。如果 3 分钟后没有 1xx 响应,则某些 SIP 堆栈(如 eXosip)默认会超时。

【讨论】:

    【解决方案2】:

    我同意媒体网关不应在 34.7 取消。我还认为 SIP 服务器应该在发送 leg2 的出站邀请之前在 leg1 上发送一个 100 尝试。如果媒体网关使用 SRV 翻转算法,这将停止来自 leg1 UAC 的任何重新传输并防止任何故障转移。

    【讨论】:

      猜你喜欢
      • 2018-02-18
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多