【问题标题】:Java and Sip ProxyJava 和 Sip 代理
【发布时间】:2013-03-08 13:40:28
【问题描述】:

我试图实现 sip 重定向。为此,我使用 javax.servlet.sip.Proxy

SipFactory sipFactory = (SipFactory) getServletContext().getAttribute(SIP_FACTORY);
Proxy proxy = request.getProxy();
proxy.setParallel(false);
proxy.setRecordRoute(true);
ArrayList uris = new ArrayList();
SipURI uri2 = sipFactory.createSipURI("48505999666", "some_host");

uris.add(uri2);
proxy.proxyTo(uris);

但是在 From 标题中,我在电话号码中获得了额外的前缀,在我的手机上我看不到谁在打电话。有什么方法可以修改 From header displayName 吗?

【问题讨论】:

    标签: proxy sip sip-server


    【解决方案1】:

    当您说“附加前缀”时,您的意思是代理正在更改 From 标头的值吗?这听起来像是不正确的代理行为。 UAC 发送什么,代理发送什么?

    根据 JSR-289,From 标头是系统标头,因此不能被代理修改。以增加复杂性为代价,您可以改为实现背靠背用户代理 (b2bua)。

    【讨论】:

    • 当我说“附加前缀”时,我提到呼叫中心会添加前缀,例如,我拨打表格号码“48505999667”,在 sipUri 中我有“B1448505999667”。当我将其代理到另一部电话时,此前缀会使号码“未知”。
    • OK,所以初始 SIP 请求中的 From 标头包含 UAS 不喜欢的额外字符。如上所述,代理无法更改 From 标头。 UAS 是否会检查任何其他标头以确定呼叫者 ID?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多