interfacing core network to SIP world

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/OpenBSC@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Mon Aug 5 17:11:07 UTC 2019


Hi Keith,

thanks for getting this discussion started!

On Mon, Aug 05, 2019 at 04:27:56PM +0200, Keith wrote:
> There was some discussion about this at the devcon, I want to outline
> some points here, hopefully I understand it right.

[I don't recall participating in that discussion, so my feedback is
 just general in terms of "this is how it's supposed to be"]

> * The osmo-sip-connector should ask the HLR if the number exists before
> forwarding the call to MNCC.

ACK.  In the MAP world, the external call arrives at the G-MSC which
then sends a "SendRoutingInfo" message to the HLR, which responds with
all kinds of data, but most importantly the IMSI and the MSRN.  The MSRN
is a temporarily-allocated (land line) phone number at the MSC serving the
subscriber.

And before the HLR can return the MSRN, it requests that MSRN from the
VLR/MSC (using the PROVIDE_ROAMING_NR request).  See Section 21.2.1 of
3GPP TS 29.002 for the detailed ladder diagram.  Steps 3..6 are
optional, so it's 1 (IAM == INVITE) /2/7/8/9

> * There may be more than one MSC, in which case the HLR would inform
> osmo-sip-connector about which MSC to use.
> 
> * The osmo-sip-connector could either be SIP associated, or MSC
> associated, that is to say:
> 
> a) one osmo-sip-connector per SIP UA, sip-connector talks to HLR, and
> has multiple connections to MSCs (UDP then, not Unix Socket?)
> 
> or
> 
> b) one osmo-sip-connector per MSC, in which case the SIP UA would have
> to somehow query the HLR to ask where to send the call.  
> 
> Does that all sound correct?

It all sounds correct to me.  Given that MNCC is a local unix domain
socket interface, osmo-sip-connector always has to be MSC-colocated.  So
I'm for option 'b'.

We'd basically need a new instance which plays the role of the G-MSC:
* receive the SIP INVITE, temporarily store it
* ask HLR which VLR/MSC is serving that MSISDN
* wait for HLR to return IMSI + MSRN (or rather in our case, instead of
  MSRN maybe in our case the IP address of the osmo-sip-connector
  serving that MSC/VLR?)
* forward the SIP INVITE to the MSC-colocated osmo-sip-connector

Not sure if it would have to sit in between the extenal SIP UA and
osmo-sip-connector for the remaining duration of the call, or if it's
possible in SIP that the response to the INVITE is originating from
a different IP/Port than the INVITE was sent to.  Probably it's
possible in theory, but it will confuse the hell out of other
implementations and/or state-tracking firewalls, NAT, etc.

> IIUC,  in the traditional core network. When an MSC receives a MO SETUP
> from a local MS, and it does not have this number in the VLR, it should
> be querying HLR for routing info, (which may subsequently query another
> HLR) no? why are we only doing VLR lookup in the MSC? Is it simply "To
> be implemented" ?

What happens in a traditional core network is that the call will
be routed like any other land-line (non-mobile) phone call.  So
basically the IW-MSC (the MO counterpart of the G-MSC) will use the
SS7/ISUP or SIP network to tr to route the call to the "B" subscriber.
If that subscriber happens to be another mobile subscriber, it will end
up at the G-MSC of that B-network, and the MT procedure described above
will happen inside the B network.

So, if we implement the G-MSC functionality that you originally
described, we should get that part solved, too.

Regards,
	Harald
-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)



More information about the OpenBSC mailing list