pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40292?usp=email )
Change subject: sccp: SCOC -> SCRC: Use DPC provided from conn info in msg_type != CR
[3/3]
......................................................................
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
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40292?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
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(a)sysmocom.de>