pespin submitted this 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(-)
diff --git a/src/sccp_scrc.c b/src/sccp_scrc.c
index 706e01c..ebc9a11 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.