aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey.Kostanbaev <Sergey.Kostanbaev@gmail.com>2016-02-11 12:49:12 +0300
committerIvan Kluchnikov <kluchnikovi@gmail.com>2017-02-07 18:59:55 +0300
commit53d1a9186c0b688f999b0e31f641d96166b601a0 (patch)
treebdd1e5607d2e18cdc4548a5f3b6d1001c7089646
parent2f749ef103067e849e7d7dfcfd97bc59285622d3 (diff)
set transaction_id from transaction data
-rw-r--r--openbsc/src/libmsc/ussd.c4
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;