mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
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
This commit is contained in:

committed by
Adrien Béraud

parent
e874328a53
commit
9da97f19fb
@ -502,9 +502,17 @@ SIPVoIPLink::SIPVoIPLink() : pool_(nullptr, pj_pool_release)
|
||||
pj_strdup2(pool_.get(), &dns_nameservers[i], hbuf);
|
||||
}
|
||||
pj_dns_resolver* resv;
|
||||
TRY(pjsip_endpt_create_resolver(endpt_, &resv));
|
||||
TRY(pj_dns_resolver_set_ns(resv, ns.size(), dns_nameservers.data(), nullptr));
|
||||
TRY(pjsip_endpt_set_resolver(endpt_, resv));
|
||||
if (auto ret = pjsip_endpt_create_resolver(endpt_, &resv)) {
|
||||
RING_WARN("Error creating SIP DNS resolver: %s", sip_utils::sip_strerror(ret).c_str());
|
||||
} 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_));
|
||||
|
Reference in New Issue
Block a user