osmo-bsc refactoring / inter-BSC handover

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 Jun 25 13:57:54 UTC 2018


Hi Neels,

sorry for the slow response, I've been down with fever and minding the
bed during most parts of last week.

I've only started to review your patchset, but let me provide some
answer:

On Mon, Jun 18, 2018 at 07:50:56AM +0200, Neels Hofmeyr wrote:

> I have a marginal test added for inter-bsc MO, but the inter-bsc MT gets me.
> The problem there is that it is the first time a conn is initiated by the MSC
> side. 

> I can get that to work by using BSSAP on that Test_CT. 

that's not such an elegant choice, as it means we will never be able to
run multuple of those in parallel.  The point of the various
*_Emulation.ttcn layers is to (de)multiplex per
subscriber/connection/lchan/... and to be able to handle all parts
related to *one* particular subscriber/connection in a component, while
at the same time having any number of other components handling other
concurrent connections/subscribers.

> It goes well up to the point where osmo-bsc sends MGCP CRCX and expects a response. Now I want to
> use the MSC_ConnHdlr to manage MGCP, but I can't for the life of me figure out
> how to be able to do both at the same time. 

The only clean solutions is to do everything from within a *_ConnHdlr.

The logical flow of events should be:
* start BSSMAP_Emulation etc. using "f_init(N, true)"
* start a ConnHdlr component, from there
** send a BSSAP_Conn_Req to the BSSMAP_Emulation, which consists of the
   SCCP called / calling party address and the BSSAP to send in the
   first message.

> I tried for very long to resolve
> "BSC_Tests.ttcn:2755.13-2756.31: error: Message type `@BSSAP_CodecPort.BSSAP_N_CONNECT_req' is not present on the outgoing list of port type `@BSSMAP_Emulation.BSSAP_Conn_PT'"
> but it feels like a brick wall...

This specific error message tells you that the BSSAP_N_CONNECT_req type
is not listed in the singature of the BSSAP_Conn_PT.  Let's look at its
definition:

/* port between individual per-connection components and this dispatcher */
type port BSSAP_Conn_PT message {
		/* BSSAP or direct DTAP messages from/to clients */
	inout	PDU_BSSAP, PDU_DTAP_MO, PDU_DTAP_MT,
		/* misc indications / requests between SCCP and client */
		BSSAP_Conn_Prim,
		/* Client requests us to create SCCP Connection */
		BSSAP_Conn_Req,
		/* MGCP, only used for IPA SCCPlite (MGCP in IPA mux) */
		MgcpCommand, MgcpResponse;
} with { extension "internal" };

and this definition clearly doesn't list the related type in its
signature.  So you're sending something to the port which it doesn't
support.

-- 
- 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