diff options
author | Sergey.Kostanbaev <Sergey.Kostanbaev@gmail.com> | 2016-02-11 12:49:12 +0300 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2017-02-07 18:59:55 +0300 |
commit | 53d1a9186c0b688f999b0e31f641d96166b601a0 (patch) | |
tree | bdd1e5607d2e18cdc4548a5f3b6d1001c7089646 /openbsc/src/libmsc | |
parent | 2f749ef103067e849e7d7dfcfd97bc59285622d3 (diff) |
set transaction_id from transaction data
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r-- | openbsc/src/libmsc/ussd.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/openbsc/src/libmsc/ussd.c b/openbsc/src/libmsc/ussd.c index ac032439e..dd9503e1a 100644 --- a/openbsc/src/libmsc/ussd.c +++ b/openbsc/src/libmsc/ussd.c @@ -176,6 +176,7 @@ int on_ussd_response(struct gsm_network *net, int rc = 0; struct msgb *msg; uint8_t *ptr8; + struct ss_header ssrep = *reqhdr; switch (reqhdr->message_type) { case GSM0480_MTYPE_REGISTER: @@ -216,7 +217,8 @@ int on_ussd_response(struct gsm_network *net, memcpy(ptr8, component, reqhdr->component_length); msgb_put(msg, reqhdr->component_length); - rc = gsm0480_send_component(trans->conn, msg, reqhdr); + ssrep.transaction_id = (trans->transaction_id << 4) ^ 0x80; + rc = gsm0480_send_component(trans->conn, msg, &ssrep); if (reqhdr->message_type == GSM0480_MTYPE_RELEASE_COMPLETE) { struct gsm_subscriber_connection* conn = trans->conn; |