Change in osmo-msc[master]: libvlr/vlr.c: introduce the generic GSUP message router

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Sat Jun 16 20:37:30 UTC 2018


Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/9656


Change subject: libvlr/vlr.c: introduce the generic GSUP message router
......................................................................

libvlr/vlr.c: introduce the generic GSUP message router

Some internal sub-systems, such as SS/USSD or SMS implementation,
may also need to use GSUP connection with HLR. Previously, it was
only available within the libvlr code, and nowhere else.

Let's introduce the generic GSUP message router, which will
receive messages unhandled by VLR itself, and route them to
a handler depending on the message type.

Change-Id: Ib8146ce5788c8f249dcaa39d61bd0388574bf892
---
M src/libvlr/vlr.c
1 file changed, 15 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/56/9656/1

diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c
index 29098b1..fc5bc07 100644
--- a/src/libvlr/vlr.c
+++ b/src/libvlr/vlr.c
@@ -966,6 +966,18 @@
 	return rc;
 }
 
+static int vlr_route_gsup_msg(struct vlr_instance *vlr,
+			      struct osmo_gsup_message *gsup_msg)
+{
+	switch (gsup_msg->message_type) {
+	/* Nowhere to route for now */
+	default:
+		LOGP(DVLR, LOGL_ERROR, "No handler found for %s, dropping message...\n",
+			osmo_gsup_message_type_name(gsup_msg->message_type));
+		return -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL;
+	}
+}
+
 /* Incoming handler for GSUP from HLR.
  * Keep this function non-static for direct invocation by unit tests. */
 int vlr_gsupc_read_cb(struct gsup_client *gsupc, struct msgb *msg)
@@ -1037,9 +1049,9 @@
 		break;
 	default:
 		LOGVSUBP(LOGL_ERROR, vsub,
-			"Rx GSUP msg_type=%d not valid at VLR/SGSN side\n",
-			gsup.message_type);
-		rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL;
+			"Rx GSUP msg_type=%d not handled at VLR, "
+			"forwarding to the router at MSC\n", gsup.message_type);
+		rc = vlr_route_gsup_msg(vlr, &gsup);
 		break;
 	}
 

-- 
To view, visit https://gerrit.osmocom.org/9656
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib8146ce5788c8f249dcaa39d61bd0388574bf892
Gerrit-Change-Number: 9656
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180616/d5209a65/attachment.htm>


More information about the gerrit-log mailing list