pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40302?usp=email )
Change subject: sccp_scoc: Match local conn by src_ref, not dest_ref ......................................................................
sccp_scoc: Match local conn by src_ref, not dest_ref
SCRC Routing Failure is dispatched when a local SCCP Connection Oriented message fails to be routed to a peer. Hence, in order to figure out if the msg belons to a local conn, we need to use the src_ref (the sender), not the dst_ref (the peer's id).
As a result, event SCOC_E_RCOC_ROUT_FAIL_IND was potentially being set to the wrong connection FSM.
Change-Id: I0090f4088de407b476cfb0a6d652b384af714306 --- M src/sccp_scoc.c 1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/02/40302/1
diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c index 48c0845..01a78d0 100644 --- a/src/sccp_scoc.c +++ b/src/sccp_scoc.c @@ -1582,7 +1582,7 @@ xua_hdr_dump(xua, &xua_dialect_sua));
/* try to dispatch to connection FSM (if any) */ - conn_id = xua_msg_get_u32(xua, SUA_IEI_DEST_REF); + conn_id = xua_msg_get_u32(xua, SUA_IEI_SRC_REF); conn = conn_find_by_id(inst, conn_id); if (conn) { osmo_fsm_inst_dispatch(conn->fi,