Hi Philipp and Neels,
On Thu, Jul 06, 2017 at 11:31:26AM +0200, Philipp Maier wrote:
(any reason to not discuss this on openbsc@?)
I put it on CC.
Still missing in this proposal: how do you tell e.g. the MSC's A and IuCS
code
to use a given SCCP instance, local SSN and remote SCCP address?
I would add a VTY command where the user has to tell on which ss7 instance the A or IuCS interface should bind. When the IDs for both match up, we know that we use the same SCCP instance, but I think we do not even have to check that. Its implicit by the pointers. If the numbers are the same we will end up with the same sccp instance pointer for both.
sounds fine.
A much simpler soultion to the problem would be to pack the configuration options into struct osmo_ss7_instance. Then when the config file parsing is done, the user must call a function e.g. "osmo_sscp_init()" or so to trigger the call to osmo_sccp_simple_client().
In struct osmo_ss7_instance we already have the .cfg sub struct. I think we should add the items there instead of introducing something new. Also if we do so we would have to change it for the existing code too to have it consistent.
Lets do some practical examples:
- A and IuCS use the same sscp/ss7 instance
cs7 instance 1 sccp-address msc_local point-code 0.0.2 routing-indicator PC sccp name iucs_and_a pc msc_local prot M3UA local-port 1234 remote-port 5678 local-ip 1.1.1.1 remote-ip 2.2.2.2
No, this looks wrong. Why are we inventing new VTY configuration for anything below the SCCP protocol layer? This is all already present in libosmo-sigtran?
The application *only* cares about using the SCCP User SAP. It does not care about what happens below that SAP, and who and how it is configured. What signalling links exist, and which protocol (M3UA) they use, etc. is all out of scope/concern here. This is done by the existing 'cs7 as' and 'cs7 asp' and friends. The only difference between STP and ASP side configuration in all of the related data structures is a single flag. So whether you configure an AS/ASP on the STP, or you do that on the ASP side (e.g. OsmoMSC) is not different.
I'm not entirely happy about the amount of discussion this entire topic is drawing up, for several weeks. IMHO it should in fact be very straight forward and simple:
* osmo_ss7 code handles M3UA + related config/vty (99.9% exists for months) * osmo_sccp code handles SCCP address book * application simply uses adresses from SCCP address book. By the addresses being each part of a ss7 instance, it is well-defined via which SCCP-instance communication to the respective peer should happen, and that SCCP instance is bound to the respective SS7 instacne.
Please let me know which particular part I am missing here?