| | |
| | | |
| | | private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>(); |
| | | private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>(); |
| | | private final List<String> monitorIps = new ArrayList<>(); |
| | | |
| | | @Override |
| | | public void run(String... args) { |
| | | List<String> monitorIps = new ArrayList<>(); |
| | | if (ObjectUtils.isEmpty(sipConfig.getIp())) { |
| | | try { |
| | | // 获得本机的所有网络接口 |
| | |
| | | monitorIps.add(sipConfig.getIp()); |
| | | } |
| | | } |
| | | sipConfig.setShowIp(String.join(",", monitorIps)); |
| | | if (ObjectUtils.isEmpty(sipConfig.getShowIp())){ |
| | | sipConfig.setShowIp(String.join(",", monitorIps)); |
| | | } |
| | | SipFactory.getInstance().setPathName("gov.nist"); |
| | | if (monitorIps.size() > 0) { |
| | | for (String monitorIp : monitorIps) { |
| | |
| | | } |
| | | |
| | | public SipProviderImpl getUdpSipProvider(String ip) { |
| | | if (ObjectUtils.isEmpty(ip)) { |
| | | return null; |
| | | } |
| | | if (udpSipProviderMap.size() == 1) { |
| | | return udpSipProviderMap.values().stream().findFirst().get(); |
| | | } |
| | | if (ObjectUtils.isEmpty(ip)) { |
| | | return null; |
| | | } |
| | | return udpSipProviderMap.get(ip); |
| | | } |
| | |
| | | } |
| | | |
| | | public SipProviderImpl getTcpSipProvider(String ip) { |
| | | if (ObjectUtils.isEmpty(ip)) { |
| | | return null; |
| | | } |
| | | if (tcpSipProviderMap.size() == 1) { |
| | | return tcpSipProviderMap.values().stream().findFirst().get(); |
| | | } |
| | | if (ObjectUtils.isEmpty(ip)) { |
| | | return null; |
| | | } |
| | | return tcpSipProviderMap.get(ip); |
| | | } |
| | | |
| | | public String getLocalIp(String deviceLocalIp) { |
| | | if (monitorIps.size() == 1) { |
| | | return monitorIps.get(0); |
| | | } |
| | | if (!ObjectUtils.isEmpty(deviceLocalIp)) { |
| | | return deviceLocalIp; |
| | | } |