From 46457f601aa29ce7ed189dd48821519bc5bb554e Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Fri, 28 Oct 2011 17:01:04 -0400 Subject: [PATCH] * #7276: minor cleanup --- daemon/src/sip/sipaccount.h | 4 ++++ daemon/src/sip/sipvoiplink.cpp | 40 +++++++++++++++++++--------------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/daemon/src/sip/sipaccount.h b/daemon/src/sip/sipaccount.h index 5ca66094f5..59075f5bf3 100644 --- a/daemon/src/sip/sipaccount.h +++ b/daemon/src/sip/sipaccount.h @@ -442,6 +442,10 @@ class SIPAccount : public Account { */ static std::string getLoginName(); + // noncopyable + SIPAccount(const SIPAccount &); + SIPAccount& operator=(const SIPAccount &); + // The pjsip client registration information pjsip_regc *regc_; // To check if the account is registered diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp index 7f8c77e0c1..97b9549909 100644 --- a/daemon/src/sip/sipvoiplink.cpp +++ b/daemon/src/sip/sipvoiplink.cpp @@ -126,14 +126,16 @@ int SIPSessionReinvite(SIPCall *); */ void onCallTransfered(pjsip_inv_session *inv, pjsip_rx_data *rdata); -std::string loadSIPLocalIP() +std::string getSIPLocalIP() { pj_sockaddr ip_addr; if (pj_gethostip(pj_AF_INET(), &ip_addr) == PJ_SUCCESS) return pj_inet_ntoa(ip_addr.ipv4.sin_addr); - - return ""; + else { + ERROR("SIPVoIPLink: Could not get local IP"); + return ""; + } } pjsip_route_hdr *createRouteSet(const std::string &route, pj_pool_t *hdr_pool) @@ -187,7 +189,7 @@ SIPVoIPLink::SIPVoIPLink() : evThread_(new EventThread(this)) TRY(pjsip_endpt_create(&cp_->factory, pj_gethostname()->ptr, &endpt_)); - if (loadSIPLocalIP().empty()) + if (getSIPLocalIP().empty()) throw VoipLinkException("UserAgent: Unable to determine network capabilities"); TRY(pjsip_tsx_layer_init_module(endpt_)); @@ -230,6 +232,7 @@ SIPVoIPLink::SIPVoIPLink() : evThread_(new EventThread(this)) DEBUG("UserAgent: pjsip version %s for %s initialized", pj_get_version(), PJ_OS_NAME); TRY(pjsip_replaces_init_module(endpt_)); +#undef TRY evThread_->start(); } @@ -392,7 +395,7 @@ Call *SIPVoIPLink::newOutgoingCall(const std::string& id, const std::string& toU std::string localAddr(getInterfaceAddrFromName(account->getLocalInterface())); if (localAddr == "0.0.0.0") - localAddr = loadSIPLocalIP(); + localAddr = getSIPLocalIP(); setCallMediaLocal(call, localAddr); @@ -402,7 +405,7 @@ Call *SIPVoIPLink::newOutgoingCall(const std::string& id, const std::string& toU getInterfaceAddrFromName(account->getLocalInterface()); if (addrSdp == "0.0.0.0") - addrSdp = loadSIPLocalIP(); + addrSdp = getSIPLocalIP(); // Initialize the session using ULAW as default codec in case of early media // The session should be ready to receive media once the first INVITE is sent, before @@ -474,7 +477,7 @@ SIPVoIPLink::hangup(const std::string& id) throw VoipLinkException("No invite session for this call"); // Looks for sip routes - if (not(account->getServiceRoute().empty())) { + if (not account->getServiceRoute().empty()) { pjsip_route_hdr *route_set = createRouteSet(account->getServiceRoute(), inv->pool); pjsip_dlg_set_route_set(inv->dlg, route_set); } @@ -877,7 +880,7 @@ bool SIPVoIPLink::SIPNewIpToIpCall(const std::string& id, const std::string& to) std::string localAddress(getInterfaceAddrFromName(account->getLocalInterface())); if (localAddress == "0.0.0.0") - localAddress = loadSIPLocalIP(); + localAddress = getSIPLocalIP(); setCallMediaLocal(call, localAddress); @@ -1002,7 +1005,7 @@ void SIPVoIPLink::createTlsListener(SIPAccount *account, pjsip_tpfactory **liste pj_str_t pjAddress; pj_cstr(&pjAddress, PJ_INADDR_ANY); pj_sockaddr_in_set_str_addr(&local_addr, &pjAddress); - std::string localIP(loadSIPLocalIP()); + std::string localIP(getSIPLocalIP()); pjsip_host_port a_name = { pj_str((char*) localIP.c_str()), @@ -1019,7 +1022,7 @@ void SIPVoIPLink::createTlsTransport(SIPAccount *account, std::string remoteAddr pj_cstr(&remote, remoteAddr.c_str()); pj_sockaddr_in rem_addr; - pj_sockaddr_in_init(&rem_addr, &remote, (pj_uint16_t) 5061); + pj_sockaddr_in_init(&rem_addr, &remote, (pj_uint16_t) DEFAULT_SIP_TLS_PORT); static pjsip_tpfactory *localTlsListener = NULL; /** The local tls listener */ @@ -1072,7 +1075,7 @@ void SIPVoIPLink::createUdpTransport(SIPAccount *account) bound_addr.sin_family = PJ_AF_INET; if (account->getLocalInterface() == "default") { - listeningAddress = loadSIPLocalIP(); + listeningAddress = getSIPLocalIP(); bound_addr.sin_addr.s_addr = pj_htonl(PJ_INADDR_ANY); } else { listeningAddress = getInterfaceAddrFromName(account->getLocalInterface()); @@ -1084,11 +1087,12 @@ void SIPVoIPLink::createUdpTransport(SIPAccount *account) listeningPort = account->getPublishedPort(); } - // We must specify this here to avoid the IP2IP_PROFILE to create a transport with name 0.0.0.0 to appear in the via header + // We must specify this here to avoid the IP2IP_PROFILE creating a + // transport with the name 0.0.0.0 appearing in the via header if (account->getAccountID() == IP2IP_PROFILE) - listeningAddress = loadSIPLocalIP(); + listeningAddress = getSIPLocalIP(); - if (listeningAddress.empty() || listeningPort == 0) + if (listeningAddress.empty() or listeningPort == 0) return; const pjsip_host_port a_name = { @@ -1217,7 +1221,7 @@ void SIPVoIPLink::findLocalAddressFromUri(const std::string& uri, pjsip_transpor tp_sel = initTransportSelector(transport, pool_); pj_str_t localAddress = {0,0}; - int i_port; + int i_port = 0; if (pjsip_tpmgr_find_local_addr(tpmgr, pool_, transportType, tp_sel, &localAddress, &i_port) != PJ_SUCCESS) return; @@ -1225,7 +1229,7 @@ void SIPVoIPLink::findLocalAddressFromUri(const std::string& uri, pjsip_transpor addr = std::string(localAddress.ptr, localAddress.slen); if (addr == "0.0.0.0") - addr = loadSIPLocalIP(); + addr = getSIPLocalIP(); ss.str(""); ss << i_port; @@ -1364,7 +1368,7 @@ static void sdp_create_offer_cb(pjsip_inv_session *inv, pjmedia_sdp_session **p_ std::string addrSdp(localAddress); if (localAddress == "0.0.0.0") - localAddress = loadSIPLocalIP(); + localAddress = getSIPLocalIP(); if (addrSdp == "0.0.0.0") addrSdp = localAddress; @@ -1751,7 +1755,7 @@ static pj_bool_t transaction_request_cb(pjsip_rx_data *rdata) pjsip_tpselector *tp = SIPVoIPLink::instance()->initTransportSelector(account->transport_, call->getMemoryPool()); if (addrToUse == "0.0.0.0") - addrToUse = loadSIPLocalIP(); + addrToUse = getSIPLocalIP(); if (addrSdp == "0.0.0.0") addrSdp = addrToUse; -- GitLab