diff --git a/include/osmocom/msc/Makefile.am b/include/osmocom/msc/Makefile.am index f0e24c420..5be51ea90 100644 --- a/include/osmocom/msc/Makefile.am +++ b/include/osmocom/msc/Makefile.am @@ -9,6 +9,7 @@ noinst_HEADERS = \ gsm_04_11.h \ gsm_04_14.h \ gsm_04_80.h \ + gsm_09_11.h \ gsm_data.h \ gsm_data_shared.h \ gsm_subscriber.h \ @@ -30,7 +31,6 @@ noinst_HEADERS = \ smpp.h \ sms_queue.h \ transaction.h \ - ussd.h \ vlr.h \ vty.h \ $(NULL) diff --git a/include/osmocom/msc/gsm_09_11.h b/include/osmocom/msc/gsm_09_11.h new file mode 100644 index 000000000..4e7a5b64b --- /dev/null +++ b/include/osmocom/msc/gsm_09_11.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +int gsm0911_rcv_nc_ss(struct gsm_subscriber_connection *conn, struct msgb *msg); diff --git a/include/osmocom/msc/ussd.h b/include/osmocom/msc/ussd.h deleted file mode 100644 index bc4227bb7..000000000 --- a/include/osmocom/msc/ussd.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include - -int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg); diff --git a/src/libmsc/Makefile.am b/src/libmsc/Makefile.am index 3173da54c..ad8deec90 100644 --- a/src/libmsc/Makefile.am +++ b/src/libmsc/Makefile.am @@ -35,6 +35,7 @@ libmsc_a_SOURCES = \ gsm_04_11.c \ gsm_04_14.c \ gsm_04_80.c \ + gsm_09_11.c \ gsm_subscriber.c \ mncc.c \ mncc_builtin.c \ @@ -44,7 +45,6 @@ libmsc_a_SOURCES = \ rrlp.c \ silent_call.c \ sms_queue.c \ - ussd.c \ transaction.c \ osmo_msc.c \ ctrl_commands.c \ diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index 5c453165c..beec6fa05 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -42,9 +42,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -3524,7 +3524,7 @@ int gsm0408_dispatch(struct gsm_subscriber_connection *conn, struct msgb *msg) rc = -ENOTSUP; break; case GSM48_PDISC_NC_SS: - rc = handle_rcv_ussd(conn, msg); + rc = gsm0911_rcv_nc_ss(conn, msg); break; case GSM48_PDISC_TEST: rc = gsm0414_rcv_test(conn, msg); diff --git a/src/libmsc/ussd.c b/src/libmsc/gsm_09_11.c similarity index 94% rename from src/libmsc/ussd.c rename to src/libmsc/gsm_09_11.c index a27d47bd6..8f7e54fac 100644 --- a/src/libmsc/ussd.c +++ b/src/libmsc/gsm_09_11.c @@ -1,5 +1,3 @@ -/* Network-specific handling of mobile-originated USSDs. */ - /* (C) 2008-2009 by Harald Welte * (C) 2008, 2009 by Holger Hans Peter Freyther * (C) 2009 by Mike Haben @@ -21,8 +19,11 @@ * */ -/* This module defines the network-specific handling of mobile-originated - USSD messages. */ +/** + * MSC-specific handling of call independent Supplementary + * Services messages (NC_SS) according to GSM TS 09.11 + * "Signalling interworking for supplementary services". + */ #include #include @@ -58,8 +59,8 @@ static int send_own_number(struct gsm_subscriber_connection *conn, return gsm0480_send_ussd_response(conn, response_string, req); } -/* Entrypoint - handler function common to all mobile-originated USSDs */ -int handle_rcv_ussd(struct gsm_subscriber_connection *conn, struct msgb *msg) +/* Entry point for call independent MO SS messages */ +int gsm0911_rcv_nc_ss(struct gsm_subscriber_connection *conn, struct msgb *msg) { struct gsm48_hdr *gh = msgb_l3(msg); struct gsm_trans *trans;