Добавление каллидов в sip-сервлеты
Я использую SIP сервлетов API для звонков SIP,
Мое требование состоит в том, чтобы соединить два вызова в конференции, для этого мне нужно изменить идентификатор вызова для одного из запросов на приглашение, но это не позволяет мне изменять идентификатор вызова в части заголовка, и мой код выглядит следующим образом:
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());
и я получаю следующую ошибку:
Заголовок [Call-ID] является системным заголовком, не могу добавить, не могу изменить его!!!
Кто-нибудь может предложить по этому поводу? убедитесь, как изменить call-id
1 ответ
Спецификация сервлетов SIP специально запрещает изменять заголовок Call-ID, который является системным заголовком. Пожалуйста, прочитайте спецификацию на https://jcp.org/en/jsr/detail?id=289
Какой провайдер конференций заставляет вас иметь один и тот же Call-ID для двух разных вызовов, чтобы иметь возможность присоединиться к одной конференции? Это выглядит как очень плохой дизайн и против самого SIP RFC https://tools.ietf.org/html/rfc3261