pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/40487?usp=email )
(
1 is the latest approved patch-set. No files were changed between the latest approved patch-set and the submitted one. )Change subject: xua_snm.c: Fix wrong PC value passed in MTP-{PAUSE,RESUME} towards SCCP ......................................................................
xua_snm.c: Fix wrong PC value passed in MTP-{PAUSE,RESUME} towards SCCP
Change-Id: I28bfb13744f2feb4adb610b341330725e2691a77 --- M src/xua_snm.c 1 file changed, 4 insertions(+), 2 deletions(-)
Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified
diff --git a/src/xua_snm.c b/src/xua_snm.c index 3dd988f..079cd96 100644 --- a/src/xua_snm.c +++ b/src/xua_snm.c @@ -123,6 +123,8 @@ { int i; for (i = 0; i < num_aff_pc; i++) { + /* 32bit "Affected Point Code" consists of a 7-bit mask followed by 14/16/24-bit SS7 PC, + * see RFC 4666 3.4.1 */ uint32_t _aff_pc = ntohl(aff_pc[i]); uint32_t pc = _aff_pc & 0xffffff; uint8_t mask = _aff_pc >> 24; @@ -139,9 +141,9 @@ uint32_t fullpc; for (fullpc = (pc & ~maskbits); fullpc <= (pc | maskbits); fullpc++) { if (available) - sccp_scmg_rx_mtp_resume(sccp, pc); + sccp_scmg_rx_mtp_resume(sccp, fullpc); else - sccp_scmg_rx_mtp_pause(sccp, pc); + sccp_scmg_rx_mtp_pause(sccp, fullpc); } } }