Neels Hofmeyr has uploaded this change for review. ( https://gerrit.osmocom.org/13588
Change subject: GSUP routing: use Kind IE ...................................................................... GSUP routing: use Kind IE Include the GSUP Kind from original message in routing error responses. Add the Kind to GSUP router logging. Depends: Ic397a9f2c4a7224e47cab944c72e75ca5592efef (libosmocore) Change-Id: I8dc3967d9372d63e9d57ca2608dd3316edb234a4 --- M src/hlr.c 1 file changed, 17 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/88/13588/1 diff --git a/src/hlr.c b/src/hlr.c index 2614f35..6d2f7ac 100644 --- a/src/hlr.c +++ b/src/hlr.c @@ -453,6 +453,7 @@ /* Prepare error message (before IEs get deallocated) */ gsup_err = talloc_zero(hlr_ctx, struct osmo_gsup_message); OSMO_STRLCPY_ARRAY(gsup_err->imsi, gsup->imsi); + gsup_err->kind = gsup->kind; gsup_err->destination_name = talloc_memdup(gsup_err, gsup->destination_name, gsup->destination_name_len); gsup_err->destination_name_len = gsup->destination_name_len; gsup_err->message_type = OSMO_GSUP_MSGT_E_ROUTING_ERROR; @@ -462,8 +463,9 @@ /* Check for routing IEs */ if (!gsup->source_name || !gsup->source_name_len || !gsup->destination_name || !gsup->destination_name_len) { - LOGP(DMAIN, LOGL_ERROR, "Can't forward GSUP message for IMSI %s (%s): missing routing IEs\n", - gsup->imsi, osmo_gsup_message_type_name(gsup->message_type)); + LOGP(DMAIN, LOGL_ERROR, "Can't forward GSUP message for IMSI %s (%s, kind %s): missing routing IEs\n", + gsup->imsi, osmo_gsup_message_type_name(gsup->message_type), + osmo_gsup_kind_name(gsup->kind)); goto end; } @@ -480,10 +482,11 @@ } /* Forward message without re-encoding (so we don't remove unknown IEs) */ - LOGP(DMAIN, LOGL_NOTICE, "Forwarding GSUP message for IMSI %s from %s to %s: %s\n", gsup->imsi, + LOGP(DMAIN, LOGL_NOTICE, "Forwarding GSUP message for IMSI %s from %s to %s: %s, kind %s\n", gsup->imsi, osmo_quote_str_buf((const char *)gsup->source_name, gsup->source_name_len, buf, sizeof(buf)), osmo_quote_str((const char *)gsup->destination_name, gsup->destination_name_len), - osmo_gsup_message_type_name(gsup->message_type)); + osmo_gsup_message_type_name(gsup->message_type), + osmo_gsup_kind_name(gsup->kind)); /* Remove incoming IPA header to be able to prepend and outgoing IPA header */ msgb_pull_to_l2(msg); @@ -494,16 +497,19 @@ gsup = NULL; if (ret == -ENODEV) LOGP(DMAIN, LOGL_ERROR, - "Can't forward GSUP message for IMSI %s from %s to %s (%s): destination not connected\n", gsup_err->imsi, - osmo_quote_str_buf((const char *)gsup_err->source_name, gsup_err->source_name_len, buf, sizeof(buf)), - osmo_quote_str((const char *)gsup_err->destination_name, gsup_err->destination_name_len), - osmo_gsup_message_type_name(gsup_err->message_type)); - else if (ret) - LOGP(DMAIN, LOGL_ERROR, "Can't forward GSUP message for IMSI %s from %s to %s (%s): unknown error\n", + "Can't forward GSUP message for IMSI %s from %s to %s (%s, kind %s): destination not connected\n", gsup_err->imsi, osmo_quote_str_buf((const char *)gsup_err->source_name, gsup_err->source_name_len, buf, sizeof(buf)), osmo_quote_str((const char *)gsup_err->destination_name, gsup_err->destination_name_len), - osmo_gsup_message_type_name(gsup_err->message_type)); + osmo_gsup_message_type_name(gsup_err->message_type), + osmo_gsup_kind_name(gsup_err->kind)); + else if (ret) + LOGP(DMAIN, LOGL_ERROR, "Can't forward GSUP message for IMSI %s from %s to %s (%s, kind %s): unknown error\n", + gsup_err->imsi, + osmo_quote_str_buf((const char *)gsup_err->source_name, gsup_err->source_name_len, buf, sizeof(buf)), + osmo_quote_str((const char *)gsup_err->destination_name, gsup_err->destination_name_len), + osmo_gsup_message_type_name(gsup_err->message_type), + osmo_gsup_kind_name(gsup_err->kind)); end: /* Send error back to source */ -- To view, visit https://gerrit.osmocom.org/13588 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I8dc3967d9372d63e9d57ca2608dd3316edb234a4 Gerrit-Change-Number: 13588 Gerrit-PatchSet: 1 Gerrit-Owner: Neels Hofmeyr <nhofm...@sysmocom.de>