648540858
2022-09-09 221f99c764b51c3cd284c6e5a41492c26c5c7ffc
src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
@@ -4,9 +4,16 @@
import gov.nist.javax.sip.address.SipUri;
import gov.nist.javax.sip.header.Subject;
import javax.sip.PeerUnavailableException;
import javax.sip.SipFactory;
import javax.sip.header.FromHeader;
import javax.sip.header.Header;
import javax.sip.header.UserAgentHeader;
import javax.sip.message.Request;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
 * @author panlinlin
@@ -23,8 +30,12 @@
    /**
     * 从subject读取channelId
     * */
    public static String getChannelIdFromHeader(Request request) {
    public static String getChannelIdFromRequest(Request request) {
        Header subject = request.getHeader("subject");
        if (subject == null) {
            // 如果缺失subject
            return null;
        }
        return ((Subject) subject).getSubject().split(":")[0];
    }
@@ -34,4 +45,25 @@
        return uri.getUser();
    }
    public static  String getNewViaTag() {
        return "z9hG4bK" + System.currentTimeMillis();
    }
    public static UserAgentHeader createUserAgentHeader(SipFactory sipFactory) throws PeerUnavailableException, ParseException {
        List<String> agentParam = new ArrayList<>();
        agentParam.add("WVP PRO");
        // TODO 添加版本信息以及日期
        return sipFactory.createHeaderFactory().createUserAgentHeader(agentParam);
    }
    public static String getNewFromTag(){
        return UUID.randomUUID().toString().replace("-", "");
//        return getNewTag();
    }
    public static String getNewTag(){
        return String.valueOf(System.currentTimeMillis());
    }
}