[Opalvoip-devel] Invite failes due timeout: resolving dns lasts too long?
Brought to you by:
csoutheren,
rjongbloed
From: Denis L. <den...@go...> - 2012-02-20 16:22:53
|
Hi Robert, hi mailing list, We were facing the problem, that the very first call which was incoming from outside could not get established, but the second and further calls. I was tracking down the problem starting from the SIP PDU handling until I found this code snippet: const SIPRegisterHandler * registrar = NULL; PSafePtr<SIPHandler> handler = activeSIPHandlers.FindSIPHandlerByUrl("sip:"+user+'@'+domain, SIP_PDU::Method_REGISTER, PSafeReadOnly); // If precise AOR not found, locate the name used for the domain. if (handler == NULL && !m_registeredUserMode) handler = activeSIPHandlers.FindSIPHandlerByDomain(domain, SIP_PDU::Method_REGISTER, PSafeReadOnly); if (handler != NULL) { registrar = dynamic_cast<const SIPRegisterHandler *>(&*handler); PAssertNULL(registrar); } in SIPEndPoint::AdjustToRegistration. This code always lasts exactly 5 seconds. We are currently using a setup were we have multiple IPs which all refer to the same domain (odd, I know). The incoming INVITE has this domain as the host part of the contact who's calling. It seems to me, that opal tries to resolve the domain but gets the wrong IP. I was able to solve this by adding the domain into the /etc/hosts. However, why is it taking so long for getting the handler without propper DNS? What does the FindSIPHandlerByXXX do exactly? |