From 3d2aeb890b0d6bc13ea44ff6e0d5764bcf7aa529 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 14 十二月 2020 16:51:29 +0800 Subject: [PATCH] 使用线程安全的map存储订阅信息 修改点播消息内容,提升兼容性 --- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java | 45 ++++----------------------------------------- 1 files changed, 4 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java index ae7182d..fe5be81 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/response/impl/InviteResponseProcessor.java @@ -12,6 +12,7 @@ import javax.sip.message.Request; import javax.sip.message.Response; +import gov.nist.javax.sip.header.CSeq; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; @@ -23,9 +24,9 @@ /** - * @Description:澶勭悊INVITE鍝嶅簲 + * @Description:澶勭悊INVITE鍝嶅簲 * @author: swwheihei - * @date: 2020骞�5鏈�3鏃� 涓嬪崍4:43:52 + * @date: 2020骞�5鏈�3鏃� 涓嬪崍4:43:52 */ @Component public class InviteResponseProcessor implements ISIPResponseProcessor { @@ -49,49 +50,11 @@ // 鎴愬姛鍝嶅簲 // 涓嬪彂ack if (statusCode == Response.OK) { - // ClientTransaction clientTransaction = evt.getClientTransaction(); - // if(clientTransaction == null){ - // logger.error("鍥炲ACK鏃讹紝clientTransaction涓簄ull >>> {}",response); - // return; - // } - // Dialog clientDialog = clientTransaction.getDialog(); - - // CSeqHeader clientCSeqHeader = (CSeqHeader) - // response.getHeader(CSeqHeader.NAME); - // long cseqId = clientCSeqHeader.getSeqNumber(); - // /* - // createAck鍑芥暟锛屽垱寤虹殑ackRequest锛屼細閲囩敤Invite鍝嶅簲鐨�200OK锛屼腑鐨刢ontact瀛楁涓殑鍦板潃锛屼綔涓虹洰鏍囧湴鍧�銆� - // 鏈夌殑缁堢浼犱笂鏉ョ殑鍙兘杩樻槸鍐呯綉鍦板潃锛屼細閫犳垚ack鍙戦�佷笉鍑哄幓銆傛帴鍙椾笉鍒伴煶瑙嗛娴� - // 鎵�浠ュ湪姝ゅ缁熶竴鏇挎崲鍦板潃銆傚拰鍝嶅簲娑堟伅鐨刅ia澶翠腑鐨勫湴鍧�淇濇寔涓�鑷淬�� - // */ - // Request ackRequest = clientDialog.createAck(cseqId); - // SipURI requestURI = (SipURI) ackRequest.getRequestURI(); - // ViaHeader viaHeader = (ViaHeader) response.getHeader(ViaHeader.NAME); - // try { - // requestURI.setHost(viaHeader.getHost()); - // } catch (Exception e) { - // e.printStackTrace(); - // } - // requestURI.setPort(viaHeader.getPort()); - // clientDialog.sendAck(ackRequest); - Dialog dialog = evt.getDialog(); CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME); Request reqAck = dialog.createAck(cseq.getSeqNumber()); - - SipURI requestURI = (SipURI) reqAck.getRequestURI(); - ViaHeader viaHeader = (ViaHeader) response.getHeader(ViaHeader.NAME); - // String viaHost =viaHeader.getHost(); - //getHost()鍑芥暟鍙栧洖鐨処P鍦板潃鏄�淸xxx.xxx.xxx.xxx:yyyy]鈥濈殑鏍煎紡锛岄渶鐢ㄦ鍒欒〃杈惧紡鎴彇涓衡�渪xx.xxx.xxx.xxx"鏍煎紡 - // Pattern p = Pattern.compile("(?<=//|)((\\w)+\\.)+\\w+"); - // Matcher matcher = p.matcher(viaHeader.getHost()); - // if (matcher.find()) { - // requestURI.setHost(matcher.group()); - // } - requestURI.setHost(viaHeader.getHost()); - requestURI.setPort(viaHeader.getPort()); - reqAck.setRequestURI(requestURI); dialog.sendAck(reqAck); + } } catch (InvalidArgumentException | SipException e) { e.printStackTrace(); -- Gitblit v1.8.0