648540858
2021-11-20 297f8965526b9438117c78b64eb6a0b3a518c70d
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
@@ -33,10 +33,8 @@
import java.text.ParseException;
import java.util.Vector;
/**
 * @description:处理INVITE请求
 * @author: panll
 * @date:   2021年1月14日
/**
 * SIP命令类型: INVITE请求
 */
@SuppressWarnings("rawtypes")
@Component
@@ -140,12 +138,21 @@
            // 解析sdp消息, 使用jainsip 自带的sdp解析方式
            String contentString = new String(request.getRawContent());
            // jainSip不支持y=字段, 移除移除以解析。
            // jainSip不支持y=字段, 移除以解析。
            int ssrcIndex = contentString.indexOf("y=");
            //ssrc规定长度为10字节,不取余下长度以避免后续还有“f=”字段
            String ssrc = contentString.substring(ssrcIndex + 2, ssrcIndex + 12);
            String substring = contentString.substring(0, contentString.indexOf("y="));
            SessionDescription sdp = SdpFactory.getInstance().createSessionDescription(substring);
            // 检查是否有y字段
            String ssrcDefault = "0000000000";
            String ssrc;
            SessionDescription sdp;
            if (ssrcIndex >= 0) {
               //ssrc规定长度为10字节,不取余下长度以避免后续还有“f=”字段
               ssrc = contentString.substring(ssrcIndex + 2, ssrcIndex + 12);
               String substring = contentString.substring(0, contentString.indexOf("y="));
               sdp = SdpFactory.getInstance().createSessionDescription(substring);
            }else {
               ssrc = ssrcDefault;
               sdp = SdpFactory.getInstance().createSessionDescription(contentString);
            }
            //  获取支持的格式
            Vector mediaDescriptions = sdp.getMediaDescriptions(true);