void testEndpointDescriptor_PublicUdp_defaultPort() { NatTraversalRules natRules; UtlString rulesFile(TEST_DATA_DIR "/NatTraversalAgent/nattraversalrules1.xml"); CPPUNIT_ASSERT( natRules.loadRules( rulesFile ) == OS_SUCCESS ); Url publicContactUri( "<sip:[email protected];x-sipX-nonat>" ); EndpointDescriptor endpointDescriptor( publicContactUri, natRules ); CPPUNIT_ASSERT( endpointDescriptor.getLocationCode() == PUBLIC ); TransportData publicTransport = endpointDescriptor.getPublicTransportAddress(); CPPUNIT_ASSERT( publicTransport.getAddress() == "47.135.162.161" ); CPPUNIT_ASSERT( publicTransport.getPort() == 5060 ); CPPUNIT_ASSERT( publicTransport.getTransportProtocol() == "udp" ); TransportData privateTransport = endpointDescriptor.getNativeTransportAddress(); CPPUNIT_ASSERT( privateTransport.getAddress() == "47.135.162.161" ); CPPUNIT_ASSERT( privateTransport.getPort() == 5060 ); CPPUNIT_ASSERT( privateTransport.getTransportProtocol() == "udp" ); CPPUNIT_ASSERT( publicTransport.isEqual( privateTransport ) ); }
void testEndpointDescriptor_LocalNATedTcp() { NatTraversalRules natRules; UtlString rulesFile(TEST_DATA_DIR "/NatTraversalAgent/nattraversalrules1.xml"); CPPUNIT_ASSERT( natRules.loadRules( rulesFile ) == OS_SUCCESS ); // pick an IP address that is part of the local topology according to // the NatTraversalRules prescribed by /NatTraversalAgent/nattraversalrules1.xml Url localNATedContactUri( "<sip:[email protected]:6060;transport=tcp;x-sipX-nonat>" ); EndpointDescriptor endpointDescriptor( localNATedContactUri, natRules ); CPPUNIT_ASSERT( endpointDescriptor.getLocationCode() == LOCAL_NATED ); TransportData publicTransport = endpointDescriptor.getPublicTransportAddress(); CPPUNIT_ASSERT( publicTransport.getAddress() == "10.10.10.10" ); CPPUNIT_ASSERT( publicTransport.getPort() == 6060 ); CPPUNIT_ASSERT( publicTransport.getTransportProtocol() == "tcp" ); TransportData privateTransport = endpointDescriptor.getNativeTransportAddress(); CPPUNIT_ASSERT( privateTransport.getAddress() == "10.10.10.10" ); CPPUNIT_ASSERT( privateTransport.getPort() == 6060 ); CPPUNIT_ASSERT( privateTransport.getTransportProtocol() == "tcp" ); CPPUNIT_ASSERT( publicTransport.isEqual( privateTransport ) ); }
void testEndpointDescriptor_UnknownTcpOutsideLocalPrivateNetwork() { NatTraversalRules natRules; UtlString rulesFile(TEST_DATA_DIR "/NatTraversalAgent/nattraversalrules1.xml"); CPPUNIT_ASSERT( natRules.loadRules( rulesFile ) == OS_SUCCESS ); // pick an IP address that is outside the local topology according to // the NatTraversalRules prescribed by /NatTraversalAgent/nattraversalrules1.xml Url unknownContactUri( "<sip:[email protected]:6060;transport=tcp>" ); EndpointDescriptor endpointDescriptor( unknownContactUri, natRules ); CPPUNIT_ASSERT( endpointDescriptor.getLocationCode() == UNKNOWN ); TransportData publicTransport = endpointDescriptor.getPublicTransportAddress(); CPPUNIT_ASSERT( publicTransport.getAddress() == UNKNOWN_IP_ADDRESS_STRING ); CPPUNIT_ASSERT( publicTransport.getPort() == UNKNOWN_PORT_NUMBER ); CPPUNIT_ASSERT( publicTransport.getTransportProtocol() == UNKNOWN_TRANSPORT_STRING ); TransportData privateTransport = endpointDescriptor.getNativeTransportAddress(); CPPUNIT_ASSERT( privateTransport.getAddress() == "55.10.10.11" ); CPPUNIT_ASSERT( privateTransport.getPort() == 6060 ); CPPUNIT_ASSERT( privateTransport.getTransportProtocol() == "tcp" ); CPPUNIT_ASSERT( !publicTransport.isEqual( privateTransport ) ); }
void setCompilerOptions(_ELC_::Project& project, _ELENA_::Compiler& compiler) { if (project.IntSetting(_ELENA_::opL0, -1) != 0) { _ELENA_::Path rulesPath(RULES_FILE); _ELENA_::FileReader rulesFile(rulesPath.c_str(), _ELENA_::feRaw, false); if (!rulesFile.isOpened()) { project.raiseWarning(errInvalidFile, rulesPath.c_str()); } else compiler.loadRules(&rulesFile); } if (project.IntSetting(_ELENA_::opL1, -1) != 0) { compiler.turnOnOptimiation(1); } }
void testEndpointDescriptor_RemoteNATedTcp() { NatTraversalRules natRules; UtlString rulesFile(TEST_DATA_DIR "/NatTraversalAgent/nattraversalrules1.xml"); CPPUNIT_ASSERT( natRules.loadRules( rulesFile ) == OS_SUCCESS ); Url remoteNATedContactUri( "<sip:[email protected]:6060;transport=tcp;x-sipX-pubcontact=47.135.162.145%3A10491%3Btransport%3Dtcp>" ); EndpointDescriptor endpointDescriptor( remoteNATedContactUri, natRules ); CPPUNIT_ASSERT( endpointDescriptor.getLocationCode() == REMOTE_NATED ); TransportData publicTransport = endpointDescriptor.getPublicTransportAddress(); CPPUNIT_ASSERT( publicTransport.getAddress() == "47.135.162.145" ); CPPUNIT_ASSERT( publicTransport.getPort() == 10491 ); CPPUNIT_ASSERT( publicTransport.getTransportProtocol() == "tcp" ); TransportData privateTransport = endpointDescriptor.getNativeTransportAddress(); CPPUNIT_ASSERT( privateTransport.getAddress() == "192.168.1.11" ); CPPUNIT_ASSERT( privateTransport.getPort() == 6060 ); CPPUNIT_ASSERT( privateTransport.getTransportProtocol() == "tcp" ); CPPUNIT_ASSERT( !publicTransport.isEqual( privateTransport ) ); }