aboutsummaryrefslogtreecommitdiffstats
path: root/src/xua_asp_fsm.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-04-02 11:58:17 +0200
committerHarald Welte <laforge@gnumonks.org>2017-04-18 10:08:25 +0000
commit5f0a8df34cae20455a520c3a85cf94124f486bf2 (patch)
treea3be446812b69c3725fb5f6b655af053d7c474e7 /src/xua_asp_fsm.h
parentafc3b856135237c8ce85ca39a42da892e5bdd9de (diff)
Add IPA/SCCPlite support as SIGTRAN alternative
This tries as good as possible to fit the IPA/SCCPlite stacking into the existing SIGTRAN/SS7 code architecture/model. To the user, the IPA protocol looks like yet another protocol on the same level as the choice between SUA and M3AU. On the inside, things are obviously quite different. We need to handle TCP with IPA framing instead of SCTP for both server and client. We also implement an alternative "ASP FSM" for IPA, which takes care of the CCM handshake (ID_REQ/ID_RESP/ID_ACK/ID_ACK2) for both client and server mode. In server mode, we use the 'unit name' as identifier to look up the AS, similar to how we use a routing context to look up the AS in the xUA case. We also have to bypass activating the default layer manager in the simple client to make sure we don't run into even more complexity. What's missing right now is some way to manually override/set the point codes. As IPA/SCCPlite is missing any routing label, we currently simply generate one with SPC=0/DPC=0, which will obviously not work in most configurations. Change-Id: I9098574cddeba10fcf8f1b6c196a7069a6805c56
Diffstat (limited to 'src/xua_asp_fsm.h')
-rw-r--r--src/xua_asp_fsm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xua_asp_fsm.h b/src/xua_asp_fsm.h
index 60e09da..32749ec 100644
--- a/src/xua_asp_fsm.h
+++ b/src/xua_asp_fsm.h
@@ -28,6 +28,11 @@ enum xua_asp_event {
XUA_ASP_E_ASPSM_BEAT,
XUA_ASP_E_ASPSM_BEAT_ACK,
+ /* IPA specific */
+ IPA_ASP_E_ID_RESP,
+ IPA_ASP_E_ID_ACK,
+ IPA_ASP_E_ID_GET,
+
_NUM_XUA_ASP_E
};
@@ -38,6 +43,7 @@ enum xua_asp_role {
};
extern struct osmo_fsm xua_asp_fsm;
+extern struct osmo_fsm ipa_asp_fsm;
struct osmo_fsm_inst *xua_asp_fsm_start(struct osmo_ss7_asp *asp,
enum xua_asp_role role, int log_level);