From a29e09fc90b164c48e506a65805c421e38da9622 Mon Sep 17 00:00:00 2001 From: Donat Zenichev Date: Thu, 10 Apr 2025 14:53:52 +0200 Subject: [PATCH] MT#62253 log: AmBasicSipDialog: add call-id based logging Introduce usage of `ILOG_DLG()` Change-Id: I0b3702ac779074c8cbb21a58f33beb01f128eea1 --- core/AmBasicSipDialog.cpp | 62 ++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/core/AmBasicSipDialog.cpp b/core/AmBasicSipDialog.cpp index 5a68786b..769e44d5 100644 --- a/core/AmBasicSipDialog.cpp +++ b/core/AmBasicSipDialog.cpp @@ -11,6 +11,8 @@ #include "sip/msg_logger.h" #include "sip/sip_parser.h" +#define GET_CALL_ID() (getCallid().c_str()) + const char* AmBasicSipDialog::status2str[AmBasicSipDialog::__max_Status] = { "Disconnected", "Trying", @@ -80,7 +82,7 @@ bool AmBasicSipDialog::getUACTransPending() void AmBasicSipDialog::setStatus(Status new_status) { - DBG("setting SIP dialog status: %s->%s. Local_tag: <%s>\n", + ILOG_DLG(L_DBG, "setting SIP dialog status: %s->%s. Local_tag: <%s>\n", getStatusStr(), getStatusStr(new_status), getLocalTag().c_str()); status = new_status; } @@ -157,7 +159,7 @@ string AmBasicSipDialog::getRoute() } void AmBasicSipDialog::setOutboundInterface(int interface_id) { - DBG("setting outbound interface to %i\n", interface_id); + ILOG_DLG(L_DBG, "setting outbound interface to %i\n", interface_id); outbound_interface = interface_id; } @@ -202,7 +204,7 @@ int AmBasicSipDialog::getOutboundIf() fr.value = stl2cstr(route); sip_uri* route_uri = get_first_route_uri(&fr); if(!route_uri){ - ERROR("Could not parse route (local_tag='%s';route='%s')", + ILOG_DLG(L_ERR, "Could not parse route (local_tag='%s';route='%s')", local_tag.c_str(),route.c_str()); goto error; } @@ -214,14 +216,14 @@ int AmBasicSipDialog::getOutboundIf() } if(dest_uri.empty() && dest_ip.empty()) { - ERROR("No destination found (local_tag='%s')",local_tag.c_str()); + ILOG_DLG(L_ERR, "No destination found (local_tag='%s')",local_tag.c_str()); goto error; } if(!dest_uri.empty()){ sip_uri d_uri; if(parse_uri(&d_uri,dest_uri.c_str(),dest_uri.length()) < 0){ - ERROR("Could not parse destination URI (local_tag='%s';dest_uri='%s')", + ILOG_DLG(L_ERR, "Could not parse destination URI (local_tag='%s';dest_uri='%s')", local_tag.c_str(),dest_uri.c_str()); goto error; } @@ -230,13 +232,13 @@ int AmBasicSipDialog::getOutboundIf() } if(get_local_addr_for_dest(dest_ip,local_ip) < 0){ - ERROR("No local address for dest '%s' (local_tag='%s')",dest_ip.c_str(),local_tag.c_str()); + ILOG_DLG(L_ERR, "No local address for dest '%s' (local_tag='%s')",dest_ip.c_str(),local_tag.c_str()); goto error; } if_it = AmConfig::LocalSIPIP2If.find(local_ip); if(if_it == AmConfig::LocalSIPIP2If.end()){ - ERROR("Could not find a local interface for resolved local IP (local_tag='%s';local_ip='%s')", + ILOG_DLG(L_ERR, "Could not find a local interface for resolved local IP (local_tag='%s';local_ip='%s')", local_tag.c_str(), local_ip.c_str()); goto error; } @@ -245,7 +247,7 @@ int AmBasicSipDialog::getOutboundIf() return if_it->second; error: - WARN("Error while computing outbound interface: default interface will be used instead."); + ILOG_DLG(L_WARN, "Error while computing outbound interface: default interface will be used instead."); setOutboundInterface(0); return 0; } @@ -277,7 +279,7 @@ bool AmBasicSipDialog::onRxReqSanity(const AmSipRequest& req) // Sanity checks if(!remote_tag.empty() && !req.from_tag.empty() && (req.from_tag != remote_tag)){ - DBG("remote_tag = '%s'; req.from_tag = '%s'\n", + ILOG_DLG(L_DBG, "remote_tag = '%s'; req.from_tag = '%s'\n", remote_tag.c_str(), req.from_tag.c_str()); reply_error(req, 481, SIP_REPLY_NOT_EXIST); return false; @@ -291,14 +293,14 @@ bool AmBasicSipDialog::onRxReqSanity(const AmSipRequest& req) // for implementations which follow 3265 instead of 5057 string hdrs = SIP_HDR_COLSP(SIP_HDR_RETRY_AFTER) "0" CRLF; - INFO("remote cseq lower than previous ones - refusing request\n"); + ILOG_DLG(L_INFO, "remote cseq lower than previous ones - refusing request\n"); // see 12.2.2 reply_error(req, 500, SIP_REPLY_SERVER_INTERNAL_ERROR, hdrs); return false; } } else { - INFO("remote cseq lower than previous ones - refusing request\n"); + ILOG_DLG(L_INFO, "remote cseq lower than previous ones - refusing request\n"); // see 12.2.2 reply_error(req, 500, SIP_REPLY_SERVER_INTERNAL_ERROR); return false; @@ -313,7 +315,7 @@ bool AmBasicSipDialog::onRxReqSanity(const AmSipRequest& req) void AmBasicSipDialog::onRxRequest(const AmSipRequest& req) { - DBG("AmBasicSipDialog::onRxRequest(req = %s)\n", req.method.c_str()); + ILOG_DLG(L_DBG, "AmBasicSipDialog::onRxRequest(req = %s)\n", req.method.c_str()); if (logger && (req.method != SIP_METH_ACK)) { /* log only non-initial received requests, the initial one is already logged @@ -408,7 +410,7 @@ void AmBasicSipDialog::termUasTrans() TransMap::iterator it = uas_trans.begin(); int req_cseq = it->first; const AmSipRequest& req = it->second; - DBG("terminating UAS transaction (%u %s)",req.cseq,req.cseq_method.c_str()); + ILOG_DLG(L_DBG, "terminating UAS transaction (%u %s)",req.cseq,req.cseq_method.c_str()); reply(req,481,SIP_REPLY_NOT_EXIST); @@ -441,14 +443,14 @@ bool AmBasicSipDialog::onRxReplySanity(const AmSipReply& reply) { if(ext_local_tag.empty()) { if(reply.from_tag != local_tag) { - ERROR("received reply with wrong From-tag ('%s' vs. '%s')", + ILOG_DLG(L_ERR, "received reply with wrong From-tag ('%s' vs. '%s')", reply.from_tag.c_str(), local_tag.c_str()); throw string("reply has wrong from-tag"); //return; } } else if(reply.from_tag != ext_local_tag) { - ERROR("received reply with wrong From-tag ('%s' vs. '%s')", + ILOG_DLG(L_ERR, "received reply with wrong From-tag ('%s' vs. '%s')", reply.from_tag.c_str(), ext_local_tag.c_str()); throw string("reply has wrong from-tag"); //return; @@ -464,12 +466,12 @@ void AmBasicSipDialog::onRxReply(const AmSipReply& reply) TransMap::iterator t_it = uac_trans.find(reply.cseq); if(t_it == uac_trans.end()){ - ERROR("could not find any transaction matching reply: %s\n", + ILOG_DLG(L_ERR, "could not find any transaction matching reply: %s\n", ((AmSipReply)reply).print().c_str()); return; } - DBG("onRxReply(rep = %u %s): transaction found!\n", + ILOG_DLG(L_DBG, "onRxReply(rep = %u %s): transaction found!\n", reply.code, reply.reason.c_str()); updateDialogTarget(reply); @@ -598,8 +600,8 @@ int AmBasicSipDialog::reply(const AmSipRequest& req, TransMap::const_iterator t_it = uas_trans.find(req.cseq); if (t_it == uas_trans.end()) { - ERROR("could not find any transaction matching request cseq\n"); - ERROR("request cseq=%i; reply code=%i; callid=%s; local_tag=%s; " + ILOG_DLG(L_ERR, "could not find any transaction matching request cseq\n"); + ILOG_DLG(L_ERR, "request cseq=%i; reply code=%i; callid=%s; local_tag=%s; " "remote_tag=%s\n", req.cseq,code,callid.c_str(), local_tag.c_str(),remote_tag.c_str()); @@ -607,7 +609,7 @@ int AmBasicSipDialog::reply(const AmSipRequest& req, return -1; } - DBG("reply: transaction found!\n"); + ILOG_DLG(L_DBG, "reply: transaction found!\n"); AmSipReply reply; @@ -631,7 +633,7 @@ int AmBasicSipDialog::reply(const AmSipRequest& req, reply.body = *body; if (onTxReply(req,reply,flags)) { - DBG("onTxReply failed\n"); + ILOG_DLG(L_DBG, "onTxReply failed\n"); return -1; } @@ -648,7 +650,7 @@ int AmBasicSipDialog::reply(const AmSipRequest& req, int ret = SipCtrlInterface::send(reply,local_tag,logger); if (ret) { - ERROR("Could not send reply: code=%i; reason='%s'; method=%s; call-id=%s; cseq=%i\n", + ILOG_DLG(L_ERR, "Could not send reply: code=%i; reason='%s'; method=%s; call-id=%s; cseq=%i\n", reply.code,reply.reason.c_str(), reply.cseq_method.c_str(), callid.c_str(), @@ -703,7 +705,7 @@ int AmBasicSipDialog::sendRequest(const string& method, req.method = method; req.r_uri = remote_uri; - DBG("sendRequest: remote_uri='%s'; callid='%s'; cseq='%i'; from_tag='%s'; to_tag='%s';\n", + ILOG_DLG(L_DBG, "sendRequest: remote_uri='%s'; callid='%s'; cseq='%i'; from_tag='%s'; to_tag='%s';\n", remote_uri.c_str(), callid.c_str(), cseq, @@ -760,7 +762,7 @@ int AmBasicSipDialog::sendRequest(const string& method, send_flags,logger); if (res) { - ERROR("Could not send request: method=%s; call-id=%s; cseq=%i\n", + ILOG_DLG(L_ERR, "Could not send request: method=%s; call-id=%s; cseq=%i\n", req.method.c_str(),req.callid.c_str(),req.cseq); return res; } @@ -771,22 +773,22 @@ int AmBasicSipDialog::sendRequest(const string& method, void AmBasicSipDialog::dump() { - DBG("callid = %s\n",callid.c_str()); - DBG("local_tag = %s\n",local_tag.c_str()); - DBG("uac_trans.size() = %zu\n",uac_trans.size()); + ILOG_DLG(L_DBG, "callid = %s\n",callid.c_str()); + ILOG_DLG(L_DBG, "local_tag = %s\n",local_tag.c_str()); + ILOG_DLG(L_DBG, "uac_trans.size() = %zu\n",uac_trans.size()); if(uac_trans.size()){ for(TransMap::iterator it = uac_trans.begin(); it != uac_trans.end(); it++){ - DBG(" cseq = %i; method = %s\n",it->first,it->second.method.c_str()); + ILOG_DLG(L_DBG, " cseq = %i; method = %s\n",it->first,it->second.method.c_str()); } } - DBG("uas_trans.size() = %zu\n",uas_trans.size()); + ILOG_DLG(L_DBG, "uas_trans.size() = %zu\n",uas_trans.size()); if(uas_trans.size()){ for(TransMap::iterator it = uas_trans.begin(); it != uas_trans.end(); it++){ - DBG(" cseq = %i; method = %s\n",it->first,it->second.method.c_str()); + ILOG_DLG(L_DBG, " cseq = %i; method = %s\n",it->first,it->second.method.c_str()); } } }