pespin has uploaded this change for review.

View Change

sccp: SCOC -> SCRC: Use DPC provided from conn info in msg_type != CR [3/3]

See Q.714 section 2.2 for more info on how the "addressing information"
is obtained depending on the msg.

Change-Id: I602c5be73d7fe6ef2af1cbfe6888227a9f602562
---
M src/sccp_scrc.c
1 file changed, 10 insertions(+), 1 deletion(-)

git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/92/40292/1
diff --git a/src/sccp_scrc.c b/src/sccp_scrc.c
index a99e26d..c80e917 100644
--- a/src/sccp_scrc.c
+++ b/src/sccp_scrc.c
@@ -252,7 +252,16 @@

rc = sua_addr_parse(&called, xua, SUA_IEI_DEST_ADDR);
if (rc < 0) {
- LOGPSCI(inst, LOGL_ERROR, "XUA Message %s without valid DEST_ADDR\n",
+ /* Q.714 2.2.2: It is expectd that CO msgs != CREQ have no "Called Address".
+ * Use MTP DPC info provided by SCOC in xua->mtp.dpc instead. */
+ called = (struct osmo_sccp_addr){
+ .ri = OSMO_SCCP_RI_SSN_PC,
+ .presence = OSMO_SCCP_ADDR_T_PC,
+ .pc = xua->mtp.dpc,
+ };
+ }
+ if (!(called.presence & OSMO_SCCP_ADDR_T_PC)) {
+ LOGPSCI(inst, LOGL_ERROR, "XUA Message %s without valid DPC address information\n",
xua_hdr_dump(xua, &xua_dialect_sua));
return -EINVAL;
}

To view, visit change 40292. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I602c5be73d7fe6ef2af1cbfe6888227a9f602562
Gerrit-Change-Number: 40292
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>