diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-06-10 00:54:35 +0200 |
---|---|---|
committer | laforge <laforge@osmocom.org> | 2021-06-25 08:19:04 +0000 |
commit | e4378b7e389ec5c20844160a66ec71d731cf4ab2 (patch) | |
tree | 9870cd1a8f5b48acaa190c93ffb83a86d7bc3150 | |
parent | 8138c53a32b36ea15ade6755b2a1dd8316ed39cb (diff) |
gsm0808: add Kc128 to Handover Request
Change-Id: Ieb6e43eef9e57281d54d4b7c63664668df5aef3e
-rw-r--r-- | include/osmocom/gsm/gsm0808.h | 7 | ||||
-rw-r--r-- | src/gsm/gsm0808.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 3e394601..c21ce8ac 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -218,7 +218,12 @@ struct gsm0808_handover_request { uint8_t global_call_reference_len; /* more items are defined in the spec and may be added later */ - bool more_items; /*!< always set this to false */ + bool more_items; /*!< set this to true iff any fields below are used */ + + bool kc128_present; + uint8_t kc128[16]; + + bool more_items2; /*!< always set this to false */ }; struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params); diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 4f072f73..158c4903 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -1005,6 +1005,9 @@ struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_reque msgb_tv_fixed_put(msg, GSM0808_IE_CALL_ID, 4, val); } + if (params->more_items && params->kc128_present) + gsm0808_enc_kc128(msg, params->kc128); + if (params->global_call_reference && params->global_call_reference_len) { msgb_tlv_put(msg, GSM0808_IE_GLOBAL_CALL_REF, params->global_call_reference_len, params->global_call_reference); |