/*
 * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
 * From ASN.1 module "RUA-IEs"
 * 	found in "../../asn1/rua/RUA-IEs.asn"
 */

#include <osmocom/rua/RUA_Gsm-map-IDNNS.h>

static asn_per_constraints_t asn_PER_type_routingbasis_constr_2 GCC_NOTUSED = {
	{ APC_CONSTRAINED,	 3,  3,  0l,  7l }	/* (0..7) */,
	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
	0, 0	/* No PER value map */
};
static asn_TYPE_member_t asn_MBR_localPTMSI_3[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct localPTMSI, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_localPTMSI_tags_3[] = {
	(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_localPTMSI_tag2el_3[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_localPTMSI_specs_3 = {
	sizeof(struct localPTMSI),
	offsetof(struct localPTMSI, _asn_ctx),
	asn_MAP_localPTMSI_tag2el_3,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_localPTMSI_3 = {
	"localPTMSI",
	"localPTMSI",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_localPTMSI_tags_3,
	sizeof(asn_DEF_localPTMSI_tags_3)
		/sizeof(asn_DEF_localPTMSI_tags_3[0]) - 1, /* 1 */
	asn_DEF_localPTMSI_tags_3,	/* Same as above */
	sizeof(asn_DEF_localPTMSI_tags_3)
		/sizeof(asn_DEF_localPTMSI_tags_3[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_localPTMSI_3,
	1,	/* Elements count */
	&asn_SPC_localPTMSI_specs_3	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_tMSIofsamePLMN_5[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct tMSIofsamePLMN, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_tMSIofsamePLMN_tags_5[] = {
	(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_tMSIofsamePLMN_tag2el_5[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_tMSIofsamePLMN_specs_5 = {
	sizeof(struct tMSIofsamePLMN),
	offsetof(struct tMSIofsamePLMN, _asn_ctx),
	asn_MAP_tMSIofsamePLMN_tag2el_5,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_tMSIofsamePLMN_5 = {
	"tMSIofsamePLMN",
	"tMSIofsamePLMN",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_tMSIofsamePLMN_tags_5,
	sizeof(asn_DEF_tMSIofsamePLMN_tags_5)
		/sizeof(asn_DEF_tMSIofsamePLMN_tags_5[0]) - 1, /* 1 */
	asn_DEF_tMSIofsamePLMN_tags_5,	/* Same as above */
	sizeof(asn_DEF_tMSIofsamePLMN_tags_5)
		/sizeof(asn_DEF_tMSIofsamePLMN_tags_5[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_tMSIofsamePLMN_5,
	1,	/* Elements count */
	&asn_SPC_tMSIofsamePLMN_specs_5	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_tMSIofdifferentPLMN_7[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct tMSIofdifferentPLMN, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_tMSIofdifferentPLMN_tags_7[] = {
	(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_tMSIofdifferentPLMN_tag2el_7[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_tMSIofdifferentPLMN_specs_7 = {
	sizeof(struct tMSIofdifferentPLMN),
	offsetof(struct tMSIofdifferentPLMN, _asn_ctx),
	asn_MAP_tMSIofdifferentPLMN_tag2el_7,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_tMSIofdifferentPLMN_7 = {
	"tMSIofdifferentPLMN",
	"tMSIofdifferentPLMN",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_tMSIofdifferentPLMN_tags_7,
	sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7)
		/sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7[0]) - 1, /* 1 */
	asn_DEF_tMSIofdifferentPLMN_tags_7,	/* Same as above */
	sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7)
		/sizeof(asn_DEF_tMSIofdifferentPLMN_tags_7[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_tMSIofdifferentPLMN_7,
	1,	/* Elements count */
	&asn_SPC_tMSIofdifferentPLMN_specs_7	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_iMSIresponsetopaging_9[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct iMSIresponsetopaging, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_iMSIresponsetopaging_tags_9[] = {
	(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMSIresponsetopaging_tag2el_9[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMSIresponsetopaging_specs_9 = {
	sizeof(struct iMSIresponsetopaging),
	offsetof(struct iMSIresponsetopaging, _asn_ctx),
	asn_MAP_iMSIresponsetopaging_tag2el_9,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMSIresponsetopaging_9 = {
	"iMSIresponsetopaging",
	"iMSIresponsetopaging",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_iMSIresponsetopaging_tags_9,
	sizeof(asn_DEF_iMSIresponsetopaging_tags_9)
		/sizeof(asn_DEF_iMSIresponsetopaging_tags_9[0]) - 1, /* 1 */
	asn_DEF_iMSIresponsetopaging_tags_9,	/* Same as above */
	sizeof(asn_DEF_iMSIresponsetopaging_tags_9)
		/sizeof(asn_DEF_iMSIresponsetopaging_tags_9[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_iMSIresponsetopaging_9,
	1,	/* Elements count */
	&asn_SPC_iMSIresponsetopaging_specs_9	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_iMSIcauseUEinitiatedEvent_11[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct iMSIcauseUEinitiatedEvent, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[] = {
	(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMSIcauseUEinitiatedEvent_tag2el_11[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMSIcauseUEinitiatedEvent_specs_11 = {
	sizeof(struct iMSIcauseUEinitiatedEvent),
	offsetof(struct iMSIcauseUEinitiatedEvent, _asn_ctx),
	asn_MAP_iMSIcauseUEinitiatedEvent_tag2el_11,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMSIcauseUEinitiatedEvent_11 = {
	"iMSIcauseUEinitiatedEvent",
	"iMSIcauseUEinitiatedEvent",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_iMSIcauseUEinitiatedEvent_tags_11,
	sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11)
		/sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[0]) - 1, /* 1 */
	asn_DEF_iMSIcauseUEinitiatedEvent_tags_11,	/* Same as above */
	sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11)
		/sizeof(asn_DEF_iMSIcauseUEinitiatedEvent_tags_11[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_iMSIcauseUEinitiatedEvent_11,
	1,	/* Elements count */
	&asn_SPC_iMSIcauseUEinitiatedEvent_specs_11	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_iMEI_13[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct iMEI, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_iMEI_tags_13[] = {
	(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_iMEI_tag2el_13[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_iMEI_specs_13 = {
	sizeof(struct iMEI),
	offsetof(struct iMEI, _asn_ctx),
	asn_MAP_iMEI_tag2el_13,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_iMEI_13 = {
	"iMEI",
	"iMEI",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_iMEI_tags_13,
	sizeof(asn_DEF_iMEI_tags_13)
		/sizeof(asn_DEF_iMEI_tags_13[0]) - 1, /* 1 */
	asn_DEF_iMEI_tags_13,	/* Same as above */
	sizeof(asn_DEF_iMEI_tags_13)
		/sizeof(asn_DEF_iMEI_tags_13[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_iMEI_13,
	1,	/* Elements count */
	&asn_SPC_iMEI_specs_13	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_spare2_15[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct spare2, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_spare2_tags_15[] = {
	(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_spare2_tag2el_15[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_spare2_specs_15 = {
	sizeof(struct spare2),
	offsetof(struct spare2, _asn_ctx),
	asn_MAP_spare2_tag2el_15,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_spare2_15 = {
	"spare2",
	"spare2",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_spare2_tags_15,
	sizeof(asn_DEF_spare2_tags_15)
		/sizeof(asn_DEF_spare2_tags_15[0]) - 1, /* 1 */
	asn_DEF_spare2_tags_15,	/* Same as above */
	sizeof(asn_DEF_spare2_tags_15)
		/sizeof(asn_DEF_spare2_tags_15[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_spare2_15,
	1,	/* Elements count */
	&asn_SPC_spare2_specs_15	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_spare1_17[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct spare1, routingparameter),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_RUA_RoutingParameter,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingparameter"
		},
};
static const ber_tlv_tag_t asn_DEF_spare1_tags_17[] = {
	(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_spare1_tag2el_17[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* routingparameter */
};
static asn_SEQUENCE_specifics_t asn_SPC_spare1_specs_17 = {
	sizeof(struct spare1),
	offsetof(struct spare1, _asn_ctx),
	asn_MAP_spare1_tag2el_17,
	1,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_spare1_17 = {
	"spare1",
	"spare1",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_spare1_tags_17,
	sizeof(asn_DEF_spare1_tags_17)
		/sizeof(asn_DEF_spare1_tags_17[0]) - 1, /* 1 */
	asn_DEF_spare1_tags_17,	/* Same as above */
	sizeof(asn_DEF_spare1_tags_17)
		/sizeof(asn_DEF_spare1_tags_17[0]), /* 2 */
	0,	/* No PER visible constraints */
	asn_MBR_spare1_17,
	1,	/* Elements count */
	&asn_SPC_spare1_specs_17	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_routingbasis_2[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.localPTMSI),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		0,
		&asn_DEF_localPTMSI_3,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"localPTMSI"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.tMSIofsamePLMN),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		0,
		&asn_DEF_tMSIofsamePLMN_5,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"tMSIofsamePLMN"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.tMSIofdifferentPLMN),
		(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
		0,
		&asn_DEF_tMSIofdifferentPLMN_7,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"tMSIofdifferentPLMN"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMSIresponsetopaging),
		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
		0,
		&asn_DEF_iMSIresponsetopaging_9,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"iMSIresponsetopaging"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMSIcauseUEinitiatedEvent),
		(ASN_TAG_CLASS_CONTEXT | (4 << 2)),
		0,
		&asn_DEF_iMSIcauseUEinitiatedEvent_11,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"iMSIcauseUEinitiatedEvent"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.iMEI),
		(ASN_TAG_CLASS_CONTEXT | (5 << 2)),
		0,
		&asn_DEF_iMEI_13,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"iMEI"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.spare2),
		(ASN_TAG_CLASS_CONTEXT | (6 << 2)),
		0,
		&asn_DEF_spare2_15,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"spare2"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct routingbasis, choice.spare1),
		(ASN_TAG_CLASS_CONTEXT | (7 << 2)),
		0,
		&asn_DEF_spare1_17,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"spare1"
		},
};
static const asn_TYPE_tag2member_t asn_MAP_routingbasis_tag2el_2[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* localPTMSI */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tMSIofsamePLMN */
    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tMSIofdifferentPLMN */
    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iMSIresponsetopaging */
    { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* iMSIcauseUEinitiatedEvent */
    { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* iMEI */
    { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* spare2 */
    { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* spare1 */
};
static asn_CHOICE_specifics_t asn_SPC_routingbasis_specs_2 = {
	sizeof(struct routingbasis),
	offsetof(struct routingbasis, _asn_ctx),
	offsetof(struct routingbasis, present),
	sizeof(((struct routingbasis *)0)->present),
	asn_MAP_routingbasis_tag2el_2,
	8,	/* Count of tags in the map */
	0,
	-1	/* Extensions start */
};
static /* Use -fall-defs-global to expose */
asn_TYPE_descriptor_t asn_DEF_routingbasis_2 = {
	"routingbasis",
	"routingbasis",
	CHOICE_free,
	CHOICE_print,
	CHOICE_constraint,
	CHOICE_decode_ber,
	CHOICE_encode_der,
	CHOICE_decode_xer,
	CHOICE_encode_xer,
	CHOICE_decode_uper,
	CHOICE_encode_uper,
	CHOICE_decode_aper,
	CHOICE_encode_aper,
	CHOICE_outmost_tag,
	0,	/* No effective tags (pointer) */
	0,	/* No effective tags (count) */
	0,	/* No tags (pointer) */
	0,	/* No tags (count) */
	&asn_PER_type_routingbasis_constr_2,
	asn_MBR_routingbasis_2,
	8,	/* Elements count */
	&asn_SPC_routingbasis_specs_2	/* Additional specs */
};

static asn_TYPE_member_t asn_MBR_RUA_Gsm_map_IDNNS_1[] = {
	{ ATF_NOFLAGS, 0, offsetof(struct RUA_Gsm_map_IDNNS, routingbasis),
		(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
		+1,	/* EXPLICIT tag at current level */
		&asn_DEF_routingbasis_2,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"routingbasis"
		},
	{ ATF_NOFLAGS, 0, offsetof(struct RUA_Gsm_map_IDNNS, dummy),
		(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
		-1,	/* IMPLICIT tag at current level */
		&asn_DEF_BOOLEAN,
		0,	/* Defer constraints checking to the member type */
		0,	/* No PER visible constraints */
		0,
		"dummy"
		},
};
static const ber_tlv_tag_t asn_DEF_RUA_Gsm_map_IDNNS_tags_1[] = {
	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_RUA_Gsm_map_IDNNS_tag2el_1[] = {
    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* routingbasis */
    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* dummy */
};
static asn_SEQUENCE_specifics_t asn_SPC_RUA_Gsm_map_IDNNS_specs_1 = {
	sizeof(struct RUA_Gsm_map_IDNNS),
	offsetof(struct RUA_Gsm_map_IDNNS, _asn_ctx),
	asn_MAP_RUA_Gsm_map_IDNNS_tag2el_1,
	2,	/* Count of tags in the map */
	0, 0, 0,	/* Optional elements (not needed) */
	-1,	/* Start extensions */
	-1	/* Stop extensions */
};
asn_TYPE_descriptor_t asn_DEF_RUA_Gsm_map_IDNNS = {
	"RUA_Gsm-map-IDNNS",
	"RUA_Gsm-map-IDNNS",
	SEQUENCE_free,
	SEQUENCE_print,
	SEQUENCE_constraint,
	SEQUENCE_decode_ber,
	SEQUENCE_encode_der,
	SEQUENCE_decode_xer,
	SEQUENCE_encode_xer,
	SEQUENCE_decode_uper,
	SEQUENCE_encode_uper,
	SEQUENCE_decode_aper,
	SEQUENCE_encode_aper,
	0,	/* Use generic outmost tag fetcher */
	asn_DEF_RUA_Gsm_map_IDNNS_tags_1,
	sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1)
		/sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1[0]), /* 1 */
	asn_DEF_RUA_Gsm_map_IDNNS_tags_1,	/* Same as above */
	sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1)
		/sizeof(asn_DEF_RUA_Gsm_map_IDNNS_tags_1[0]), /* 1 */
	0,	/* No PER visible constraints */
	asn_MBR_RUA_Gsm_map_IDNNS_1,
	2,	/* Elements count */
	&asn_SPC_RUA_Gsm_map_IDNNS_specs_1	/* Additional specs */
};

