UtlBoolean SipUdpServer::getStunAddress(UtlString* pIpAddress, int* pPort, const char* szLocalIp) { UtlBoolean bRet = false; OsStunDatagramSocket* pSocket = NULL; UtlVoidPtr* pSocketContainer = NULL; if (szLocalIp) { UtlString localIpKey(szLocalIp); pSocketContainer = (UtlVoidPtr*)this->mServerSocketMap.findValue(&localIpKey); if (pSocketContainer) { pSocket = (OsStunDatagramSocket*)pSocketContainer->getValue(); } } else { // just use the default Socket in our collection UtlString defaultIpKey(mDefaultIp); pSocketContainer = (UtlVoidPtr*)mServerSocketMap.findValue(&defaultIpKey); if (pSocketContainer != NULL ) { pSocket = (OsStunDatagramSocket*)pSocketContainer->getValue(); } } if (pSocket) { bRet = pSocket->getExternalIp(pIpAddress, pPort) ; } return bRet; }
UtlBoolean SipUdpServer::getStunAddress(UtlString* pIpAddress, int* pPort, const char* szLocalIp) { UtlBoolean bRet = false; OsStunDatagramSocket* pSocket = NULL; if (szLocalIp) { UtlString localIpKey(szLocalIp); pSocket = dynamic_cast <OsStunDatagramSocket*> (mServerSocketMap.findValue(&localIpKey)); } else { // just use the default Socket in our collection UtlString defaultIpKey(mDefaultIp); pSocket = dynamic_cast <OsStunDatagramSocket*> (mServerSocketMap.findValue(&defaultIpKey)); } if (pSocket) { bRet = pSocket->getExternalIp(pIpAddress, pPort); } return bRet; }