Commit Graph

7 Commits

Author SHA1 Message Date
Harald Welte 9aee15c23d osmo_ss7: Fix segfault when routing MTP-TRANSFER.req to ASP without sctp connection
Change-Id: I142a11b09672864b54b927b8334b1975c8cd6022
2017-04-10 11:48:35 +02:00
Harald Welte ca88edb0fd xua_srv_conn_cb(): Print sctp_recvmsg flags (line in xua_cli_conn_cb())
Change-Id: I91920c6ad665abc791a1dbf386d52cf0aece9133
2017-04-10 11:48:35 +02:00
Harald Welte 48b15e921d xua_cli_conn_cb: Print flags as hex, not decimal.
Change-Id: Idcf861cfdc6c14d7d3bafbf2e243da5db6e2f3e6
2017-04-10 11:48:35 +02:00
Harald Welte 30d4c71b40 add converter functions between osmo_ss7 and m3ua traffic mode types
Change-Id: I6cc9530d7d2812cbc8feb6e9db51902865ebfe83
2017-04-10 11:48:35 +02:00
Harald Welte d40b9f842b SUA: Port to new osmo_ss7 and SCCP code
If we use the infrastructure provided by osmo_ss7 on the lower layer and
the SCCP SCRC, SCLC and SCOC code on the upper side, not much of the
original sua.c code remains.  It looks much like the M3UA code now.

Change-Id: I193b74f58aa70c443ae17e78b5604246d6bc3f71
2017-04-10 11:48:34 +02:00
Harald Welte ee350893cf Add new SCCP implementation
This is an implementation of SCCP as specified in ITO-T Q.71x,
particularly the SCRC (routing), SCLC (Connectionless) and SCOC
(Connection Oriented) portions.  the elaborate state machines of
SCOC are implemented using osmo_fsm, with one state machine for each
connection.

Interfaces to the top (user application) are the SCCP-USER-SAP and on
the bottom (network) side the MTP-USER-SAP as provided by osmo_ss7.

Contrary to a straight-forward implementation, the code internally
always uses a SUA representation of all messages (in struct xua_msg).
This enables us to have one common implementation of all related state
machines and use them for both SUA and SCCP.  If used with real SCCP
wire format, all messages are translated from SCCP to SUA on ingress and
translated from SUA to SCCP on egress.  As SUA is a super-set of SCCP,
this can be done "lossless".

Change-Id: I916e895d9a4914b05483fe12ab5251f206d10dee
2017-04-10 11:48:34 +02:00
Harald Welte 2d3a709527 Add new 'osmo_ss7' SS7 core code with M3UA, ASP/AS FSM, ...
This is what aims to be a rather complete/proper implementation of the
SIGTRAN + SS7 protocol suite.  It has proper abstraction between the
layers with primitives, finite state machines for things like the AS and
ASP state machines, support for point code routing, etc.

What's not implemented at this point:
* re-integration of pre-existing SUA (pending)
* actual MTP2 and physical E1/T1 link support
* different trafic modes like broadcast/fail-over/load-balance

Change-Id: I375eb80f01acc013094851d91d1d3333ebc12bc7
2017-04-10 10:41:16 +02:00