STP: Allow VTY configuration of M3UA ASP side
If we wanted to interconnect multiple osmo-stp (or even with other signalling gateways), we would need a way to use the ASP-side implementation of libosmo-sigtran from the VTY of OsmoSTP. This is currently not possible, but all related code should be there.
#4 Updated by dexter almost 3 years ago
I am not sure. We never tried it or even thought about it. When I get it correct, this would be a configuration where e.g. two OsmoSTP are connecting to each other. This means that one of them must take the client role. The topology could be something like this:
osmo-bsc (ASP) <------> (STP) OsmoSTP (ASP) <------> (STP) OsmoSTP (STP) <------> (ASP) osmo-msc
I think this is something we have to test in order to be sure that it really works.
- Tracker changed from Bug to Feature
- Assignee changed from laforge to pespin
- Priority changed from Low to Normal
The M3UA protocol defines various roles of M3UA endpoints: SGW, ASP and IPSP.
osmo-stp currently implements only the SGW (Signaling Gateway) role, allowing external M3UA entities in ASP role to connect to it. It does not permit the SGW to operate in ASP role to connect to external SGWsThe implementation of this feature will include
- Extension of the VTY interface to operate the osmo-stp send of the M3UA link in ASP mode
- Extension of the osmo-stp internal implementation to behave accordingly
- Implementation of automatic test cases in TTCN-3
- Status changed from New to In Progress
- Assignee changed from pespin to laforge
- % Done changed from 0 to 30
I've made an initial implementation as part of
laforge/wip, but it requires thorough testing before pushing for inclusion. There are two new VTY commands for specifying the SCTP role (client / server) and the xUA role (sg / asp).
Initial testing shows that the ASP transitions through ASPUP and ASPAC as expected. However, both the ASP and the SG are sending NOTIFY to each other, which is probably not how it's supposed to be. We need to suppress NOTIFY generation if we're not in SG role.
NOTIFY problem has been fixed. They are now suppressed when operating in ASP role.
Attaching a new pcap file.
The ASP side config looked like this:
cs7 instance 0 point-code format 24 asp asp-sender 2905 9999 m3ua local-ip 127.0.0.1 remote-ip 127.0.0.1 role asp sctp-role client as as-sender m3ua asp asp-sender routing-key 1023 23 route-table system update route 23 16777215 linkset as-sender
while the SG side looked like that:
cs7 instance 0 point-code format 24 asp asp-sender 9999 2905 m3ua local-ip 127.0.0.1 remote-ip 127.0.0.1 as as-sender m3ua asp asp-sender routing-key 1023 23 route-table system update route 23 16777215 linkset as-sender listen m3ua 2905 accept-asp-connections dynamic-permitted
the routing doesn't yet make sense in the above configs, I'm just pasting them to illustrate how to use the 'role' and 'sctp-role' commands to switch a given section into operating as client/ASP towards another SG.
- % Done changed from 60 to 90
This is implemented in https://gerrit.osmocom.org/#/c/libosmo-sccp/+/15974/ and https://gerrit.osmocom.org/#/c/libosmo-sccp/+/15975/ - automatic tests (all passing) are in the
laforge/wip branch of osmo-ttcn3-hacks.git.
Once it passes code review, it will be in master.
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
all code / patches in master; tests are executed automatically and pass, see those including clnt in the name at https://jenkins.osmocom.org/jenkins/job/ttcn3-stp-test/test_results_analyzer/