Patch Set 2:

I think this may end up being too inflexible.

For MNCC, it makes sense to distinguish between "internal" and "external 
socket": Both can deal with voice calls to all (reachable) subscribers.

For SMS, we have any number of ESMEs, and we can configure prefix-based matches 
to look up the respective ESMEs when delivering SMS, which is flexible.

For USSD, I don't think the internal handler would ever have much more than the 
*#100#, particularly not as we're introducing an external interface now.

As the USSD external interface doesn't support multiple different external USSD 
applications (we want to stay close to MAP for new interfaces), it's not 
possible to do something like we do with ESMEs.

So in short, I think we should simply have a binary flag that decides whether 
the internal *#100# should be enabled or disabled, and anything beyond that 
should always unconditionally be forwarded via GSUP to the HLR (or any future 
MAP gateway).

The HLR can then decide how to handle those USSD messages and offer whatever 
non-3GPP external interfaces/APIS and route based on pattern matching, etc.

What do you think?

To view, visit
To unsubscribe, visit

Gerrit-MessageType: comment
Gerrit-Change-Id: I0b3c5ccea4054113e8e23109b1ab68d9f0e18497
Gerrit-PatchSet: 2
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <>
Gerrit-Reviewer: Harald Welte <>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Vadim Yanitskiy <>
Gerrit-HasComments: No

Reply via email to