Skip to content
Snippets Groups Projects
Commit 9da97f19 authored by Adrien Béraud's avatar Adrien Béraud Committed by Adrien Béraud
Browse files

sipvoiplink: don't throw if resolver creation fails

Using pjsip' resolver is optional: pjsip fallbacks
to gethostbyname():
http://www.pjsip.org/pjsip/docs/html/group__PJSIP__ENDPT.htm#gaa783363fa5b0d6d1fd081bfd40d4314b
Also the DNS resolver is only useful for SIP.

If pj_dns_resolver creation fails for some reason,
print an error message and continue, instead of
preventing the SIPVoIPLink instance to be created and
prevent proper initialization of Ring.

Change-Id: I92e27d53f3fd094322e923a9e418de6cda14b945
parent e874328a
No related branches found
No related tags found
No related merge requests found
...@@ -502,9 +502,17 @@ SIPVoIPLink::SIPVoIPLink() : pool_(nullptr, pj_pool_release) ...@@ -502,9 +502,17 @@ SIPVoIPLink::SIPVoIPLink() : pool_(nullptr, pj_pool_release)
pj_strdup2(pool_.get(), &dns_nameservers[i], hbuf); pj_strdup2(pool_.get(), &dns_nameservers[i], hbuf);
} }
pj_dns_resolver* resv; pj_dns_resolver* resv;
TRY(pjsip_endpt_create_resolver(endpt_, &resv)); if (auto ret = pjsip_endpt_create_resolver(endpt_, &resv)) {
TRY(pj_dns_resolver_set_ns(resv, ns.size(), dns_nameservers.data(), nullptr)); RING_WARN("Error creating SIP DNS resolver: %s", sip_utils::sip_strerror(ret).c_str());
TRY(pjsip_endpt_set_resolver(endpt_, resv)); } else {
if (auto ret = pj_dns_resolver_set_ns(resv, ns.size(), dns_nameservers.data(), nullptr)) {
RING_WARN("Error setting SIP DNS servers: %s", sip_utils::sip_strerror(ret).c_str());
} else {
if (auto ret = pjsip_endpt_set_resolver(endpt_, resv)) {
RING_WARN("Error setting pjsip DNS resolver: %s", sip_utils::sip_strerror(ret).c_str());
}
}
}
} }
sipTransportBroker.reset(new SipTransportBroker(endpt_, cp_, *pool_)); sipTransportBroker.reset(new SipTransportBroker(endpt_, cp_, *pool_));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment