diff options
author | Sergey Kostanbaev <sergey.kostanbaev@gmail.com> | 2015-10-23 20:27:35 +0300 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2017-02-07 17:29:15 +0300 |
commit | c9c4293847461391eed0e93325e8ccee82d78ca3 (patch) | |
tree | 38809c4aae1eaf78176ff858c5d4cb46d4e60113 /include | |
parent | 6b986c24228a4cc83b22e1d8aae22b94fe36e6f2 (diff) |
modify USSD structures to support external handling
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/gsm/gsm0480.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/include/osmocom/gsm/gsm0480.h b/include/osmocom/gsm/gsm0480.h index 6ca23e98..c4e5286b 100644 --- a/include/osmocom/gsm/gsm0480.h +++ b/include/osmocom/gsm/gsm0480.h @@ -5,7 +5,7 @@ #include <osmocom/gsm/protocol/gsm_04_08.h> #include <osmocom/gsm/protocol/gsm_04_80.h> -#define MAX_LEN_USSD_STRING 31 +#define MAX_LEN_USSD_STRING 182 /* deprecated */ struct ussd_request { @@ -19,13 +19,24 @@ int gsm0480_decode_ussd_request(const struct gsm48_hdr *hdr, uint16_t len, struct ussd_request *request) OSMO_DEPRECATED("Use gsm0480_decode_ss_request() instead"); struct ss_request { - uint8_t opcode; - uint8_t ss_code; + uint8_t transaction_id; /**< L3 transaction ID */ + uint8_t message_type; /**< Message type 2.2 */ + + uint8_t component_type; /**< Component type 3.6.2 */ + uint8_t invoke_id; /**< Invoke id 3.6.3 */ + + union { + uint8_t opcode; /**< Operational code 3.6.4 */ + uint8_t error_code; /**< Error code 3.6.6 */ + uint8_t problem_code; /**< Problem code 3.6.7 */ + }; + + uint8_t ussd_text_language; + uint8_t ussd_text_len; uint8_t ussd_text[MAX_LEN_USSD_STRING + 1]; - uint8_t transaction_id; - uint8_t invoke_id; -}; + uint8_t ss_code; /**< parameters of a Interrogate/Activate/DeactivateSS Request */ +}; int gsm0480_decode_ss_request(const struct gsm48_hdr *hdr, uint16_t len, struct ss_request *request); |