diff --git a/asn1/ranap/RANAP-PDU.asn b/asn1/ranap/RANAP-PDU.asn index 02081696..cce26894 100644 --- a/asn1/ranap/RANAP-PDU.asn +++ b/asn1/ranap/RANAP-PDU.asn @@ -543,7 +543,7 @@ ProtocolIE-FieldPair ::= SEQUENCE { ProtocolIE-ContainerPair ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-FieldPair RAB-IE-ContainerList ::= SEQUENCE (SIZE (1..maxNrOfRABs)) OF ProtocolIE-Container -RAB-IE-ContainerPairList ::= SEQUENCE (SIZE (1..maxNrOfRABs)) OF ProtocolIE-FieldPair +RAB-IE-ContainerPairList ::= SEQUENCE (SIZE (1..maxNrOfRABs)) OF ProtocolIE-ContainerPair ProtocolError-IE-ContainerList ::= SEQUENCE (SIZE (1..maxNrOfRABs)) OF ProtocolIE-Container IuSigConId-IE-ContainerList ::= SEQUENCE (SIZE (1..maxNrOfIuSigConIds)) OF ProtocolIE-Container DirectTransfer-IE-ContainerList ::= SEQUENCE (SIZE (1..maxNrOfDTs)) OF ProtocolIE-Container diff --git a/src/ranap/RANAP_RAB-IE-ContainerPairList.c b/src/ranap/RANAP_RAB-IE-ContainerPairList.c index 6620befc..92d25f68 100644 --- a/src/ranap/RANAP_RAB-IE-ContainerPairList.c +++ b/src/ranap/RANAP_RAB-IE-ContainerPairList.c @@ -15,7 +15,7 @@ static asn_TYPE_member_t asn_MBR_RANAP_RAB_IE_ContainerPairList_1[] = { { ATF_POINTER, 0, 0, -1 /* Ambiguous tag (CHOICE?) */, 0, - &asn_DEF_RANAP_ProtocolIE_FieldPair, + &asn_DEF_RANAP_ProtocolIE_ContainerPair, 0, /* Defer constraints checking to the member type */ 0, /* No PER visible constraints */ 0, diff --git a/src/ranap/RANAP_RAB-IE-ContainerPairList.h b/src/ranap/RANAP_RAB-IE-ContainerPairList.h index 871d8e6f..2a6adb7a 100644 --- a/src/ranap/RANAP_RAB-IE-ContainerPairList.h +++ b/src/ranap/RANAP_RAB-IE-ContainerPairList.h @@ -11,7 +11,7 @@ #include /* Including external dependencies */ -#include "RANAP_ProtocolIE-FieldPair.h" +#include "RANAP_ProtocolIE-ContainerPair.h" #include #include @@ -21,7 +21,7 @@ extern "C" { /* RANAP_RAB-IE-ContainerPairList */ typedef struct RANAP_RAB_IE_ContainerPairList { - A_SEQUENCE_OF(RANAP_ProtocolIE_FieldPair_t) list; + A_SEQUENCE_OF(RANAP_ProtocolIE_ContainerPair_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; diff --git a/src/ranap_msg_factory.c b/src/ranap_msg_factory.c index e98936a8..744f7f05 100644 --- a/src/ranap_msg_factory.c +++ b/src/ranap_msg_factory.c @@ -529,8 +529,10 @@ struct msgb *ranap_new_msg_rab_assign_voice(uint8_t rab_id, uint32_t rtp_ip, uin ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemFirst, &first); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemSecond, &second); + RANAP_ProtocolIE_ContainerPair_t *container_pair = CALLOC(1, sizeof(*container_pair)); /* Add the pair to the list of IEs of the RAB ass.req */ - ASN_SEQUENCE_ADD(&ies.raB_SetupOrModifyList.list, pair); + ASN_SEQUENCE_ADD(container_pair, pair); + ASN_SEQUENCE_ADD(&ies.raB_SetupOrModifyList.list, container_pair); /* encode the IEs into the actual assignment request: * ies -> out */ @@ -601,8 +603,11 @@ struct msgb *ranap_new_msg_rab_assign_data(uint8_t rab_id, uint32_t gtp_ip, uint ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemFirst, &first); ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RANAP_RAB_SetupOrModifyItemSecond, &second); + RANAP_ProtocolIE_ContainerPair_t *container_pair = CALLOC(1, sizeof(*container_pair)); /* Add the pair to the list of IEs of the RAB ass.req */ - ASN_SEQUENCE_ADD(&ies.raB_SetupOrModifyList.list, pair); + ASN_SEQUENCE_ADD(container_pair, pair); + /* Add the pair to the list of IEs of the RAB ass.req */ + ASN_SEQUENCE_ADD(&ies.raB_SetupOrModifyList.list, container_pair); /* encode the IEs into the actual assignment request: * ies -> out */