aboutsummaryrefslogtreecommitdiffstats
path: root/src/sccp_user.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-04-18 21:59:41 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2023-04-24 18:45:37 +0200
commita0fbeeb4d2cd9951ebed9b54f8d34c1d6ad5eae0 (patch)
tree12b017f41cf3d6113541a937cf554211449d2546 /src/sccp_user.c
parent460ba631b5922dda228b5d1b7dd5b01ff3a3132a (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.c2
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) {