Commit ff427e6dcb755ee07b5910979270b6eeec53cd84
Committed by
GitHub
Merge pull request #35 from lawrencehj/master
解决非默认端口无法Send Bye的问题
Showing
2 changed files
with
6 additions
and
3 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
| ... | ... | @@ -526,7 +526,10 @@ public class SIPCommander implements ISIPCommander { |
| 526 | 526 | Pattern p = Pattern.compile("(\\d+\\.\\d+\\.\\d+\\.\\d+)\\:(\\d+)"); |
| 527 | 527 | Matcher matcher = p.matcher(vh); |
| 528 | 528 | if (matcher.find()) { |
| 529 | - byeURI.setHost(matcher.group(1)); | |
| 529 | + String ip = matcher.group(1); | |
| 530 | + byeURI.setHost(ip); | |
| 531 | + String port = matcher.group(2); | |
| 532 | + byeURI.setPort(Integer.parseInt(port)); | |
| 530 | 533 | } |
| 531 | 534 | ViaHeader viaHeader = (ViaHeader) byeRequest.getHeader(ViaHeader.NAME); |
| 532 | 535 | String protocol = viaHeader.getTransport().toUpperCase(); | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
| ... | ... | @@ -342,7 +342,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 342 | 342 | try { |
| 343 | 343 | // 回复200 OK |
| 344 | 344 | responseAck(evt); |
| 345 | - String seqNo = String.valueOf(System.currentTimeMillis()); | |
| 345 | + String uuid = UUID.randomUUID().toString().replace("-", ""); | |
| 346 | 346 | RecordInfo recordInfo = new RecordInfo(); |
| 347 | 347 | Element rootElement = getRootElement(evt); |
| 348 | 348 | Element deviceIdElement = rootElement.element("DeviceID"); |
| ... | ... | @@ -398,7 +398,7 @@ public class MessageRequestProcessor extends SIPRequestAbstractProcessor { |
| 398 | 398 | // 为防止连续请求该设备的录像数据,返回数据错乱,特增加sn进行区分 |
| 399 | 399 | String cacheKey = CACHE_RECORDINFO_KEY + deviceId + sn; |
| 400 | 400 | |
| 401 | - redis.set(cacheKey + "_" + seqNo, recordList, 90); | |
| 401 | + redis.set(cacheKey + "_" + uuid, recordList, 90); | |
| 402 | 402 | List<Object> cacheKeys = redis.scan(cacheKey + "_*"); |
| 403 | 403 | List<RecordItem> totalRecordList = new ArrayList<RecordItem>(); |
| 404 | 404 | for (int i = 0; i < cacheKeys.size(); i++) { | ... | ... |