try {
// If the address is multicast, create multicast sockets and joing
// groups etc
if (addr.isMulticastAddress()) {
dataSock = new EncryptedRTPSocket(null, port);
ctrlSock = new EncryptedRTPSocket(null, port + 1);
//((MulticastSocket) dataSock).setInterface(laddr);
((MulticastSocket) dataSock).joinGroup(addr);
((MulticastSocket) dataSock).setTimeToLive(ttl);
((MulticastSocket) dataSock).setLoopbackMode(false);
//((MulticastSocket) ctrlSock).setInterface(laddr);
((MulticastSocket) ctrlSock).joinGroup(addr);
((MulticastSocket) ctrlSock).setTimeToLive(ttl);
((MulticastSocket) ctrlSock).setLoopbackMode(false);
}
// If the address is unicast, create unicast sockets
else {
dataSock = new EncryptedRTPSocket(null, port);
ctrlSock = new EncryptedRTPSocket(null, port + 1);
}
} catch (SocketException e) {
throw new IOException(e.getMessage());
}