Commit a7f224b1af1e669eda38da867187a148dc993bbb

Authored by 648540858
1 parent b1511556

修复编码错误

src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -2,22 +2,12 @@ package com.genersoft.iot.vmp.gb28181; @@ -2,22 +2,12 @@ package com.genersoft.iot.vmp.gb28181;
2 2
3 import java.text.ParseException; 3 import java.text.ParseException;
4 import java.util.Properties; 4 import java.util.Properties;
  5 +import java.util.TooManyListenersException;
5 import java.util.concurrent.LinkedBlockingQueue; 6 import java.util.concurrent.LinkedBlockingQueue;
6 import java.util.concurrent.ThreadPoolExecutor; 7 import java.util.concurrent.ThreadPoolExecutor;
7 import java.util.concurrent.TimeUnit; 8 import java.util.concurrent.TimeUnit;
8 9
9 -import javax.sip.DialogTerminatedEvent;  
10 -import javax.sip.IOExceptionEvent;  
11 -import javax.sip.ListeningPoint;  
12 -import javax.sip.PeerUnavailableException;  
13 -import javax.sip.RequestEvent;  
14 -import javax.sip.ResponseEvent;  
15 -import javax.sip.SipFactory;  
16 -import javax.sip.SipListener;  
17 -import javax.sip.SipProvider;  
18 -import javax.sip.SipStack;  
19 -import javax.sip.TimeoutEvent;  
20 -import javax.sip.TransactionTerminatedEvent; 10 +import javax.sip.*;
21 import javax.sip.message.Response; 11 import javax.sip.message.Response;
22 12
23 import org.slf4j.Logger; 13 import org.slf4j.Logger;
@@ -93,11 +83,17 @@ public class SipLayer implements SipListener { @@ -93,11 +83,17 @@ public class SipLayer implements SipListener {
93 83
94 @Bean("tcpSipProvider") 84 @Bean("tcpSipProvider")
95 @DependsOn("sipStack") 85 @DependsOn("sipStack")
96 - private SipProvider startTcpListener() throws Exception {  
97 - ListeningPoint tcpListeningPoint = sipStack.createListeningPoint(sipConfig.getSipIp(), sipConfig.getSipPort(), "TCP");  
98 - SipProvider tcpSipProvider = sipStack.createSipProvider(tcpListeningPoint);  
99 - tcpSipProvider.addSipListener(this);  
100 - logger.info("Sip Server TCP 启动成功 port {" + sipConfig.getSipPort() + "}"); 86 + private SipProvider startTcpListener() {
  87 + ListeningPoint tcpListeningPoint = null;
  88 + SipProvider tcpSipProvider = null;
  89 + try {
  90 + tcpListeningPoint = sipStack.createListeningPoint(sipConfig.getSipIp(), sipConfig.getSipPort(), "TCP");
  91 + tcpSipProvider = sipStack.createSipProvider(tcpListeningPoint);
  92 + tcpSipProvider.addSipListener(this);
  93 + logger.info("Sip Server TCP 启动成功 port {" + sipConfig.getSipPort() + "}");
  94 + } catch (TransportNotSupportedException | InvalidArgumentException | TooManyListenersException | ObjectInUseException e) {
  95 + logger.error(String.format("创建SIP服务失败: %s", e.getMessage()));
  96 + }
101 return tcpSipProvider; 97 return tcpSipProvider;
102 } 98 }
103 99
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
@@ -362,7 +362,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { @@ -362,7 +362,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor {
362 private Element getRootElement(RequestEvent evt) throws DocumentException { 362 private Element getRootElement(RequestEvent evt) throws DocumentException {
363 Request request = evt.getRequest(); 363 Request request = evt.getRequest();
364 SAXReader reader = new SAXReader(); 364 SAXReader reader = new SAXReader();
365 -// reader.setEncoding("GB2312"); 365 + reader.setEncoding("gbk");
366 Document xml = reader.read(new ByteArrayInputStream(request.getRawContent())); 366 Document xml = reader.read(new ByteArrayInputStream(request.getRawContent()));
367 return xml.getRootElement(); 367 return xml.getRootElement();
368 } 368 }
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Value; @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Value;
9 import org.springframework.stereotype.Component; 9 import org.springframework.stereotype.Component;
10 10
11 import java.io.IOException; 11 import java.io.IOException;
  12 +import java.net.ConnectException;
12 import java.util.HashMap; 13 import java.util.HashMap;
13 import java.util.HashSet; 14 import java.util.HashSet;
14 import java.util.Map; 15 import java.util.Map;
@@ -55,7 +56,10 @@ public class ZLMRESTfulUtils { @@ -55,7 +56,10 @@ public class ZLMRESTfulUtils {
55 responseJSON = JSON.parseObject(responseStr); 56 responseJSON = JSON.parseObject(responseStr);
56 } 57 }
57 } 58 }
58 - } catch (IOException e) { 59 + } catch (ConnectException e) {
  60 + logger.error(String.format("连接ZLM失败: %s, %s", e.getCause().getMessage(), e.getMessage()));
  61 + logger.info("请检查media配置并确认ZLM已启动...");
  62 + }catch (IOException e) {
59 e.printStackTrace(); 63 e.printStackTrace();
60 } 64 }
61 65