diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/osmocom/gsm/gsm0808.h | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index 5b05dbc8..93195b50 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -194,9 +194,29 @@ struct gsm0808_handover_request {  };  struct msgb *gsm0808_create_handover_request(const struct gsm0808_handover_request *params); -struct msgb *gsm0808_create_handover_request_ack(const uint8_t *l3_info, uint8_t l3_info_len, -						 uint8_t chosen_channel, uint8_t chosen_encr_alg, -						 uint8_t chosen_speech_version); +struct gsm0808_handover_request_ack { +	const uint8_t *l3_info; +	uint8_t l3_info_len; + +	bool chosen_channel_present; +	uint8_t chosen_channel; + +	/*! For A5/N set chosen_encr_alg = N+1, e.g. chosen_encr_alg = 1 means A5/0 (no encryption), 2 means A5/1, 4 +	 * means A5/3. Set chosen_encr_alg = 0 to omit the Chosen Encryption Algorithm IE. */ +	uint8_t chosen_encr_alg; + +	/* chosen_speech_version == 0 omits the IE */ +	enum gsm0808_permitted_speech chosen_speech_version; + +	bool speech_codec_chosen_present; +	struct gsm0808_speech_codec speech_codec_chosen; + +	const struct sockaddr_storage *aoip_transport_layer; + +	/* more items are defined in the spec and may be added later */ +	bool more_items; /*!< always set this to false */ +}; +struct msgb *gsm0808_create_handover_request_ack2(const struct gsm0808_handover_request_ack *params);  struct gsm0808_handover_command {  	const uint8_t *l3_info; | 
