Commit e56fcc48e1b86f90df52bc5254668dad8a3a06c2
1 parent
73f2c89d
临时修改解决内网Ack问题
Showing
2 changed files
with
12 additions
and
2 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java
| ... | ... | @@ -84,7 +84,11 @@ public class SIPRequestHeaderProvider { |
| 84 | 84 | SipURI requestLine = sipFactory.createAddressFactory().createSipURI(channelId, host.getAddress()); |
| 85 | 85 | //via |
| 86 | 86 | ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>(); |
| 87 | - ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag); | |
| 87 | + ViaHeader viaHeader = sipFactory.createHeaderFactory().createViaHeader(device.getHost().getIp(), device.getHost().getPort(), device.getTransport(), viaTag); | |
| 88 | + viaHeader.setRPort(); | |
| 89 | + viaHeaders.add(viaHeader); | |
| 90 | + | |
| 91 | + viaHeader = sipFactory.createHeaderFactory().createViaHeader(sipConfig.getSipIp(), sipConfig.getSipPort(), device.getTransport(), viaTag); | |
| 88 | 92 | viaHeader.setRPort(); |
| 89 | 93 | viaHeaders.add(viaHeader); |
| 90 | 94 | //from | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java
| ... | ... | @@ -53,8 +53,14 @@ public class InviteResponseProcessor implements ISIPResponseProcessor { |
| 53 | 53 | Dialog dialog = evt.getDialog(); |
| 54 | 54 | CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME); |
| 55 | 55 | Request reqAck = dialog.createAck(cseq.getSeqNumber()); |
| 56 | - dialog.sendAck(reqAck); | |
| 57 | 56 | |
| 57 | + SipURI requestURI = (SipURI) reqAck.getRequestURI(); | |
| 58 | + ViaHeader viaHeader = (ViaHeader) response.getHeader(ViaHeader.NAME); | |
| 59 | + requestURI.setHost(viaHeader.getHost()); | |
| 60 | + requestURI.setPort(viaHeader.getPort()); | |
| 61 | + reqAck.setRequestURI(requestURI); | |
| 62 | + | |
| 63 | + dialog.sendAck(reqAck); | |
| 58 | 64 | } |
| 59 | 65 | } catch (InvalidArgumentException | SipException e) { |
| 60 | 66 | e.printStackTrace(); | ... | ... |