osmo-msc/include/osmocom/msc/ran_infra.h

37 lines
1.2 KiB
C

#pragma once
#include <osmocom/gsm/gsm_utils.h>
#include <osmocom/gsm/gsup.h>
#include <osmocom/msc/sccp_ran.h>
#include <osmocom/msc/ran_msg.h>
#include <osmocom/msc/sdp_msg.h>
struct osmo_tdef;
extern struct osmo_tdef msc_tdefs_geran[];
extern struct osmo_tdef msc_tdefs_utran[];
extern struct osmo_tdef msc_tdefs_sgs[];
extern const struct value_string an_proto_names[];
static inline const char *an_proto_name(enum osmo_gsup_access_network_protocol val)
{ return get_value_string(an_proto_names, val); }
struct ran_infra {
const enum osmo_rat_type type;
const enum osmo_gsup_access_network_protocol an_proto;
uint32_t ssn;
const int log_subsys;
struct osmo_tdef * const tdefs;
const struct sccp_ran_ops sccp_ran_ops;
const ran_dec_l2_t ran_dec_l2;
const ran_encode_t ran_encode;
struct sccp_ran_inst *sri;
/* To always set up the MGW endpoint facing the RAN side with specific codecs, list those here. Otherwise leave
* empty (to use the result of codecs filtering). This exists for IuCS, to always set the MGW endpoint facing
* RAN to IUFP, to decapsulate the IuUP headers. */
struct sdp_audio_codecs force_mgw_codecs_to_ran;
};
extern struct ran_infra msc_ran_infra[];
extern const int msc_ran_infra_len;