From 36c7b33ccc66eee29efa98120e00952532c8e122 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Sat, 31 Mar 2018 05:23:09 +0700 Subject: GSUP: introduce new messages for SS/USSD payloads In order to be able to transfer SS/USSD messages via GSUP, this change introduces the following new message types: - OSMO_GSUP_MSGT_PROC_SS_*, and the following new IE: - OSMO_GSUP_SS_INFO_IE which represents an ASN.1 encoded MAP payload coming to/from the mobile station 'as is', without any transcoding. Change-Id: Ie17a78043a35fffbdd59e80fd2b2da39cce5e532 Related: OS#1597 --- include/osmocom/gsm/gsup.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'include') diff --git a/include/osmocom/gsm/gsup.h b/include/osmocom/gsm/gsup.h index 5f456991..dd274934 100644 --- a/include/osmocom/gsm/gsup.h +++ b/include/osmocom/gsm/gsup.h @@ -85,6 +85,9 @@ enum osmo_gsup_iei { OSMO_GSUP_SESSION_ID_IE = 0x30, OSMO_GSUP_SESSION_STATE_IE = 0x31, + + /*! Supplementary Services payload */ + OSMO_GSUP_SS_INFO_IE = 0x35, }; /*! GSUP message type */ @@ -114,6 +117,10 @@ enum osmo_gsup_message_type { OSMO_GSUP_MSGT_LOCATION_CANCEL_REQUEST = 0b00011100, OSMO_GSUP_MSGT_LOCATION_CANCEL_ERROR = 0b00011101, OSMO_GSUP_MSGT_LOCATION_CANCEL_RESULT = 0b00011110, + + OSMO_GSUP_MSGT_PROC_SS_REQUEST = 0b00100000, + OSMO_GSUP_MSGT_PROC_SS_ERROR = 0b00100001, + OSMO_GSUP_MSGT_PROC_SS_RESULT = 0b00100010, }; #define OSMO_GSUP_IS_MSGT_REQUEST(msgt) (((msgt) & 0b00000011) == 0b00) @@ -197,6 +204,10 @@ struct osmo_gsup_message { /*! Unique session identifier and origination flag. * Encoded only when \ref session_state != 0x00 */ uint32_t session_id; + + /*! ASN.1 encoded MAP payload for Supplementary Services */ + uint8_t *ss_info; + size_t ss_info_len; }; int osmo_gsup_decode(const uint8_t *data, size_t data_len, -- cgit v1.2.3