diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-12-03 15:32:54 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-12-03 15:32:54 +0100 |
commit | d2361d970af8fe5d624ed3977982c21c327ac986 (patch) | |
tree | e1db89ddfc673219c74dbbf565ae9eefe0f35b25 /openbsc/src/osmo-bsc/osmo_bsc_bssap.c | |
parent | f589221ed0a00c12fce0fac629475851b2680b77 (diff) |
bsc: Send the USSD message after the location updating accept.
Make sure to accept the phone first before sending the USSD message.
Diffstat (limited to 'openbsc/src/osmo-bsc/osmo_bsc_bssap.c')
-rw-r--r-- | openbsc/src/osmo-bsc/osmo_bsc_bssap.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c index 684a6c186..4190abf18 100644 --- a/openbsc/src/osmo-bsc/osmo_bsc_bssap.c +++ b/openbsc/src/osmo-bsc/osmo_bsc_bssap.c @@ -1,6 +1,6 @@ /* GSM 08.08 BSSMAP handling */ -/* (C) 2009-2011 by Holger Hans Peter Freyther <zecke@selfish.org> - * (C) 2009-2011 by On-Waves +/* (C) 2009-2012 by Holger Hans Peter Freyther <zecke@selfish.org> + * (C) 2009-2012 by On-Waves * All Rights Reserved * * This program is free software; you can redistribute it and/or modify @@ -459,6 +459,7 @@ static int dtap_rcvmsg(struct osmo_bsc_sccp_con *conn, struct dtap_header *header; struct msgb *gsm48; uint8_t *data; + int rc; LOGP(DMSC, LOGL_DEBUG, "Rx MSC DTAP: %s\n", osmo_hexdump(msg->l3h, length)); @@ -495,8 +496,10 @@ static int dtap_rcvmsg(struct osmo_bsc_sccp_con *conn, memcpy(data, msg->l3h + sizeof(*header), length - sizeof(*header)); /* pass it to the filter for extra actions */ - bsc_scan_msc_msg(conn->conn, gsm48); - return gsm0808_submit_dtap(conn->conn, gsm48, header->link_id, 1); + rc = bsc_scan_msc_msg(conn->conn, gsm48); + gsm0808_submit_dtap(conn->conn, gsm48, header->link_id, 1); + if (rc == BSS_SEND_USSD) + bsc_send_welcome_ussd(conn->conn); } int bsc_handle_udt(struct osmo_msc_data *msc, |