【问题标题】:How to terminate a sip call with some fixed time如何在某个固定时间终止 sip 呼叫
【发布时间】:2016-02-04 08:47:39
【问题描述】:

我编写了一个处理 sip 呼叫的服务。我想通过配置固定时间或通过发送一些参数来处理通话时间值来制作一些附加功能来限制通话时间。 一旦建立了一个 sip 呼叫,它将终止,最终用户响应为 CANCEL 或 BYE,但在此之前,如果我想将其限制在某个固定时间,有可能吗?如果我已将时间固定为 5 分钟,则一旦建立 sip 呼叫,即使最终用户不想结束呼叫,呼叫也应在 5 分钟后自动终止。 我已经浏览了 expires 标头,这似乎对此没有帮助。

【问题讨论】:

    标签: protocols sip sip-server


    【解决方案1】:

    一个选项是这可以在客户端完成。在客户端,我们可以有可配置的计时器。一旦呼叫开始就开始,当它触发时终止呼叫。

    其他选项是在服务器端做同样的事情。

    【讨论】:

    • 嗨 Krishnan,您能否详细说明一下有关客户端可配置计时器的更多信息?我无权访问服务器端,所以在接收来自服务器的响应时,我可以发送什么参数来处理计时器?
    • @abhisek 您可以在 SDP 数据包中设置计时器“t”。您可以在 RFC4566 中探索更多相关信息
    【解决方案2】:

    是的,这是可能的。通常最好在服务器端执行此操作,因为它通常与充电有关。就像用户用完钱时终止通话一样。

    您需要通过一个背靠背用户代理应用程序来处理您的呼叫。 B2BUA 将启动一个计时器,该计时器到期后,将负责向两条腿发送 BYE 以终止呼叫。您可以在Restcomm SIP Servlets 上执行此操作,https://github.com/RestComm/sip-servlets/tree/master/sip-servlets-examples/call-forwarding 有一个 B2BUA 示例。

    如果您想在客户端执行此操作,您将需要控制客户端代码并实现类似的逻辑,即启动一个计时器,该计时器将在到期时发送 BYE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多