Sip Servlet 获取 SDP 内容

Sip Servlet get SDP content

我需要从 SIP 应用程序中的 SIP 消息推断 SDP。 我试过做类似的事情:

protected void doInvite(SipServletRequest req) throws ServletException, IOException {
String = req.getContent().toString();
}

但是 return 我不是 SDP。 一些解决问题的建议?谢谢!

这通常取决于 Content-Type header 但鉴于这是一个 INVITE,我假设 Content-Type 是 application/sdp。如果是这样,您是否尝试过以下方法?

String sdp = new String(req.getContent())

But it doesn't return me the SDP. Some advices to solve the problem?

尝试以下方法获取 SDP,我在 session_progress 中使用它在 doInvite 方法中打包 SDP:

@Override
protected void doInvite(SipServletRequest request) throws ServletException, IOException {
    byte[] sdpOffer = request.getRawContent();

    try {
        SipServletResponse response = request.createResponse(SipServletResponse.SC_SESSION_PROGRESS);
        response.setContent(sdpOffer, "application/sdp");
        response.send();
        logger.info("SESSION_PROGRESS sent");
    } catch (Exception exp) {
        logger.error("exception in sending SP", exp);
    }
}

注意:代码不完整,回复Session_Progress

还需要做其他事情

我把json文本字符串作为sip消息内容。在我设置 request.setContentType("text/json");在客户端和服务器代码中,我都可以正确获取内容 json 字符串。