Commit 1a746f28822fe7ca382eda6ede2e32d6cf8e6d01
1 parent
e9e4e8d4
将设备IP地址填入via Header中,避免部分设备回复200 OK时contact信息缺失导致无法回复ack
Showing
1 changed file
with
6 additions
and
2 deletions
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"); | ... | ... |