首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mobicents错误响应处理-重新代理的正确方法是什么?

Mobicents错误响应处理-重新代理的正确方法是什么?
EN

Stack Overflow用户
提问于 2015-05-29 17:14:03
回答 2查看 164关注 0票数 2

Mobicents容器似乎处理错误响应与我使用过的其他SIP容器不同。情况是:

  • 在接收到INVITE时,app处理下游的代理和代理(监督)(因此它可能收到对invite的响应)。
  • 当接收到来自初始目标的错误响应时,app代理将返回一个新的目的地(以一种非监督的方式)。

这将防止初始错误响应向上游传播(因为事务有一个新的目标)。但是,使用Mobicents容器,即使INVITE确实被代理到新的目的地,最初接收到的错误响应仍然在上游传播。我相信这是Mobicents实现中的一个bug --但是如何解决这个问题呢?

代码:

代码语言:javascript
复制
public void doInvite(SipServletRequest req) {
  req.getProxy().proxyTo(req.getRequestURI());
}

public void doError(SipServletResponse res) {
    Proxy p = res.getProxy();
    p.setSupervised(false);
    p.proxyTo(...);
    // request is proxied, but the error response still passes
    // upstream - the retargeting of the transaction (through
    // proxying to a new destination ought to prevent that).
}
EN

回答 2

Stack Overflow用户

发布于 2015-05-31 23:01:15

您要从哪个其他SIP容器迁移应用程序?你是在做顺序代理还是并行代理?您收到了哪些错误响应?您使用的是哪个版本的容器?您在gist.github.com或pastebin.com上有完整的日志吗?

票数 0
EN

Stack Overflow用户

发布于 2015-06-01 05:03:51

作为一种纯代理解决方案,Mobicents正在执行将错误响应转发回调用发起者的正确行为,因此必须在调用方处理基于错误代码的顺序分叉逻辑。

但是,如果希望mobicents执行此行为,则需要运行mobicents的B2BUA模式,这将使您能够更细粒度地控制独立于两个调用腿入口/出口的行为。

发起人获得一个183调用进度的邀请入口腿,而顺序重试可以处理的出口腿,而没有风险的初始超时发生在入侵。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30535395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档