diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2023-04-18 21:59:41 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2023-04-24 18:45:37 +0200 |
commit | a0fbeeb4d2cd9951ebed9b54f8d34c1d6ad5eae0 (patch) | |
tree | 12b017f41cf3d6113541a937cf554211449d2546 /src/sccp_user.c | |
parent | 460ba631b5922dda228b5d1b7dd5b01ff3a3132a (diff) |
SCCP: implement variable limit on Optional Data (CR,CC,CREF,RLSD)
When the Optional Data surpasses 130 bytes, it is not sent as part of
SCCP CR, CC, CREF or RLSD messages, but gets sent separately in a Data
Form 1.
Make this 130 user configurable. This is specified to be 130 bytes
exactly, but to interop with non-conforming peers, make this limit
adjustable per cs7 instance, via osmo_sccp_vty_init().
Add and test new VTY config:
cs7 instance N
sccp max-optional-data (<0-999999>|standard)
Related: ITU-T Q.713 4.2 to 4.5
Related: Ia68dad973ef18513b52f5accb5264c557c7295ea osmo-ttcn3-hacks
Related: SYS#6423
Change-Id: If35697234796af8943691b2de62218e7dc93a08c
Diffstat (limited to 'src/sccp_user.c')
-rw-r--r-- | src/sccp_user.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/sccp_user.c b/src/sccp_user.c index e619c90..34c663d 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -35,6 +35,7 @@ #include <osmocom/sigtran/mtp_sap.h> #include <osmocom/sigtran/protocol/mtp.h> #include <osmocom/sigtran/sccp_helpers.h> +#include <osmocom/sccp/sccp_types.h> #include "sccp_internal.h" #include "xua_internal.h" @@ -235,6 +236,7 @@ osmo_sccp_instance_create(struct osmo_ss7_instance *ss7, void *priv) inst->ss7_user.name = "SCCP"; inst->ss7_user.prim_cb = mtp_user_prim_cb; inst->ss7_user.priv = inst; + inst->max_optional_data = SCCP_MAX_OPTIONAL_DATA; rc = sccp_scmg_init(inst); if (rc < 0) { |