【问题标题】:REFER method- JAIN SIP API - JAVA- Call transferREFER 方法 - JAIN SIP API - JAVA - 呼叫转移
【发布时间】:2018-12-30 21:48:42
【问题描述】:

您能否介绍一下如何在 Java 中使用 JAIN SIP API 中的 REFER 方法。我想使用 REFER 方法,因为我会使用呼叫转移。

【问题讨论】:

    标签: java sip jain-sip refer


    【解决方案1】:

    如果您已经建立了 SIP 对话,这非常简单:

    public void sendRefer(String to, String by) throws Exception, SipException {
        Request req = dialog.createRequest("REFER");
        req.addHeader(headerFactory.createHeader("Refer-To", "sip:"+to+"@"+realm));
        req.addHeader(headerFactory.createHeader("Referred-By", "sip:"+by+"@"+realm));
        dialog.sendRequest(provider.getNewClientTransaction(req));
    }
    

    如果您是无状态对话框,它会稍微复杂一些,您必须将其构建为后续请求。

    【讨论】:

    • 谢谢 :) 。我已经添加了这个方法。但是当我运行时,引用成功但呼叫没有被转移。我应该添加更多内容还是启用以使其正常工作。请指教:)
    • 如果REFER成功我猜你的意思是你从另一边得到了OK?如果你从对方那里得到了 OK,那么你应该检查他们的日志,看看他们为什么忽略它。有许多类型的传输,每个供应商支持不同的类型。这是最简单的盲转。有人参与的转移也需要一个 Replaces 标头,之后会变得更加复杂。
    • 不,我相信我没有从另一方得到好的。发送的推荐请求成功并收到 202 接受,并且正在发送通知消息,但之后我得到“再见”。你能告诉我如何解决这个问题。注意:只有转让方是 SIP 账户。其他手机没有。我用这张图作为参考link
    • 202 接受很好,您的应用程序正在运行,您可能只需要正确瞄准传输。收到 BYE 是正常的,因为这是盲转。如果是某种失败,请检查是否有原因标题。传输目标很可能在第 3 方服务器中无法解析。检查您的服务器日志以找出原因。
    • 感谢您的帮助.. :) 。只是一个小疑问,我应该在我的 java 代码中触发从 Transferee 到 Transfer 目标的邀请事件,还是在发送推荐请求后应该如何触发流程邀请。你能告诉我吗。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多