From b130c947f7ba19e2ff0c27671dfaf98938d4e027 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sat, 27 Feb 2021 12:07:57 +0100 Subject: Add selection of network information element --- src/router/routing.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/router/routing.c') diff --git a/src/router/routing.c b/src/router/routing.c index 118ef78..b49f6d4 100644 --- a/src/router/routing.c +++ b/src/router/routing.c @@ -86,7 +86,8 @@ void routing_env_msg(routing_t *routing, osmo_cc_msg_t *msg) { uint8_t coding, capability, mode; uint8_t type, plan, present, screen, reason; - char number[256]; + uint8_t network_type; + char number[256], network_id[256]; int rc, i; for (i = 0; environ[i]; i++) { @@ -113,7 +114,7 @@ void routing_env_msg(routing_t *routing, osmo_cc_msg_t *msg) routing->envp[routing->envc++] = env_string("CALLING_INTERFACE", number); } - rc = osmo_cc_get_ie_calling(msg, 2, &type, &plan, &present, &screen, number, sizeof(number)); + rc = osmo_cc_get_ie_calling(msg, 1, &type, &plan, &present, &screen, number, sizeof(number)); if (rc >= 0) { routing->envp[routing->envc++] = env_int("CALLING2_TYPE", type); routing->envp[routing->envc++] = env_int("CALLING2_PLAN", plan); @@ -121,7 +122,11 @@ void routing_env_msg(routing_t *routing, osmo_cc_msg_t *msg) routing->envp[routing->envc++] = env_int("CALLING2_SCREEN", screen); routing->envp[routing->envc++] = env_string("CALLING2", number); } - + rc = osmo_cc_get_ie_calling_network(msg, 0, &network_type, network_id, sizeof(network_id)); + if (rc >= 0) { + routing->envp[routing->envc++] = env_string("NETWORK_TYPE", osmo_cc_network_type_name(network_type)); + routing->envp[routing->envc++] = env_string("NETWORK_ID", network_id); + } rc = osmo_cc_get_ie_redir(msg, 0, &type, &plan, &present, &screen, &reason, number, sizeof(number)); if (rc >= 0) { routing->envp[routing->envc++] = env_int("REDIRECTING_TYPE", type); -- cgit v1.2.3