@Override public String getAddress() { try { if (this.connection != null) { return this.connection.getAddress(); } return this.mediaDescription.getConnection().getAddress(); } catch (final SdpParseException e) { throw new RuntimeException("TODO: real exception pls", e); } }
@SuppressWarnings("unused") private static void fix(final Connection connection, final String externalIp) throws UnknownHostException, SdpException { if (connection != null) { if (Connection.IN.equals(connection.getNetworkType())) { if (Connection.IP4.equals(connection.getAddressType())) { final InetAddress address = DNSUtils.getByName(connection.getAddress()); if (address.isSiteLocalAddress() || address.isAnyLocalAddress() || address.isLoopbackAddress()) { final String ip = address.getHostAddress(); connection.setAddress(externalIp); } } } } }
private static void fix(final Connection connection, final String externalIp) throws UnknownHostException, SdpException { if (connection != null) { if (Connection.IN.equals(connection.getNetworkType())) { if (Connection.IP4.equals(connection.getAddressType())) { final InetAddress address = DNSUtils.getByName(connection.getAddress()); final String ip = address.getHostAddress(); if (!IPUtils.isRoutableAddress(ip)) { connection.setAddress(externalIp); } } } } }
@Override public String getAddress() { try { if (this.connection != null) { return this.connection.getAddress(); } return this.mediaDescription.getConnection().getAddress(); } catch (final SdpParseException e) { throw new RuntimeException("TODO: real exception pls", e); } }
private byte[] patchMedia(final String realIp, final byte[] data) throws UnknownHostException, SdpException { final String text = new String(data); final SessionDescription sdp = SdpFactory.getInstance().createSessionDescription(text); final Connection connection = sdp.getConnection(); if(Connection.IN.equals(connection.getNetworkType()) && Connection.IP4.equals(connection.getAddressType())) { final InetAddress address = InetAddress.getByName(connection.getAddress()); final String ip = address.getHostAddress(); if(!IPUtils.isRoutableAddress(ip)) { connection.setAddress(realIp); } } return sdp.toString().getBytes(); }
rtcpPort = currMedia.getMediaPort() + 1; if (sourceMediaDescriptions.get(i).getConnection() != null) rtcpAddress = sourceMediaDescriptions.get(i).getConnection().getAddress(); else rtcpAddress = sourceSessionDescription.getConnection().getAddress(); rtcpPort = currMedia.getMediaPort() + 1; if (destinationMediaDescriptions.get(i).getConnection() != null) rtcpAddress = destinationMediaDescriptions.get(i).getConnection().getAddress(); else rtcpAddress = destinationSessionDescription.getConnection().getAddress();
rtcpPort = currMedia.getMediaPort() + 1; if (sourceMediaDescriptions.get(i).getConnection() != null) rtcpAddress = sourceMediaDescriptions.get(i).getConnection().getAddress(); else rtcpAddress = sourceSessionDescription.getConnection().getAddress();