laforge submitted this change.
sccp: Use protoClass 0 to transmit SSA
Recent commit added the possibility to set proto Class 0 vs 1 based on
Sequence Control parameter present in UNITDATA.req, but forgot to extend
it to the special code path used tro transmit SSA.
As a result, libosmo-sigtran started transmitting SSA with protoClass 1
instead of previous 0. This is actually not bad, but there's no need to
use protocClass1 here since we don't care about other messages being
sent together with this one, so protoClass0 is better fit here.
Fixes: 0061e8d0bcba3b0ed5ea255588619627d0975380
Change-Id: I906094a14be670e665ed8ffd0383dd8da690cb9a
---
M src/sccp_scmg.c
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/sccp_scmg.c b/src/sccp_scmg.c
index a8ac766..755d272 100644
--- a/src/sccp_scmg.c
+++ b/src/sccp_scmg.c
@@ -166,7 +166,7 @@
};
static int sccp_scmg_tx(struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr,
- const struct osmo_sccp_addr *called_addr,
+ const struct osmo_sccp_addr *called_addr, const uint32_t *seq_ctrl,
uint8_t msg_type, uint8_t ssn, uint16_t pc, uint8_t smi, uint8_t *ssc_cong_lvl)
{
struct msgb *msg = sccp_msgb_alloc(__func__);
@@ -179,6 +179,7 @@
param = &prim->u.unitdata;
memcpy(¶m->calling_addr, calling_addr, sizeof(*calling_addr));
memcpy(¶m->called_addr, called_addr, sizeof(*called_addr));
+ param->in_sequence_control = seq_ctrl ? *seq_ctrl : OSMO_SCU_UNITDATA_REQ_P_SEQUENCE_CONTROL_NOT_PRESENT;
osmo_prim_init(&prim->oph, SCCP_SAP_USER, OSMO_SCU_PRIM_N_UNITDATA, PRIM_OP_REQUEST, msg);
/* Fill the actual SCMG message */
@@ -243,7 +244,7 @@
if (0 /* !subsys_available(scu) */)
return 0;
- return sccp_scmg_tx(scu, called_addr, calling_addr, SCCP_SCMG_MSGT_SSA,
+ return sccp_scmg_tx(scu, called_addr, calling_addr, NULL, SCCP_SCMG_MSGT_SSA,
sst->affected_ssn, sst->affected_pc, 0, NULL);
}
To view, visit change 39766. To unsubscribe, or for help writing mail filters, visit settings.