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(+)

diff --git a/openbsc/src/osmo-bsc/osmo_bsc_api.c 
b/openbsc/src/osmo-bsc/osmo_bsc_api.c
index 675bbb2..eca2535 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);
-- 
1.7.9.5


Reply via email to