From b1250312ba1cd9e86d77824769b6b90ea709b8e8 Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Thu, 31 Oct 2013 15:36:42 +0100 Subject: bsc/ussd: Send faked CM Service Accept before sending USSD The MS do not show the USSD messages yet. This patch modifies the implementation to insert a CM Service Accept to finish the establishment of the MM connection according to 3GPP TS 04.10/3.2.1 before the USSD notification is sent. This fix has been tested with a Blackberry phone that has shown an ussd_grace_txt after rf_locked has been set to '1'. Without this patch, that message wasn't shown. The phone has sent a CC Setup and other messages before processing the channel release message sent by the BSC, but these messages have not been forwarded to the MSC (as expected). Ticket: OW#957 Sponsored-by: On-Waves ehf --- openbsc/src/osmo-bsc/osmo_bsc_api.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'openbsc/src/osmo-bsc') diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c b/openbsc/src/osmo-bsc/osmo_bsc_api.c index 675bbb20e..eca253505 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_api.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_api.c @@ -123,6 +123,9 @@ static void bsc_send_ussd_notification(struct gsm_subscriber_connection *conn, return; } + LOGP(DMSC, LOGL_INFO, "Sending CM Service Accept\n"); + gsm48_tx_mm_serv_ack(conn); + LOGP(DMSC, LOGL_INFO, "Sending USSD message: '%s'\n", text); gsm0480_send_ussdNotify(conn, 1, text); gsm0480_send_releaseComplete(conn); -- cgit v1.2.3