兼容缺少y=的sdp

pull/243/head
648540858 2021-11-20 21:03:42 +08:00
parent fe7ddbb5c3
commit 297f896552
1 changed files with 14 additions and 5 deletions

View File

@ -138,12 +138,21 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
// 解析sdp消息, 使用jainsip 自带的sdp解析方式 // 解析sdp消息, 使用jainsip 自带的sdp解析方式
String contentString = new String(request.getRawContent()); String contentString = new String(request.getRawContent());
// jainSip不支持y=字段, 移除移除以解析。 // jainSip不支持y=字段, 移除以解析。
int ssrcIndex = contentString.indexOf("y="); int ssrcIndex = contentString.indexOf("y=");
//ssrc规定长度为10字节不取余下长度以避免后续还有“f=”字段 // 检查是否有y字段
String ssrc = contentString.substring(ssrcIndex + 2, ssrcIndex + 12); String ssrcDefault = "0000000000";
String substring = contentString.substring(0, contentString.indexOf("y=")); String ssrc;
SessionDescription sdp = SdpFactory.getInstance().createSessionDescription(substring); 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); Vector mediaDescriptions = sdp.getMediaDescriptions(true);