Commit 1a746f28822fe7ca382eda6ede2e32d6cf8e6d01

Authored by Lawrence
1 parent e9e4e8d4

将设备IP地址填入via Header中,避免部分设备回复200 OK时contact信息缺失导致无法回复ack

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
... ... @@ -79,7 +79,8 @@ public class SIPRequestHeaderProvider {
79 79 SipURI requestLine = layer.getAddressFactory().createSipURI(channelId, host.getAddress());
80 80 //via
81 81 ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
82   - ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
  82 + // ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
  83 + ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(device.getHost().getIp(), device.getHost().getPort(), device.getTransport(), viaTag);
83 84 viaHeader.setRPort();
84 85 viaHeaders.add(viaHeader);
85 86 //from
... ... @@ -108,6 +109,7 @@ public class SIPRequestHeaderProvider {
108 109 request = layer.getMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
109 110  
110 111 Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
  112 + // Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), device.getHost().getIp()+":"+device.getHost().getPort()));
111 113 request.addHeader(layer.getHeaderFactory().createContactHeader(concatAddress));
112 114  
113 115 ContentTypeHeader contentTypeHeader = layer.getHeaderFactory().createContentTypeHeader("Application", "SDP");
... ... @@ -122,7 +124,8 @@ public class SIPRequestHeaderProvider {
122 124 SipURI requestLine = layer.getAddressFactory().createSipURI(device.getDeviceId(), host.getAddress());
123 125 //via
124 126 ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
125   - ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
  127 + // ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag);
  128 + ViaHeader viaHeader = layer.getHeaderFactory().createViaHeader(device.getHost().getIp(), device.getHost().getPort(), device.getTransport(), viaTag);
126 129 viaHeader.setRPort();
127 130 viaHeaders.add(viaHeader);
128 131 //from
... ... @@ -151,6 +154,7 @@ public class SIPRequestHeaderProvider {
151 154 request = layer.getMessageFactory().createRequest(requestLine, Request.INVITE, callIdHeader, cSeqHeader,fromHeader, toHeader, viaHeaders, maxForwards);
152 155  
153 156 Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), sipConfig.getSipIp()+":"+sipConfig.getSipPort()));
  157 + // Address concatAddress = layer.getAddressFactory().createAddress(layer.getAddressFactory().createSipURI(sipConfig.getSipId(), device.getHost().getIp()+":"+device.getHost().getPort()));
154 158 request.addHeader(layer.getHeaderFactory().createContactHeader(concatAddress));
155 159  
156 160 ContentTypeHeader contentTypeHeader = layer.getHeaderFactory().createContentTypeHeader("Application", "SDP");
... ...