While testing TLS with sipXecs4.2.1 we have found that the stack creates a new 
TLS socket everytime while send a request to the same destination (same host 
and port).This does not happen in case of TCP.
Is this a known problem?

When stack tries to send a message below is the flow
getClientForDestination()-->findExistingClientForDestination() ---> 
isAcceptableForDestination(). In this routine the below check fails for TLS as 
getLocalIp() returns NULL and as a result new connection is created every time.

// Only accept it if the local IP is correct.
if (0 == strcmp(getLocalIp(), localIp))
{
   ....
   ....



While creating a TCP socket in SipTcpServer::buildClientSocket(), the localIp 
is passed to OsConnectionSocket() where it gets stored in mLocalIp.
While creating a TLS socket in SipTLSServer:: buildClientSocket() the local ip 
address is not passed to OsSSLConnectionSocket().This routine then calls 
OsConnectionSocket() with localIp as NULL or INADDR_ANY.As a result the 
mLocalIp  does not get set
if (localIp)
{
     mLocalIp = localIp;
}



Is there any specific reason for passing localIP as NULL to 
OsConnectionSocket() for TLS.





Regards,

Gauri


_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev/

Reply via email to