Vadim Yanitskiy has uploaded this change for review. (
https://gerrit.osmocom.org/12053
Change subject: osmo_bsc_bssap.c: fix incorrect link_id assignment
......................................................................
osmo_bsc_bssap.c: fix incorrect link_id assignment
Every DTAP message coming from the MSC has a header (see struct
dtap_header) that contains message type, length, and link ID.
The link ID indicates SAPI and channel type of a given message.
In dtap_rcvmsg() we allocate a new message buffer and copy the
received message into it. The old message buffer is freed by
the caller then.
The link ID value parsed from DTAP header is usually being stored
in the control buffer of a message buffer (i.e. msgb->cb). Due to
a mistake, it was stored in the old (to be freed) message, while
the new (to be forwarded) message always had link_id = 0x00!
This change resolves the problem with sending SMS during a voice
call, when MT signalling goes through FACCH, while MO signalling
goes through SACCH.
Change-Id: I7675e1ce4436fad836778261ac9d446fa8f81483
Related: OS#3716
---
M src/osmo-bsc/osmo_bsc_bssap.c
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/53/12053/1
diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c
index f03fb6e..39425f6 100644
--- a/src/osmo-bsc/osmo_bsc_bssap.c
+++ b/src/osmo-bsc/osmo_bsc_bssap.c
@@ -940,7 +940,7 @@
/* pass it to the filter for extra actions */
rc = bsc_scan_msc_msg(conn, gsm48);
/* Store link_id in msgb->cb */
- OBSC_LINKID_CB(msg) = header->link_id;
+ OBSC_LINKID_CB(gsm48) = header->link_id;
dtap_rc = osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_MT_DTAP, gsm48);
if (rc == BSS_SEND_USSD)
bsc_send_welcome_ussd(conn);
--
To view, visit https://gerrit.osmocom.org/12053
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7675e1ce4436fad836778261ac9d446fa8f81483
Gerrit-Change-Number: 12053
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <[email protected]>