lynxis lazus submitted this change.
tcap loadshare: Add session miss counter
When a non-starting TCAP message (Continue, End, Abort) is received and
no session can be associated with it, count these as session miss.
Those should not appear under normal operation, except after a restart of osmo-stp.
Related: SYS#5432
Change-Id: I23319294e899e6acb6421d89675ce456048f7475
---
M src/ss7_as.c
M src/ss7_as.h
M src/tcap_as_loadshare.c
3 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/ss7_as.c b/src/ss7_as.c
index c73ca35..8cddae9 100644
--- a/src/ss7_as.c
+++ b/src/ss7_as.c
@@ -137,6 +137,7 @@
[SS7_AS_CTR_TCAP_ASP_SELECTED] = { "tcap:asp:selected", "ASP selection successful for a TCAP-message (loadshare-tcap)" },
[SS7_AS_CTR_TCAP_ASP_FALLBACK] = { "tcap:asp:fallback", "Fallback ASP selected for a TCAP-message (loadshare-tcap)" },
[SS7_AS_CTR_TCAP_ASP_FAILED] = { "tcap:asp:failed", "ASP selection failed for a TCAP-message (loadshare-tcap)" },
+ [SS7_AS_CTR_TCAP_ASP_MISS] = { "tcap:session:miss", "A non-starting TCAP message (Continue, End, Abort) was missing a session entry, but routed successful. (loadshare-tcap)" },
#endif /* WITH_TCAP_LOADSHARING */
};
diff --git a/src/ss7_as.h b/src/ss7_as.h
index 793cb26..e67ca1b 100644
--- a/src/ss7_as.h
+++ b/src/ss7_as.h
@@ -71,6 +71,7 @@
SS7_AS_CTR_TCAP_ASP_SELECTED,
SS7_AS_CTR_TCAP_ASP_FALLBACK,
SS7_AS_CTR_TCAP_ASP_FAILED,
+ SS7_AS_CTR_TCAP_ASP_MISS,
#endif /* WITH_TCAP_LOADSHARING */
};
diff --git a/src/tcap_as_loadshare.c b/src/tcap_as_loadshare.c
index 1a5d0ff..a6b71d2 100644
--- a/src/tcap_as_loadshare.c
+++ b/src/tcap_as_loadshare.c
@@ -544,6 +544,7 @@
asp = tcap_trans_track_continue(as, &called_addr, &parsed.dtid, &calling_addr, &parsed.otid);
if (!asp) {
LOGPAS(as, DLTCAP, LOGL_INFO, "Couldn't find cached ASP for TCAP Continue, dtid %u/otid %u, using tcap route", parsed.dtid, parsed.otid);
+ rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_MISS);
asp = tcap_as_asp_find_by_tcap_id(as, &calling_addr, &called_addr, parsed.dtid);
if (asp)
tcap_trans_track_entry_create(as, asp, &called_addr, &parsed.dtid, &calling_addr, &parsed.otid);
@@ -561,7 +562,9 @@
asp = tcap_trans_track_end(as, &called_addr, &parsed.dtid, &calling_addr, NULL);
if (!asp) {
LOGPAS(as, DLTCAP, LOGL_INFO, "Couldn't find cached ASP for TCAP End, dtid %u, using tcap route", parsed.dtid);
+ rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_MISS);
asp = tcap_as_asp_find_by_tcap_id(as, &calling_addr, &called_addr, parsed.dtid);
+ /* Don't create an entry for an End */
}
rc = asp ? 0 : -ENOKEY;
break;
To view, visit change 42758. To unsubscribe, or for help writing mail filters, visit settings.