diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-03-27 16:55:32 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2017-04-08 07:44:45 +0000 |
commit | fa896abbb3c18af46aa398d6e6708a275d42a863 (patch) | |
tree | 6e83eb6e22cdd2cd80c3aa55179ecea2ff9e02a2 /include/osmocom/gsm | |
parent | 6f725d6da3b488558e78d4ba8dacfecde196f07f (diff) |
gsm0808: Add AoIP specific elements to gsm0808_create_... functions
the classic A implementation in libosmocore lacks support for AoIP
message elements. This patch adds support for AoIP by adding a set
of new gsm0808_create_..., which support the missing AoIP message
elements
Change-Id: I77f866abec1822d19871052f3c647ad782785b34
Diffstat (limited to 'include/osmocom/gsm')
-rw-r--r-- | include/osmocom/gsm/gsm0808.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/include/osmocom/gsm/gsm0808.h b/include/osmocom/gsm/gsm0808.h index a7e102c6..fd73376a 100644 --- a/include/osmocom/gsm/gsm0808.h +++ b/include/osmocom/gsm/gsm0808.h @@ -20,10 +20,17 @@ #pragma once #include "tlv.h" +#include <osmocom/gsm/protocol/gsm_08_08.h> +#include <sys/socket.h> struct msgb; -struct msgb *gsm0808_create_layer3(struct msgb *msg, uint16_t netcode, uint16_t countrycode, int lac, uint16_t ci); +struct msgb *gsm0808_create_layer3(struct msgb *msg_l3, uint16_t nc, + uint16_t cc, int lac, uint16_t _ci); +struct msgb *gsm0808_create_layer3_aoip(const struct msgb *msg_l3, uint16_t nc, + uint16_t cc, int lac, uint16_t _ci, + const struct gsm0808_speech_codec_list + *scl); struct msgb *gsm0808_create_reset(void); struct msgb *gsm0808_create_reset_ack(void); struct msgb *gsm0808_create_clear_command(uint8_t reason); @@ -33,9 +40,19 @@ struct msgb *gsm0808_create_cipher_reject(uint8_t cause); struct msgb *gsm0808_create_classmark_update(const uint8_t *cm2, uint8_t cm2_len, const uint8_t *cm3, uint8_t cm3_len); struct msgb *gsm0808_create_sapi_reject(uint8_t link_id); +struct msgb *gsm0808_create_ass_compl(uint8_t rr_cause, uint8_t chosen_channel, + uint8_t encr_alg_id, uint8_t speech_mode, + const struct sockaddr_storage *ss, + const struct gsm0808_speech_codec *sc, + const struct gsm0808_speech_codec_list + *scl); struct msgb *gsm0808_create_assignment_completed(uint8_t rr_cause, - uint8_t chosen_channel, uint8_t encr_alg_id, + uint8_t chosen_channel, + uint8_t encr_alg_id, uint8_t speech_mode); +struct msgb *gsm0808_create_ass_fail(uint8_t cause, const uint8_t *rr_cause, + const struct gsm0808_speech_codec_list + *scl); struct msgb *gsm0808_create_assignment_failure(uint8_t cause, uint8_t *rr_cause); struct msgb *gsm0808_create_clear_rqst(uint8_t cause); |