我正在使用servlets进行sip呼叫,
我的要求是在会议中连接两个呼叫,为此我需要修改其中一个invite请求的call-id,但它不允许我修改header部分中的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());我得到了以下错误:
HeaderCall-ID为系统表头,不能添加,不能修改!
有人能对此提出建议吗?确保修改call-id的方法
发布于 2015-06-05 15:57:00
SIP Servlets规范明确禁止修改作为系统标头的Call-ID标头。请在https://jcp.org/en/jsr/detail?id=289上阅读规范
哪个会议提供商强制您对2个不同的呼叫使用相同的Call-ID才能加入同一会议?这似乎是一个非常糟糕的设计,并且违背了SIP本身的https://www.rfc-editor.org/rfc/rfc3261#section-8.1.1.4
https://stackoverflow.com/questions/30618204
复制相似问题