lawrencehj
2021-03-14 8a00a036c43697d7447dbd238e5500bd8e4c6175
优化代码
2个文件已修改
32 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java
@@ -4,7 +4,10 @@
import java.util.Map;
import javax.sip.*;
//import javax.sip.message.Request;
import javax.sip.address.SipURI;
import javax.sip.header.FromHeader;
import javax.sip.header.HeaderAddress;
import javax.sip.header.ToHeader;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
@@ -12,14 +15,11 @@
import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import org.springframework.stereotype.Component;
/**    
 * @Description:ACK请求处理器  
 * @author: swwheihei
 * @date:   2020年5月3日 下午5:31:45     
 */
@Component
public class AckRequestProcessor extends SIPRequestAbstractProcessor {
    private IRedisCatchStorage redisCatchStorage;
@@ -38,10 +38,8 @@
        if (dialog == null) return;
        //DialogState state = dialog.getState();
        if (/*request.getMethod().equals(Request.INVITE) &&*/ dialog.getState()== DialogState.CONFIRMED) {
            String remoteUri = dialog.getRemoteParty().getURI().toString();
            String localUri = dialog.getLocalParty().getURI().toString();
            String platformGbId = remoteUri.substring(remoteUri.indexOf(":") + 1, remoteUri.indexOf("@"));
            String channelId = localUri.substring(remoteUri.indexOf(":") + 1, remoteUri.indexOf("@"));
            String platformGbId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(FromHeader.NAME)).getAddress().getURI()).getUser();
            String channelId = ((SipURI) ((HeaderAddress) evt.getRequest().getHeader(ToHeader.NAME)).getAddress().getURI()).getUser();
            SendRtpItem sendRtpItem =  redisCatchStorage.querySendRTPServer(platformGbId, channelId);
            String is_Udp = sendRtpItem.isTcp() ? "0" : "1";
            String deviceId = sendRtpItem.getDeviceId();
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
@@ -75,20 +75,6 @@
            SipURI sipURI = (SipURI) request.getRequestURI();
            String channelId = sipURI.getUser();
            String platformId = null;
//            SubjectHeader subjectHeader = (SubjectHeader)request.getHeader(SubjectHeader.NAME);
//            // 查询通道是否存在 不存在回复404
//            if (subjectHeader != null) { // 存在则从subjectHeader 获取平台信息
//                String subject = subjectHeader.getSubject();
//                if (subject != null) {
//                    String[] info1 = subject.split(",");
//                    if (info1 != null && info1 .length == 2) {
//                        String[] info2 = info1[1].split(":");
//                        if (info2 != null && info2.length == 2) {
//                            platformId = info2[0];
//                        }
//                    }
//                }
//            }
            FromHeader fromHeader = (FromHeader)request.getHeader(FromHeader.NAME);
            AddressImpl address = (AddressImpl) fromHeader.getAddress();
@@ -224,7 +210,9 @@
                    e.printStackTrace();
                }
            }));
            playResult.getResult();
            if (logger.isDebugEnabled()) {
                logger.debug(playResult.getResult().toString());
            }
        } catch (SipException | InvalidArgumentException | ParseException e) {
            e.printStackTrace();