pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/39766?usp=email )
Change subject: sccp: Use protoClass 0 to transmit SSA ......................................................................
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(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/66/39766/1
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); }