Hi Neels and Philipp,
On Thu, Jul 06, 2017 at 03:10:37PM +0200, Neels Hofmeyr wrote:
Will we ever use osmo_ss7_instance for anything else than SCCP?
no current plans, but completely likely for e.g. ISUP.
(That's because osmo_sccp_simple_client() accepts a PC argument that is set as ss7->cfg.primary_pc. I wonder whether we use a routing indicator of PC in a hardcoded way then? Future plans?)
Can you please all get detached from what simple_client() currently does? It is nothing less than a crude hack that I introduced so we (and particularly Philipp) can make quick progress on the higher layers without having to wait for the then-non-existant ss7 vty code in libosmo-sccp and the related full configuration, using OsmoSTP, etc.
So whatever that API hack does or doesn't do is not really relevant in the bigger picture.
So this is sufficient:
msc cs7-inst-a 1 cs7-inst-iucs 1
The MSC should point to the address book (by name) and the address book contains the point code and/or global title, etc. (i.e. the local sccp address) that it should use, together with the ss7 instance number.
anything else is determined by configuration of the lower layer in osmo_ss7 vty.
One more thing: each ss7_instance will only find those address book entries defined in its own address book list, right?
yes.
If I explore the case of passing the PC directly and using a global SCCP address book, the VTY becomes simpler. We don't actually need an cs7-instance scope anymore, since all we do in it would be defining an SCCP instance:
Configuration of the SCCP instance and anything below it are not the concern of the MSC. Please do not mix the layers.
As analogy: You also don't configure the MAC address and the IP address, netmask, IP routes, etc. in the system when you crate a TCP socket.
The Ethernet and IP layer configuration (e.g. MTP/M3UA/ASP/links/linksets/routes/...) is independent of the application layer, where when you bind a socket, you simply specify one of many local IP addresses + the respective port number.
The fact that various layers are running within one process, or the fact that they share one config file / vty doesn't mean those parts are not separate and have a *very* thin line of interaction: The SCCP-User-SAP only.
Regards, Harald