USSD: Add new "DSS" logging category and use it appropriately
Change-Id: I0ac198a49ba70ea40fea18464325f1925797a6e8
This commit is contained in:
parent
9b6bc9e479
commit
95b96d4245
|
@ -11,6 +11,7 @@ log stderr
|
||||||
logging level main notice
|
logging level main notice
|
||||||
logging level db notice
|
logging level db notice
|
||||||
logging level auc notice
|
logging level auc notice
|
||||||
|
logging level ss info
|
||||||
logging level linp error
|
logging level linp error
|
||||||
!
|
!
|
||||||
line vty
|
line vty
|
||||||
|
|
|
@ -111,14 +111,14 @@ struct hlr_euse *ussd_euse_find_7bit_gsm(struct hlr *hlr, const char *ussd_code)
|
||||||
struct hlr_euse_route *rt;
|
struct hlr_euse_route *rt;
|
||||||
llist_for_each_entry(rt, &euse->routes, list) {
|
llist_for_each_entry(rt, &euse->routes, list) {
|
||||||
if (!strncmp(ussd_code, rt->prefix, strlen(rt->prefix))) {
|
if (!strncmp(ussd_code, rt->prefix, strlen(rt->prefix))) {
|
||||||
LOGP(DMAIN, LOGL_DEBUG, "Found EUSE %s (prefix %s) for USSD Code '%s'\n",
|
LOGP(DSS, LOGL_DEBUG, "Found EUSE %s (prefix %s) for USSD Code '%s'\n",
|
||||||
rt->euse->name, rt->prefix, ussd_code);
|
rt->euse->name, rt->prefix, ussd_code);
|
||||||
return rt->euse;
|
return rt->euse;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LOGP(DMAIN, LOGL_DEBUG, "Could not find Route/EUSE for USSD Code '%s'\n", ussd_code);
|
LOGP(DSS, LOGL_DEBUG, "Could not find Route/EUSE for USSD Code '%s'\n", ussd_code);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ struct hlr_euse *ussd_euse_find_7bit_gsm(struct hlr *hlr, const char *ussd_code)
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
#define LOGPSS(ss, lvl, fmt, args...) \
|
#define LOGPSS(ss, lvl, fmt, args...) \
|
||||||
LOGP(DMAIN, lvl, "%s/0x%08x: " fmt, (ss)->imsi, (ss)->session_id, ## args)
|
LOGP(DSS, lvl, "%s/0x%08x: " fmt, (ss)->imsi, (ss)->session_id, ## args)
|
||||||
|
|
||||||
struct ss_session {
|
struct ss_session {
|
||||||
/* link us to hlr->ss_sessions */
|
/* link us to hlr->ss_sessions */
|
||||||
|
@ -361,13 +361,13 @@ int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *
|
||||||
struct ss_session *ss;
|
struct ss_session *ss;
|
||||||
struct ss_request req = {0};
|
struct ss_request req = {0};
|
||||||
|
|
||||||
LOGP(DMAIN, LOGL_INFO, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id,
|
LOGP(DSS, LOGL_DEBUG, "%s/0x%08x: Process SS (%s)\n", gsup->imsi, gsup->session_id,
|
||||||
osmo_gsup_session_state_name(gsup->session_state));
|
osmo_gsup_session_state_name(gsup->session_state));
|
||||||
|
|
||||||
/* decode and find out what kind of SS message it is */
|
/* decode and find out what kind of SS message it is */
|
||||||
if (gsup->ss_info && gsup->ss_info_len) {
|
if (gsup->ss_info && gsup->ss_info_len) {
|
||||||
if (gsm0480_parse_facility_ie(gsup->ss_info, gsup->ss_info_len, &req)) {
|
if (gsm0480_parse_facility_ie(gsup->ss_info, gsup->ss_info_len, &req)) {
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%082x: Unable to parse SS request: %s\n",
|
LOGP(DSS, LOGL_ERROR, "%s/0x%082x: Unable to parse SS request: %s\n",
|
||||||
gsup->imsi, gsup->session_id,
|
gsup->imsi, gsup->session_id,
|
||||||
osmo_hexdump(gsup->ss_info, gsup->ss_info_len));
|
osmo_hexdump(gsup->ss_info, gsup->ss_info_len));
|
||||||
/* FIXME: Send a Reject component? */
|
/* FIXME: Send a Reject component? */
|
||||||
|
@ -379,13 +379,13 @@ int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *
|
||||||
case OSMO_GSUP_SESSION_STATE_BEGIN:
|
case OSMO_GSUP_SESSION_STATE_BEGIN:
|
||||||
/* Check for overlapping Session ID usage */
|
/* Check for overlapping Session ID usage */
|
||||||
if (ss_session_find(hlr, gsup->imsi, gsup->session_id)) {
|
if (ss_session_find(hlr, gsup->imsi, gsup->session_id)) {
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: BEGIN with non-unique session ID!\n",
|
LOGP(DSS, LOGL_ERROR, "%s/0x%08x: BEGIN with non-unique session ID!\n",
|
||||||
gsup->imsi, gsup->session_id);
|
gsup->imsi, gsup->session_id);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
ss = ss_session_alloc(hlr, gsup->imsi, gsup->session_id);
|
ss = ss_session_alloc(hlr, gsup->imsi, gsup->session_id);
|
||||||
if (!ss) {
|
if (!ss) {
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: Unable to allocate SS session\n",
|
LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unable to allocate SS session\n",
|
||||||
gsup->imsi, gsup->session_id);
|
gsup->imsi, gsup->session_id);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
@ -407,7 +407,7 @@ int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *
|
||||||
case OSMO_GSUP_SESSION_STATE_CONTINUE:
|
case OSMO_GSUP_SESSION_STATE_CONTINUE:
|
||||||
ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);
|
ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);
|
||||||
if (!ss) {
|
if (!ss) {
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: CONTINUE for unknown SS session\n",
|
LOGP(DSS, LOGL_ERROR, "%s/0x%08x: CONTINUE for unknown SS session\n",
|
||||||
gsup->imsi, gsup->session_id);
|
gsup->imsi, gsup->session_id);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
@ -422,7 +422,7 @@ int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *
|
||||||
case OSMO_GSUP_SESSION_STATE_END:
|
case OSMO_GSUP_SESSION_STATE_END:
|
||||||
ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);
|
ss = ss_session_find(hlr, gsup->imsi, gsup->session_id);
|
||||||
if (!ss) {
|
if (!ss) {
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: END for unknown SS session\n",
|
LOGP(DSS, LOGL_ERROR, "%s/0x%08x: END for unknown SS session\n",
|
||||||
gsup->imsi, gsup->session_id);
|
gsup->imsi, gsup->session_id);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
@ -436,7 +436,7 @@ int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *
|
||||||
ss_session_free(ss);
|
ss_session_free(ss);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOGP(DMAIN, LOGL_ERROR, "%s/0x%08x: Unknown SS State %d\n", gsup->imsi,
|
LOGP(DSS, LOGL_ERROR, "%s/0x%08x: Unknown SS State %d\n", gsup->imsi,
|
||||||
gsup->session_id, gsup->session_state);
|
gsup->session_id, gsup->session_state);
|
||||||
goto out_err;
|
goto out_err;
|
||||||
}
|
}
|
||||||
|
@ -449,7 +449,7 @@ out_err:
|
||||||
|
|
||||||
int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup)
|
int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup)
|
||||||
{
|
{
|
||||||
LOGP(DMAIN, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", gsup->imsi, gsup->session_id,
|
LOGP(DSS, LOGL_NOTICE, "%s/0x%08x: Process SS ERROR (%s)\n", gsup->imsi, gsup->session_id,
|
||||||
osmo_gsup_session_state_name(gsup->session_state));
|
osmo_gsup_session_state_name(gsup->session_state));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,13 @@ const struct log_info_cat hlr_log_info_cat[] = {
|
||||||
.color = "\033[1;33m",
|
.color = "\033[1;33m",
|
||||||
.enabled = 1, .loglevel = LOGL_NOTICE,
|
.enabled = 1, .loglevel = LOGL_NOTICE,
|
||||||
},
|
},
|
||||||
|
[DSS] = {
|
||||||
|
.name = "DSS",
|
||||||
|
.description = "Supplementary Services",
|
||||||
|
.color = "\033[1;34m",
|
||||||
|
.enabled = 1, .loglevel = LOGL_NOTICE,
|
||||||
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct log_info hlr_log_info = {
|
const struct log_info hlr_log_info = {
|
||||||
|
|
|
@ -7,6 +7,7 @@ enum {
|
||||||
DDB,
|
DDB,
|
||||||
DGSUP,
|
DGSUP,
|
||||||
DAUC,
|
DAUC,
|
||||||
|
DSS,
|
||||||
};
|
};
|
||||||
|
|
||||||
extern const struct log_info hlr_log_info;
|
extern const struct log_info hlr_log_info;
|
||||||
|
|
|
@ -111,6 +111,7 @@ log stderr
|
||||||
logging level main notice
|
logging level main notice
|
||||||
logging level db notice
|
logging level db notice
|
||||||
logging level auc notice
|
logging level auc notice
|
||||||
|
logging level ss info
|
||||||
...
|
...
|
||||||
!
|
!
|
||||||
line vty
|
line vty
|
||||||
|
|
Loading…
Reference in New Issue