【问题标题】:adding callid in sip-servlets在 sip-servlet 中添加 callid
【发布时间】:2015-06-03 11:00:50
【问题描述】:

我正在使用 sip servlets api 进行 sip 调用,

我的要求是在会议中连接两个呼叫,为此我需要修改其中一个邀请请求的 call-id,但它不允许我在标题部分修改 call-id,我的代码如下:

SipServletRequest forkedRequest = linkedSession.createRequest("INVITE");
ipFactory sipFactory = (SipFactory)getServletContext().getAttribute("javax.servlet.sip.SipFactory");
SipURI sipUri = (SipURI)sipFactory.createURI("sip:msml@192.168.149.113");
forkedRequest.setRequestURI(sipUri);
forkedRequest.setContent(secondSdp,"application/sdp");
forkedRequest.addHeader("Call-ID",sipServletResponse.getCallId());

我收到以下错误:

Header[Call-ID]是系统头,不能添加,不能修改!!!

有人可以就此提出建议吗?确定如何修改 call-id

【问题讨论】:

    标签: sip mobicents-sip-servlets


    【解决方案1】:

    SIP Servlets 规范明确禁止修改 Call-ID Header,它是一个 System Header。请在https://jcp.org/en/jsr/detail?id=289阅读规范

    哪个会议提供商强制您为 2 个不同的呼叫使用相同的 Call-ID 才能加入同一个会议?这似乎是一个非常糟糕的设计,并且违反了 SIP RFC 本身https://www.rfc-editor.org/rfc/rfc3261#section-8.1.1.4

    【讨论】:

    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-12
    • 2019-02-10
    • 2015-09-17
    • 1970-01-01
    相关资源
    最近更新 更多