Commit d89dbb48 authored by Cedric Roux's avatar Cedric Roux

Merge remote-tracking branch 'origin/feature-s1ap-r14-based-on-new-asn1c' into...

Merge remote-tracking branch 'origin/feature-s1ap-r14-based-on-new-asn1c' into develop_integration_2018_w29

 Conflicts:
	targets/SIMU/PROC/channel_sim_proc.c
	targets/SIMU/USER/oaisim_pad.c
parents 87f21854 a3e9c480
Branches unavailable
2023.w22 2023.w21 2023.w20 2023.w19 2023.w18 2023.w18b 2023.w16 2023.w15 2023.w14 2023.w13 2023.w12 2023.w11 2023.w11b 2023.w10 2023.w10b 2023.w09 2023.w08 2023.w08b 2023.w07 2023.w06 2023.w05 2023.w03 2023.w02 2022.42 2022.41 2022.w51 2022.w50 2022.w49 2022.w48 2022.w47 2022.w46 2022.w45 2022.w43 2022.w42 2022.w42b 2022.w41 2022.w40 2022.w39 2022.w38 2022.w37 2022.w37b 2022.w36 2022.w35 2022.w33 2022.w32 2022.w31 2022.w31b 2022.w30 2022.w29 2022.w26 2022.w25 2022.w24 2022.w24b 2022.w23 2022.w22 2022.w21 2022.w20 2022.w19 2022.w18 2022.w17 2022.w15 2022.w15b 2022.w14a 2022.w13 2022.w13b 2022.w13a 2022.w12 2022.w10 2022.w09 2022.w09b 2022.w08 2022.w08b 2022.w07 2022.w07b 2022.w06 2022.w06a 2022.w05 2022.w05b 2022.w03_hotfix 2022.w03_b 2022.w02 2022.w01 2021.wk46 2021.wk14_a 2021.wk13_d 2021.wk13_c 2021.w51_c 2021.w51_a 2021.w50_a 2021.w49_b 2021.w49_a 2021.w48 2021.w47 2021.w46 2021.w46-powder 2021.w45 2021.w45_b 2021.w44 2021.w43 2021.w42 2021.w37 2021.w36 2021.w35 2021.w34 2021.w33 2021.w32 2021.w31 2021.w30 2021.w29 2021.w28 2021.w27 2021.w26 2021.w25 2021.w24 2021.w23 2021.w22 2021.w20 2021.w19 2021.w18_b 2021.w18_a 2021.w17_b 2021.w16 2021.w15 2021.w14 2021.w13_a 2021.w12 2021.w11 2021.w10 2021.w09 2021.w08 2021.w06 2021.w05 2021.w04 2021.w02 2020.w51_2 2020.w51 2020.w50 2020.w49 2020.w48_2 2020.w48 2020.w47 2020.w46_2 2020.w46 2020.w45_2 2020.w45 2020.w44 2020.w42_2 2020.w42 2020.w41 2020.w39 2020.w38 2020.w37 2020.w36 2020.w34 2020.w33 2020.w31 2020.w30 2020.w29 2020.w28 2020.w26 2020.w25 2020.w24 2020.w23 2020.w22 2020.w19 2020.w17 2020.w16 2020.w15 2020.w11 2020.w09 2020.w06 2020.w05 2020.w04 2020.w03 2019.w51 2019.w44 2019.w41 2019.w36 2019.w30 2019.w28 2019.w27 2019.w25 2019.w23 2019.w21 2019.w17 2019.w15 2019.w13 2019.w11 2019.w10 2019.w09 2019.w08 2019.w07 2019.w06 2019.w04 2019.w03 2018.w51 2018.w48 2018.w47 2018.w46 2018.w44 2018.w41 2018.w40 2018.w39 2018.w36 2018.w33 2018.w31 2018.w29 v1.2.2 v1.2.1 v1.2.0 v1.1.1 v1.1.0 v1.0.3 v1.0.2 v1.0.1 v1.0.0 setparam osa-etsi-ws-ue osa-etsi-ws-try2 osa-etsi-ws-try1 osa-etsi-ws-gNB nr-ip-over-lte nr-ip-over-lte-v.1.5 nr-ip-over-lte-v.1.4 nr-ip-over-lte-v.1.3 nr-ip-over-lte-v.1.2 nr-ip-over-lte-v.1.1 nr-ip-over-lte-v.1.0 flexran-eol develop-nr-pdcch develop-nr-2020w03 develop-nr-2020w02 develop-nr-2019w51 develop-nr-2019w50 develop-nr-2019w48 develop-nr-2019w47 develop-nr-2019w45 develop-nr-2019w43 develop-nr-2019w42 develop-nr-2019w40 develop-nr-2019w28 develop-nr-2019w23 benetel_phase_rotation benetel_gnb_rel_2.0 benetel_gnb_rel_1.0 benetel_enb_rel_2.0 benetel_enb_rel_1.0
No related merge requests found
This diff is collapsed.
...@@ -680,8 +680,11 @@ install_asn1c_from_source(){ ...@@ -680,8 +680,11 @@ install_asn1c_from_source(){
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log " echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
( (
$SUDO rm -rf /tmp/asn1c $SUDO rm -rf /tmp/asn1c
GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c # GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c
git clone https://github.com/brchiu/asn1c /tmp/asn1c
cd /tmp/asn1c cd /tmp/asn1c
git checkout velichkov_s1ap_plus_option_group
autoreconf -iv
./configure ./configure
make -j`nproc` make -j`nproc`
$SUDO make install $SUDO make install
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#ifndef GTPV1_U_MESSAGES_TYPES_H_ #ifndef GTPV1_U_MESSAGES_TYPES_H_
#define GTPV1_U_MESSAGES_TYPES_H_ #define GTPV1_U_MESSAGES_TYPES_H_
#include "asn1_constants.h" #include "asn_constant.h"
#define GTPV1U_MAX_BEARERS_PER_UE max_val_DRB_Identity #define GTPV1U_MAX_BEARERS_PER_UE max_val_DRB_Identity
......
...@@ -29,9 +29,9 @@ ...@@ -29,9 +29,9 @@
***************************************************************************/ ***************************************************************************/
#ifdef CMAKER #ifdef CMAKER
#include "asn1_constants.h" #include "asn_constant.h"
#else #else
#include "RRC/LITE/MESSAGES/asn1_constants.h" #include "RRC/LTE/MESSAGES/asn1_constants.h"
#endif #endif
#ifndef __PLATFORM_CONSTANTS_H__ #ifndef __PLATFORM_CONSTANTS_H__
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#ifndef RAL_MESSAGES_TYPES_H_ #ifndef RAL_MESSAGES_TYPES_H_
#define RAL_MESSAGES_TYPES_H_ #define RAL_MESSAGES_TYPES_H_
#include "asn1_constants.h" #include "asn_constant.h"
#include "platform_types.h" #include "platform_types.h"
#include "commonDef.h" #include "commonDef.h"
/* 802.21 mappings with the RRC protocol : /* 802.21 mappings with the RRC protocol :
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
#ifdef CMAKER #ifdef CMAKER
#include "SystemInformationBlockType2.h" #include "SystemInformationBlockType2.h"
#else #else
#include "RRC/LITE/MESSAGES/SystemInformationBlockType2.h" #include "RRC/LTE/MESSAGES/SystemInformationBlockType2.h"
#endif #endif
#include "SL-OffsetIndicator-r12.h" #include "SL-OffsetIndicator-r12.h"
#include "SubframeBitmapSL-r12.h" #include "SubframeBitmapSL-r12.h"
......
...@@ -38,7 +38,7 @@ MESSAGE_DEF(S1AP_E_RAB_MODIFY_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgTex ...@@ -38,7 +38,7 @@ MESSAGE_DEF(S1AP_E_RAB_MODIFY_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgTex
MESSAGE_DEF(S1AP_PAGING_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_paging_log) MESSAGE_DEF(S1AP_PAGING_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_paging_log)
MESSAGE_DEF(S1AP_E_RAB_RELEASE_REQUEST_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_request_log) MESSAGE_DEF(S1AP_E_RAB_RELEASE_REQUEST_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_request_log)
MESSAGE_DEF(S1AP_E_RAB_RELEASE_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_response_log) MESSAGE_DEF(S1AP_E_RAB_RELEASE_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_response_log)
MESSAGE_DEF(S1AP_E_RAB_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log) MESSAGE_DEF(S1AP_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log)
/* eNB application layer -> S1AP messages */ /* eNB application layer -> S1AP messages */
MESSAGE_DEF(S1AP_REGISTER_ENB_REQ , MESSAGE_PRIORITY_MED, s1ap_register_enb_req_t , s1ap_register_enb_req) MESSAGE_DEF(S1AP_REGISTER_ENB_REQ , MESSAGE_PRIORITY_MED, s1ap_register_enb_req_t , s1ap_register_enb_req)
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#include "SystemInformationBlockType2.h" #include "SystemInformationBlockType2.h"
#include "rrc_messages_types.h" #include "rrc_messages_types.h"
#else #else
#include "RRC/LITE/MESSAGES/SystemInformationBlockType2.h" #include "RRC/LTE/MESSAGES/SystemInformationBlockType2.h"
#endif #endif
#include "intertask_interface_types.h" #include "intertask_interface_types.h"
#include "RRC/LTE/rrc_defs.h" #include "RRC/LTE/rrc_defs.h"
......
...@@ -500,8 +500,8 @@ rnti_t pdcp_UE_UE_module_id_to_rnti[MAX_MOBILES_PER_ENB]; ...@@ -500,8 +500,8 @@ rnti_t pdcp_UE_UE_module_id_to_rnti[MAX_MOBILES_PER_ENB];
rnti_t pdcp_eNB_UE_instance_to_rnti[MAX_MOBILES_PER_ENB]; // for noS1 mode rnti_t pdcp_eNB_UE_instance_to_rnti[MAX_MOBILES_PER_ENB]; // for noS1 mode
unsigned int pdcp_eNB_UE_instance_to_rnti_index; unsigned int pdcp_eNB_UE_instance_to_rnti_index;
#if (RRC_VERSION >= MAKE_VERSION(10, 0, 0)) #if (RRC_VERSION >= MAKE_VERSION(10, 0, 0))
pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h pdcp_mbms_t pdcp_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h pdcp_mbms_t pdcp_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
#endif #endif
sdu_size_t pdcp_output_sdu_bytes_to_write; sdu_size_t pdcp_output_sdu_bytes_to_write;
sdu_size_t pdcp_output_header_bytes_to_write; sdu_size_t pdcp_output_header_bytes_to_write;
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
# include "rlc_am_structs.h" # include "rlc_am_structs.h"
# include "rlc_tm_structs.h" # include "rlc_tm_structs.h"
# include "rlc_um_structs.h" # include "rlc_um_structs.h"
# include "asn1_constants.h" # include "asn_constant.h"
# include "UTIL/LOG/log.h" # include "UTIL/LOG/log.h"
# include "mem_block.h" # include "mem_block.h"
//# include "PHY/defs.h" //# include "PHY/defs.h"
...@@ -193,10 +193,10 @@ typedef struct rlc_mbms_id_s { ...@@ -193,10 +193,10 @@ typedef struct rlc_mbms_id_s {
# define maxSessionPerPMCH 1 # define maxSessionPerPMCH 1
# endif # endif
#endif #endif
//rlc_mbms_t rlc_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h //rlc_mbms_t rlc_mbms_array_ue[MAX_MOBILES_PER_ENB][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
//rlc_mbms_t rlc_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h //rlc_mbms_t rlc_mbms_array_eNB[NUMBER_OF_eNB_MAX][maxServiceCount][maxSessionPerPMCH]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
rlc_mbms_id_t rlc_mbms_lcid2service_session_id_ue[MAX_MOBILES_PER_ENB][RLC_MAX_MBMS_LC]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h rlc_mbms_id_t rlc_mbms_lcid2service_session_id_ue[MAX_MOBILES_PER_ENB][RLC_MAX_MBMS_LC]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
rlc_mbms_id_t rlc_mbms_lcid2service_session_id_eNB[MAX_eNB][RLC_MAX_MBMS_LC]; // some constants from openair2/RRC/LITE/MESSAGES/asn1_constants.h rlc_mbms_id_t rlc_mbms_lcid2service_session_id_eNB[MAX_eNB][RLC_MAX_MBMS_LC]; // some constants from openair2/RRC/LTE/MESSAGES/asn1_constants.h
#define rlc_mbms_enb_get_lcid_by_rb_id(Enb_mOD,rB_iD) rlc_mbms_rbid2lcid_eNB[Enb_mOD][rB_iD] #define rlc_mbms_enb_get_lcid_by_rb_id(Enb_mOD,rB_iD) rlc_mbms_rbid2lcid_eNB[Enb_mOD][rB_iD]
; ;
......
...@@ -99,15 +99,29 @@ void *ue_ip_interrupt(void) ...@@ -99,15 +99,29 @@ void *ue_ip_interrupt(void)
} }
#endif //NETLINK #endif //NETLINK
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
void ue_ip_timer(struct timer_list *t)
#else
void ue_ip_timer(unsigned long dataP) void ue_ip_timer(unsigned long dataP)
#endif
{ {
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
ue_ip_priv_t *priv_p=(ue_ip_priv_t *)dataP; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
ue_ip_priv_t *priv_p = from_timer(priv_p, t, timer);
#else
ue_ip_priv_t *priv_p = (ue_ip_priv_t *)dataP;
#endif
spin_lock(&priv_p->lock); spin_lock(&priv_p->lock);
(priv_p->timer).function=ue_ip_timer; #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
(priv_p->timer).expires=jiffies+UE_IP_TIMER_TICK; mod_timer(&priv_p->timer, jiffies + UE_IP_TIMER_TICK);
(priv_p->timer).data=dataP; #else
(priv_p->timer).function = ue_ip_timer;
(priv_p->timer).expires = jiffies + UE_IP_TIMER_TICK;
(priv_p->timer).data = dataP;
add_timer(&priv_p->timer); add_timer(&priv_p->timer);
#endif
spin_unlock(&priv_p->lock); spin_unlock(&priv_p->lock);
return; return;
// add_timer(&gpriv->timer); // add_timer(&gpriv->timer);
...@@ -137,10 +151,15 @@ int ue_ip_open(struct net_device *dev_pP) ...@@ -137,10 +151,15 @@ int ue_ip_open(struct net_device *dev_pP)
netif_wake_queue(dev_pP); netif_wake_queue(dev_pP);
} }
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
timer_setup(&(priv_p->timer), ue_ip_timer, 0);
(priv_p->timer).expires = jiffies+UE_IP_TIMER_TICK;
#else
init_timer(&priv_p->timer); init_timer(&priv_p->timer);
(priv_p->timer).expires = jiffies+UE_IP_TIMER_TICK; (priv_p->timer).expires = jiffies+UE_IP_TIMER_TICK;
(priv_p->timer).data = (unsigned long)priv_p; (priv_p->timer).data = (unsigned long)priv_p;
(priv_p->timer).function = ue_ip_timer; (priv_p->timer).function = ue_ip_timer;
#endif
//add_timer(&priv_p->timer); //add_timer(&priv_p->timer);
printk("[UE_IP_DRV][%s] name = %s\n", __FUNCTION__, dev_pP->name); printk("[UE_IP_DRV][%s] name = %s\n", __FUNCTION__, dev_pP->name);
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#ifdef CELLULAR #ifdef CELLULAR
#include "rrc_L2_proto.h" #include "rrc_L2_proto.h"
#else #else
#include "RRC/LITE/defs.h" #include "RRC/LTE/defs.h"
#endif //CELLULAR #endif //CELLULAR
#include "COMMON/mac_rrc_primitives.h" #include "COMMON/mac_rrc_primitives.h"
#include "openair_rrc_L2_interface.h" #include "openair_rrc_L2_interface.h"
......
...@@ -131,6 +131,7 @@ mac_rrc_data_req( ...@@ -131,6 +131,7 @@ mac_rrc_data_req(
mib->message.systemFrameNumber.buf = &sfn; mib->message.systemFrameNumber.buf = &sfn;
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
NULL,
(void*)mib, (void*)mib,
carrier->MIB, carrier->MIB,
24); 24);
......
...@@ -241,6 +241,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich ...@@ -241,6 +241,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
NULL,
(void*)mib, (void*)mib,
carrier->MIB, carrier->MIB,
24); 24);
...@@ -320,6 +321,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, ...@@ -320,6 +321,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
enc_rval = uper_encode_to_buffer(&asn_DEF_SBCCH_SL_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_SBCCH_SL_BCH_Message,
NULL,
(void*)mib_sl, (void*)mib_sl,
UE_rrc_inst[ctxt_pP->module_id].MIB, UE_rrc_inst[ctxt_pP->module_id].MIB,
24); 24);
...@@ -509,6 +511,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier, ...@@ -509,6 +511,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
NULL,
(void*)bcch_message, (void*)bcch_message,
buffer, buffer,
100); 100);
...@@ -1354,6 +1357,7 @@ uint8_t do_SIB23(uint8_t Mod_id, ...@@ -1354,6 +1357,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message); xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
NULL,
(void*)bcch_message, (void*)bcch_message,
buffer, buffer,
900); 900);
...@@ -1442,6 +1446,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv) ...@@ -1442,6 +1446,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message,
NULL,
(void*)&ul_ccch_msg, (void*)&ul_ccch_msg,
buffer, buffer,
100); 100);
...@@ -1609,6 +1614,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, SL_Destinatio ...@@ -1609,6 +1614,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, SL_Destinatio
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
NULL,
(void*)&ul_dcch_msg, (void*)&ul_dcch_msg,
buffer, buffer,
100); 100);
...@@ -1693,6 +1699,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin ...@@ -1693,6 +1699,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
*/ */
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
NULL,
(void*)&ul_dcch_msg, (void*)&ul_dcch_msg,
buffer, buffer,
100); 100);
...@@ -1753,6 +1760,7 @@ do_RRCConnectionReconfigurationComplete( ...@@ -1753,6 +1760,7 @@ do_RRCConnectionReconfigurationComplete(
rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL; rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL;
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
NULL,
(void*)&ul_dcch_msg, (void*)&ul_dcch_msg,
buffer, buffer,
100); 100);
...@@ -2163,6 +2171,7 @@ do_RRCConnectionSetup( ...@@ -2163,6 +2171,7 @@ do_RRCConnectionSetup(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
NULL,
(void*)&dl_ccch_msg, (void*)&dl_ccch_msg,
buffer, buffer,
100); 100);
...@@ -2237,6 +2246,7 @@ do_SecurityModeCommand( ...@@ -2237,6 +2246,7 @@ do_SecurityModeCommand(
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg); xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
NULL,
(void*)&dl_dcch_msg, (void*)&dl_dcch_msg,
buffer, buffer,
100); 100);
...@@ -2316,6 +2326,7 @@ do_UECapabilityEnquiry( ...@@ -2316,6 +2326,7 @@ do_UECapabilityEnquiry(
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg); xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
NULL,
(void*)&dl_dcch_msg, (void*)&dl_dcch_msg,
buffer, buffer,
100); 100);
...@@ -2520,6 +2531,7 @@ do_RRCConnectionReconfiguration( ...@@ -2520,6 +2531,7 @@ do_RRCConnectionReconfiguration(
} }
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
NULL,
(void*)&dl_dcch_msg, (void*)&dl_dcch_msg,
buffer, buffer,
RRC_BUF_SIZE); RRC_BUF_SIZE);
...@@ -2736,6 +2748,7 @@ do_RRCConnectionReestablishment( ...@@ -2736,6 +2748,7 @@ do_RRCConnectionReestablishment(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
NULL,
(void*)&dl_ccch_msg, (void*)&dl_ccch_msg,
buffer, buffer,
100); 100);
...@@ -2797,6 +2810,7 @@ do_RRCConnectionReestablishmentReject( ...@@ -2797,6 +2810,7 @@ do_RRCConnectionReestablishmentReject(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
NULL,
(void*)&dl_ccch_msg, (void*)&dl_ccch_msg,
buffer, buffer,
100); 100);
...@@ -2859,6 +2873,7 @@ do_RRCConnectionReject( ...@@ -2859,6 +2873,7 @@ do_RRCConnectionReject(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
NULL,
(void*)&dl_ccch_msg, (void*)&dl_ccch_msg,
buffer, buffer,
100); 100);
...@@ -2924,6 +2939,7 @@ uint8_t do_RRCConnectionRelease( ...@@ -2924,6 +2939,7 @@ uint8_t do_RRCConnectionRelease(
sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension)); sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension));
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
NULL,
(void*)&dl_dcch_msg, (void*)&dl_dcch_msg,
buffer, buffer,
RRC_BUF_SIZE); RRC_BUF_SIZE);
...@@ -3051,6 +3067,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id, ...@@ -3051,6 +3067,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message); xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message,
NULL,
(void*)mcch_message, (void*)mcch_message,
buffer, buffer,
100); 100);
...@@ -3183,6 +3200,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_ ...@@ -3183,6 +3200,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2); measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2);
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
NULL,
(void*)&ul_dcch_msg, (void*)&ul_dcch_msg,
buffer, buffer,
100); 100);
...@@ -3316,7 +3334,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin ...@@ -3316,7 +3334,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n", LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n",
Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count); Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count);
enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, (void*)&pcch_msg, buffer, RRC_BUF_SIZE); enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, NULL, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
if(enc_rval.encoded == -1) if(enc_rval.encoded == -1)
{ {
LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n", LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
...@@ -3492,6 +3510,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname) ...@@ -3492,6 +3510,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability); xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability, enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability,
NULL,
(void*)UE_EUTRA_Capability, (void*)UE_EUTRA_Capability,
&UECapability.sdu[0], &UECapability.sdu[0],
MAX_UE_CAPABILITY_SIZE); MAX_UE_CAPABILITY_SIZE);
......
...@@ -131,6 +131,7 @@ uint8_t do_MIB_NB_IoT( ...@@ -131,6 +131,7 @@ uint8_t do_MIB_NB_IoT(
(uint32_t)hsfn_LSB); (uint32_t)hsfn_LSB);
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message_NB,
NULL,
(void*)mib_NB_IoT, (void*)mib_NB_IoT,
carrier->MIB_NB_IoT, carrier->MIB_NB_IoT,
100); 100);
...@@ -387,6 +388,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id, ...@@ -387,6 +388,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
NULL,
(void*)bcch_message, (void*)bcch_message,
carrier->SIB1_NB_IoT, carrier->SIB1_NB_IoT,
100); 100);
...@@ -669,6 +671,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id, ...@@ -669,6 +671,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message); xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
NULL,
(void*)bcch_message, (void*)bcch_message,
carrier->SIB23_NB_IoT, carrier->SIB23_NB_IoT,
900); 900);
...@@ -888,6 +891,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT( ...@@ -888,6 +891,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
NULL,
(void*)&dl_ccch_msg_NB_IoT, (void*)&dl_ccch_msg_NB_IoT,
buffer, buffer,
100); 100);
...@@ -939,6 +943,7 @@ uint8_t do_SecurityModeCommand_NB_IoT( ...@@ -939,6 +943,7 @@ uint8_t do_SecurityModeCommand_NB_IoT(
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT); xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
NULL,
(void*)&dl_dcch_msg_NB_IoT, (void*)&dl_dcch_msg_NB_IoT,
buffer, buffer,
100); 100);
...@@ -1000,6 +1005,7 @@ uint8_t do_UECapabilityEnquiry_NB_IoT( ...@@ -1000,6 +1005,7 @@ uint8_t do_UECapabilityEnquiry_NB_IoT(
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT); xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
NULL,
(void*)&dl_dcch_msg_NB_IoT, (void*)&dl_dcch_msg_NB_IoT,
buffer, buffer,
100); 100);
...@@ -1094,6 +1100,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT( ...@@ -1094,6 +1100,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL; rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL;
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
NULL,
(void*)&dl_dcch_msg_NB_IoT, (void*)&dl_dcch_msg_NB_IoT,
buffer, buffer,
RRC_BUF_SIZE); RRC_BUF_SIZE);
...@@ -1140,6 +1147,7 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT( ...@@ -1140,6 +1147,7 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
NULL,
(void*)&dl_ccch_msg_NB_IoT, (void*)&dl_ccch_msg_NB_IoT,
buffer, buffer,
100); 100);
...@@ -1210,6 +1218,7 @@ uint8_t do_RRCConnectionReject_NB_IoT( ...@@ -1210,6 +1218,7 @@ uint8_t do_RRCConnectionReject_NB_IoT(
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg); xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg);
#endif #endif
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
NULL,
(void*)&dl_ccch_msg_NB_IoT, (void*)&dl_ccch_msg_NB_IoT,
buffer, buffer,
100); 100);
...@@ -1336,6 +1345,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT( ...@@ -1336,6 +1345,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0; rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
NULL,
(void*)&dl_ccch_msg_NB_IoT, (void*)&dl_ccch_msg_NB_IoT,
buffer, buffer,
RRC_BUF_SIZE); RRC_BUF_SIZE);
...@@ -1405,6 +1415,7 @@ uint8_t do_RRCConnectionRelease_NB_IoT( ...@@ -1405,6 +1415,7 @@ uint8_t do_RRCConnectionRelease_NB_IoT(
sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension)); sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension));
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB, enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
NULL,
(void*)&dl_dcch_msg_NB_IoT, (void*)&dl_dcch_msg_NB_IoT,
buffer, buffer,
RRC_BUF_SIZE);//check RRC_BUF_SIZE);//check
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */ #include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
#include "RRC/LITE/defs_NB_IoT.h" #include "RRC/LTE/defs_NB_IoT.h"
/* /*
* The variant of the above function which dumps the BASIC-XER (XER_F_BASIC) * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* contact@openairinterface.org * contact@openairinterface.org
*/ */
/*! \file RRC/LITE/defs_NB_IoT.h /*! \file RRC/LTE/defs_NB_IoT.h
* \brief NB-IoT RRC struct definitions and function prototypes * \brief NB-IoT RRC struct definitions and function prototypes
* \author Navid Nikaein, Raymond Knopp and Michele Paffetti * \author Navid Nikaein, Raymond Knopp and Michele Paffetti
* \date 2010 - 2014, 2017 * \date 2010 - 2014, 2017
......
...@@ -1926,6 +1926,7 @@ rrc_ue_process_securityModeCommand( ...@@ -1926,6 +1926,7 @@ rrc_ue_process_securityModeCommand(
ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier); ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier);
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
NULL,
(void*)&ul_dcch_msg, (void*)&ul_dcch_msg,
buffer, buffer,
100); 100);
...@@ -2039,7 +2040,7 @@ rrc_ue_process_ueCapabilityEnquiry( ...@@ -2039,7 +2040,7 @@ rrc_ue_process_ueCapabilityEnquiry(
&ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list, &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
&ue_CapabilityRAT_Container); &ue_CapabilityRAT_Container);
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, (void*) &ul_dcch_msg, buffer, 100); enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n", AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
enc_rval.failed_type->name, enc_rval.encoded); enc_rval.failed_type->name, enc_rval.encoded);
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
#include "rrc_UE_ral.h" #include "rrc_UE_ral.h"
#include "assertions.h" #include "assertions.h"
#include "collection/hashtable/obj_hashtable.h" #include "collection/hashtable/obj_hashtable.h"
#include "RRC/LITE/defs.h" #include "RRC/LTE/defs.h"
#include "RRC/LITE/extern.h" #include "RRC/LTE/extern.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
......
...@@ -7145,8 +7145,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) { ...@@ -7145,8 +7145,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
LOG_I(RRC, "got UE capabilities for UE %x\n", ctxt_pP->rnti); LOG_I(RRC, "got UE capabilities for UE %x\n", ctxt_pP->rnti);
if (ue_context_p->ue_context.UE_Capability) { if (ue_context_p->ue_context.UE_Capability) {
LOG_I(RRC, "freeing old UE capabilities for UE %x\n", ctxt_pP->rnti); LOG_I(RRC, "freeing old UE capabilities for UE %x\n", ctxt_pP->rnti);
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability, ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
ue_context_p->ue_context.UE_Capability, 0); ue_context_p->ue_context.UE_Capability);
ue_context_p->ue_context.UE_Capability = 0; ue_context_p->ue_context.UE_Capability = 0;
} }
dec_rval = uper_decode(NULL, dec_rval = uper_decode(NULL,
...@@ -7166,8 +7166,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) { ...@@ -7166,8 +7166,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n", LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n",
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP), PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
dec_rval.consumed); dec_rval.consumed);
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability, ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
ue_context_p->ue_context.UE_Capability, 0); ue_context_p->ue_context.UE_Capability);
ue_context_p->ue_context.UE_Capability = 0; ue_context_p->ue_context.UE_Capability = 0;
} }
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
#include "RRC/LTE/rrc_eNB_GTPV1U.h" #include "RRC/LTE/rrc_eNB_GTPV1U.h"
#include "TLVDecoder.h" #include "TLVDecoder.h"
#include "S1ap-NAS-PDU.h" #include "S1AP_NAS-PDU.h"
#include "flexran_agent_common_internal.h" #include "flexran_agent_common_internal.h"
extern RAN_CONTEXT_t RC; extern RAN_CONTEXT_t RC;
...@@ -678,7 +678,8 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND( ...@@ -678,7 +678,8 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
return; return;
} }
asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, ueCapabilityInformation, buf, 4096); asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, NULL, ueCapabilityInformation, buf, 4096);
if (ret.encoded == -1) abort(); if (ret.encoded == -1) abort();
memset(&rac, 0, sizeof(UERadioAccessCapabilityInformation_t)); memset(&rac, 0, sizeof(UERadioAccessCapabilityInformation_t));
...@@ -692,7 +693,9 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND( ...@@ -692,7 +693,9 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
/* 8192 is arbitrary, should be big enough */ /* 8192 is arbitrary, should be big enough */
buf2 = malloc16(8192); buf2 = malloc16(8192);
if (buf2 == NULL) abort(); if (buf2 == NULL) abort();
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, &rac, buf2, 8192);
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, NULL, &rac, buf2, 8192);
if (ret.encoded == -1) abort(); if (ret.encoded == -1) abort();
MessageDef *msg_p; MessageDef *msg_p;
......
...@@ -33,8 +33,8 @@ ...@@ -33,8 +33,8 @@
#include "rrc_eNB_ral.h" #include "rrc_eNB_ral.h"
#include "assertions.h" #include "assertions.h"
#include "collection/hashtable/obj_hashtable.h" #include "collection/hashtable/obj_hashtable.h"
#include "RRC/LITE/defs.h" #include "RRC/LTE/defs.h"
#include "RRC/LITE/extern.h" #include "RRC/LTE/extern.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
......
include Makefile.inc
OBJS=$(addprefix MESSAGES/,${ASN_MODULE_SOURCES:.c=.o})
CFLAGS += -DEMIT_ASN_DEBUG=1
CFLAGS += -Wall
CFLAGS += -g
OBJS += x2ap_decoder.o
OBJS += x2ap_encoder.o
OBJS += x2ap_common.o
#X2AP_SERVER_SRC = sctp_primitives_server.c
#X2AP_SERVER_SRC += x2ap_server_main.c
#X2AP_SERVER_OBJS = $(X2AP_SERVER_SRC:.c=.o)
X2AP_CLIENT_SRC = sctp_primitives_client.c
X2AP_CLIENT_SRC += x2ap_client_main.c
X2AP_CLIENT_OBJS = $(X2AP_CLIENT_SRC:.c=.o)
libx2ap_messages.a:$(OBJS)
$(AR) rcsv libx2ap_messages.a $(OBJS)
asn1fromtool:
asn1c -gen-PER -fnative-types -fskeletons-copy X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-IEs.asn \
X2AP-PDU.asn
asn1fromscript:
python ../asn1tostruct.py -f X2AP-PDU-Contents.asn -d
all: server x2ap_client_main
server: server.o libx2ap_messages.a generating_messages.o sctp_primitives_client.o x2ap_pdu_decoder.o
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@ $^ -lsctp -lpthread libx2ap_messages.a
$(OBJS): %.o : %.c
$(CC) $(CFLAGS) -I. -o $@ -c $<
$(X2AP_SERVER_OBJS): %.o : %.c
$(CC) -c $(CFLAGS) -I. $< -o $@
$(X2AP_CLIENT_OBJS): %.o : %.c
$(CC) -c $(CFLAGS) $< -o $@
x2ap_server_main.o: x2ap_server_main.c
$(CC) $(CFLAGS) -I. $^ -o $@ -lsctp \
-lpthread
x2ap_client_main: $(X2AP_CLIENT_OBJS)
$(CC) $(CFLAGS) $^ -o $@ -lsctp \
-lpthread
server.o: server.c
$(CC) $(CFLAGS) -I. $^ -o $@ -lsctp \
-lpthread
x2ap_pdu_decoder.o: x2ap_pdu_decoder.c
$(CC) $(CFLAGS) -I. -o $@ -c $<
x2ap_pdu_encoder.o: x2ap_pdu_encoder.c
$(CC) $(CFLAGS) -I. -o $@ -c $<
sctp_primitives_server.o: sctp_primitives_server.c
$(CC) $(CFLAGS) -o $@ -c $<
generating_messages.o: generating_messages.c
$(CC) $(CFLAGS) -I. -o $@ -c $<
clean:
rm -f $(OBJS)
This diff is collapsed.
-- **************************************************************
--
-- Common definitions
--
-- **************************************************************
X2AP-CommonDataTypes {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-CommonDataTypes (3) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- Extension constants
--
-- **************************************************************
maxPrivateIEs INTEGER ::= 65535
maxProtocolExtensions INTEGER ::= 65535
maxProtocolIEs INTEGER ::= 65535
-- **************************************************************
--
-- Common Data Types
--
-- **************************************************************
Criticality ::= ENUMERATED { reject, ignore, notify }
Presence ::= ENUMERATED { optional, conditional, mandatory }
PrivateIE-ID ::= CHOICE {
local INTEGER (0.. maxPrivateIEs),
global OBJECT IDENTIFIER
}
ProcedureCode ::= INTEGER {
id-handoverPreparation (0),
id-handoverCancel (1),
id-loadIndication (2),
id-errorIndication (3),
id-snStatusTransfer (4),
id-uEContextRelease (5),
id-x2Setup (6),
id-reset (7),
id-eNBConfigurationUpdate (8),
id-resourceStatusReportingInitiation (9),
id-resourceStatusReporting (10),
id-privateMessage (11),
id-mobilitySettingsChange (12),
id-rLFIndication (13),
id-handoverReport (14),
id-cellActivation (15)
} (0..255)
ProtocolIE-ID ::= INTEGER {
id-E-RABs-Admitted-Item (0),
id-E-RABs-Admitted-List (1),
id-E-RAB-Item (2),
id-E-RABs-NotAdmitted-List (3),
id-E-RABs-ToBeSetup-Item (4),
id-Cause (5),
id-CellInformation (6),
id-CellInformation-Item (7),
id-New-eNB-UE-X2AP-ID (9),
id-Old-eNB-UE-X2AP-ID (10),
id-TargetCell-ID (11),
id-TargeteNBtoSource-eNBTransparentContainer (12),
id-TraceActivation (13),
id-UE-ContextInformation (14),
id-UE-HistoryInformation (15),
id-UE-X2AP-ID (16),
id-CriticalityDiagnostics (17),
id-E-RABs-SubjectToStatusTransfer-List (18),
id-E-RABs-SubjectToStatusTransfer-Item (19),
id-ServedCells (20),
id-GlobalENB-ID (21),
id-TimeToWait (22),
id-GUMMEI-ID (23),
id-GUGroupIDList (24),
id-ServedCellsToAdd (25),
id-ServedCellsToModify (26),
id-ServedCellsToDelete (27),
id-Registration-Request (28),
id-CellToReport (29),
id-ReportingPeriodicity (30),
id-CellToReport-Item (31),
id-CellMeasurementResult (32),
id-CellMeasurementResult-Item (33),
id-GUGroupIDToAddList (34),
id-GUGroupIDToDeleteList (35),
id-SRVCCOperationPossible (36),
id-Measurement-ID (37),
id-ReportCharacteristics (38),
id-ENB1-Measurement-ID (39),
id-ENB2-Measurement-ID (40),
id-Number-of-Antennaports (41),
id-CompositeAvailableCapacityGroup (42),
id-ENB1-Cell-ID (43),
id-ENB2-Cell-ID (44),
id-ENB2-Proposed-Mobility-Parameters (45),
id-ENB1-Mobility-Parameters (46),
id-ENB2-Mobility-Parameters-Modification-Range (47),
id-FailureCellPCI (48),
id-Re-establishmentCellECGI (49),
id-FailureCellCRNTI (50),
id-ShortMAC-I (51),
id-SourceCellECGI (52),
id-FailureCellECGI (53),
id-HandoverReportType (54),
id-PRACH-Configuration (55),
id-MBSFN-Subframe-Info (56),
id-ServedCellsToActivate (57),
id-ActivatedCellList (58),
id-DeactivationIndication (59),
id-UE-RLF-Report-Container (60)
} (0..maxProtocolIEs)
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
END
\ No newline at end of file
-- **************************************************************
--
-- Constant definitions
--
-- **************************************************************
X2AP-Constants {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Constants (4) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ProcedureCode,
ProtocolIE-ID
FROM X2AP-CommonDataTypes;
-- **************************************************************
--
-- Elementary Procedures
--
-- **************************************************************
id-handoverPreparation ProcedureCode ::= 0
id-handoverCancel ProcedureCode ::= 1
id-loadIndication ProcedureCode ::= 2
id-errorIndication ProcedureCode ::= 3
id-snStatusTransfer ProcedureCode ::= 4
id-uEContextRelease ProcedureCode ::= 5
id-x2Setup ProcedureCode ::= 6
id-reset ProcedureCode ::= 7
id-eNBConfigurationUpdate ProcedureCode ::= 8
id-resourceStatusReportingInitiation ProcedureCode ::= 9
id-resourceStatusReporting ProcedureCode ::= 10
id-privateMessage ProcedureCode ::= 11
id-mobilitySettingsChange ProcedureCode ::= 12
id-rLFIndication ProcedureCode ::= 13
id-handoverReport ProcedureCode ::= 14
id-cellActivation ProcedureCode ::= 15
-- **************************************************************
--
-- Lists
--
-- **************************************************************
maxEARFCN INTEGER ::= 65535
maxInterfaces INTEGER ::= 16
maxCellineNB INTEGER ::= 256
maxnoofBearers INTEGER ::= 256
maxNrOfErrors INTEGER ::= 256
maxnoofPDCP-SN INTEGER ::= 16 -- FFS Value to be checked
maxnoofEPLMNs INTEGER ::= 15
maxnoofEPLMNsPlusOne INTEGER ::= 16
maxnoofForbLACs INTEGER ::= 4096
maxnoofForbTACs INTEGER ::= 4096
maxnoofBPLMNs INTEGER ::= 6
maxnoofNeighbours INTEGER ::= 512
maxnoofPRBs INTEGER ::= 110
maxPools INTEGER ::= 16
maxnoofCells INTEGER ::= 16
maxnoofMBSFN INTEGER ::= 8
-- **************************************************************
--
-- IEs
--
-- **************************************************************
id-E-RABs-Admitted-Item ProtocolIE-ID ::= 0
id-E-RABs-Admitted-List ProtocolIE-ID ::= 1
id-E-RAB-Item ProtocolIE-ID ::= 2
id-E-RABs-NotAdmitted-List ProtocolIE-ID ::= 3
id-E-RABs-ToBeSetup-Item ProtocolIE-ID ::= 4
id-Cause ProtocolIE-ID ::= 5
id-CellInformation ProtocolIE-ID ::= 6
id-CellInformation-Item ProtocolIE-ID ::= 7
id-New-eNB-UE-X2AP-ID ProtocolIE-ID ::= 9
id-Old-eNB-UE-X2AP-ID ProtocolIE-ID ::= 10
id-TargetCell-ID ProtocolIE-ID ::= 11
id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID ::= 12
id-TraceActivation ProtocolIE-ID ::= 13
id-UE-ContextInformation ProtocolIE-ID ::= 14
id-UE-HistoryInformation ProtocolIE-ID ::= 15
id-UE-X2AP-ID ProtocolIE-ID ::= 16
id-CriticalityDiagnostics ProtocolIE-ID ::= 17
id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID ::= 18
id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 19
id-ServedCells ProtocolIE-ID ::= 20
id-GlobalENB-ID ProtocolIE-ID ::= 21
id-TimeToWait ProtocolIE-ID ::= 22
id-GUMMEI-ID ProtocolIE-ID ::= 23
id-GUGroupIDList ProtocolIE-ID ::= 24
id-ServedCellsToAdd ProtocolIE-ID ::= 25
id-ServedCellsToModify ProtocolIE-ID ::= 26
id-ServedCellsToDelete ProtocolIE-ID ::= 27
id-Registration-Request ProtocolIE-ID ::= 28
id-CellToReport ProtocolIE-ID ::= 29
id-ReportingPeriodicity ProtocolIE-ID ::= 30
id-CellToReport-Item ProtocolIE-ID ::= 31
id-CellMeasurementResult ProtocolIE-ID ::= 32
id-CellMeasurementResult-Item ProtocolIE-ID ::= 33
id-GUGroupIDToAddList ProtocolIE-ID ::= 34
id-GUGroupIDToDeleteList ProtocolIE-ID ::= 35
id-SRVCCOperationPossible ProtocolIE-ID ::= 36
id-Measurement-ID ProtocolIE-ID ::= 37
id-ReportCharacteristics ProtocolIE-ID ::= 38
id-ENB1-Measurement-ID ProtocolIE-ID ::= 39
id-ENB2-Measurement-ID ProtocolIE-ID ::= 40
id-Number-of-Antennaports ProtocolIE-ID ::= 41
id-CompositeAvailableCapacityGroup ProtocolIE-ID ::= 42
id-ENB1-Cell-ID ProtocolIE-ID ::= 43
id-ENB2-Cell-ID ProtocolIE-ID ::= 44
id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID ::= 45
id-ENB1-Mobility-Parameters ProtocolIE-ID ::= 46
id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID ::= 47
id-FailureCellPCI ProtocolIE-ID ::= 48
id-Re-establishmentCellECGI ProtocolIE-ID ::= 49
id-FailureCellCRNTI ProtocolIE-ID ::= 50
id-ShortMAC-I ProtocolIE-ID ::= 51
id-SourceCellECGI ProtocolIE-ID ::= 52
id-FailureCellECGI ProtocolIE-ID ::= 53
id-HandoverReportType ProtocolIE-ID ::= 54
id-PRACH-Configuration ProtocolIE-ID ::= 55
id-MBSFN-Subframe-Info ProtocolIE-ID ::= 56
id-ServedCellsToActivate ProtocolIE-ID ::= 57
id-ActivatedCellList ProtocolIE-ID ::= 58
id-DeactivationIndication ProtocolIE-ID ::= 59
id-UE-RLF-Report-Container ProtocolIE-ID ::= 60
END
\ No newline at end of file
-- **************************************************************
--
-- Container definitions
--
-- **************************************************************
X2AP-Containers {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
maxPrivateIEs,
maxProtocolExtensions,
maxProtocolIEs,
Criticality,
Presence,
PrivateIE-ID,
ProtocolIE-ID
FROM X2AP-CommonDataTypes;
-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************
X2AP-PROTOCOL-IES ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&criticality Criticality,
&Value,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
TYPE &Value
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************
X2AP-PROTOCOL-IES-PAIR ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&firstCriticality Criticality,
&FirstValue,
&secondCriticality Criticality,
&SecondValue,
&presence Presence
}
WITH SYNTAX {
ID &id
FIRST CRITICALITY &firstCriticality
FIRST TYPE &FirstValue
SECOND CRITICALITY &secondCriticality
SECOND TYPE &SecondValue
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Protocol Extensions
--
-- **************************************************************
X2AP-PROTOCOL-EXTENSION ::= CLASS {
&id ProtocolIE-ID UNIQUE,
&criticality Criticality,
&Extension,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
EXTENSION &Extension
PRESENCE &presence
}
-- **************************************************************
--
-- Class Definition for Private IEs
--
-- **************************************************************
X2AP-PRIVATE-IES ::= CLASS {
&id PrivateIE-ID,
&criticality Criticality,
&Value,
&presence Presence
}
WITH SYNTAX {
ID &id
CRITICALITY &criticality
TYPE &Value
PRESENCE &presence
}
-- **************************************************************
--
-- Container for Protocol IEs
--
-- **************************************************************
ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
id X2AP-PROTOCOL-IES.&id ({IEsSetParam}),
criticality X2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
value X2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
}
-- **************************************************************
--
-- Container for Protocol IE Pairs
--
-- **************************************************************
ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-FieldPair {{IEsSetParam}}
ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
id X2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
firstCriticality X2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
firstValue X2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
secondCriticality X2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
secondValue X2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
}
-- **************************************************************
--
-- Container Lists for Protocol IE Containers
--
-- **************************************************************
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (lowerBound..upperBound)) OF
ProtocolIE-Container {{IEsSetParam}}
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
SEQUENCE (SIZE (lowerBound..upperBound)) OF
ProtocolIE-ContainerPair {{IEsSetParam}}
-- **************************************************************
--
-- Container for Protocol Extensions
--
-- **************************************************************
ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
ProtocolExtensionField {{ExtensionSetParam}}
ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
id X2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
criticality X2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
extensionValue X2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
}
-- **************************************************************
--
-- Container for Private IEs
--
-- **************************************************************
PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=
SEQUENCE (SIZE (1..maxPrivateIEs)) OF
PrivateIE-Field {{IEsSetParam}}
PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
id X2AP-PRIVATE-IES.&id ({IEsSetParam}),
criticality X2AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
value X2AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
}
END
\ No newline at end of file
This diff is collapsed.
-- **************************************************************
--
-- Elementary Procedure definitions
--
-- **************************************************************
X2AP-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************
IMPORTS
Criticality,
ProcedureCode
FROM X2AP-CommonDataTypes
CellActivationRequest,
CellActivationResponse,
CellActivationFailure,
ENBConfigurationUpdate,
ENBConfigurationUpdateAcknowledge,
ENBConfigurationUpdateFailure,
ErrorIndication,
HandoverCancel,
HandoverReport,
HandoverPreparationFailure,
HandoverRequest,
HandoverRequestAcknowledge,
LoadInformation,
PrivateMessage,
ResetRequest,
ResetResponse,
ResourceStatusFailure,
ResourceStatusRequest,
ResourceStatusResponse,
ResourceStatusUpdate,
RLFIndication,
SNStatusTransfer,
UEContextRelease,
X2SetupFailure, X2SetupRequest,
X2SetupResponse,
MobilityChangeRequest,
MobilityChangeAcknowledge,
MobilityChangeFailure
FROM X2AP-PDU-Contents
id-cellActivation,
id-eNBConfigurationUpdate,
id-errorIndication,
id-handoverCancel,
id-handoverReport,
id-handoverPreparation,
id-loadIndication,
id-privateMessage,
id-reset,
id-resourceStatusReporting,
id-resourceStatusReportingInitiation,
id-rLFIndication,
id-snStatusTransfer,
id-uEContextRelease,
id-x2Setup,
id-mobilitySettingsChange
FROM X2AP-Constants;
-- **************************************************************
--
-- Interface Elementary Procedure Class
--
-- **************************************************************
X2AP-ELEMENTARY-PROCEDURE ::= CLASS {
&InitiatingMessage ,
&SuccessfulOutcome OPTIONAL,
&UnsuccessfulOutcome OPTIONAL,
&procedureCode ProcedureCode UNIQUE,
&criticality Criticality DEFAULT ignore
}
WITH SYNTAX {
INITIATING MESSAGE &InitiatingMessage
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
PROCEDURE CODE &procedureCode
[CRITICALITY &criticality]
}
-- **************************************************************
--
-- Interface PDU Definition
--
-- **************************************************************
X2AP-PDU ::= CHOICE {
initiatingMessage InitiatingMessage,
successfulOutcome SuccessfulOutcome,
unsuccessfulOutcome UnsuccessfulOutcome,
...
}
InitiatingMessage ::= SEQUENCE {
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
SuccessfulOutcome ::= SEQUENCE {
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
UnsuccessfulOutcome ::= SEQUENCE {
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
value X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}
-- **************************************************************
--
-- Interface Elementary Procedure List
--
-- **************************************************************
X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
...
}
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
handoverPreparation |
reset |
x2Setup |
resourceStatusReportingInitiation |
eNBConfigurationUpdate |
mobilitySettingsChange |
cellActivation ,
...
}
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
snStatusTransfer |
uEContextRelease |
handoverCancel |
errorIndication |
resourceStatusReporting |
loadIndication |
privateMessage |
rLFIndication | handoverReport,
...
}
-- **************************************************************
--
-- Interface Elementary Procedures
--
-- **************************************************************
handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverRequest
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
PROCEDURE CODE id-handoverPreparation
CRITICALITY reject
}
snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE SNStatusTransfer
PROCEDURE CODE id-snStatusTransfer
CRITICALITY ignore
}
uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE UEContextRelease
PROCEDURE CODE id-uEContextRelease
CRITICALITY ignore
}
handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverCancel
PROCEDURE CODE id-handoverCancel
CRITICALITY ignore
}
handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE HandoverReport
PROCEDURE CODE id-handoverReport
CRITICALITY ignore
}
errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ErrorIndication
PROCEDURE CODE id-errorIndication
CRITICALITY ignore
}
reset X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ResetRequest
SUCCESSFUL OUTCOME ResetResponse
PROCEDURE CODE id-reset
CRITICALITY reject
}
x2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE X2SetupRequest
SUCCESSFUL OUTCOME X2SetupResponse
UNSUCCESSFUL OUTCOME X2SetupFailure
PROCEDURE CODE id-x2Setup
CRITICALITY reject
}
loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE LoadInformation
PROCEDURE CODE id-loadIndication
CRITICALITY ignore
}
eNBConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ENBConfigurationUpdate
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
PROCEDURE CODE id-eNBConfigurationUpdate
CRITICALITY reject
}
resourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ResourceStatusRequest
SUCCESSFUL OUTCOME ResourceStatusResponse
UNSUCCESSFUL OUTCOME ResourceStatusFailure
PROCEDURE CODE id-resourceStatusReportingInitiation
CRITICALITY reject
}
resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ResourceStatusUpdate
PROCEDURE CODE id-resourceStatusReporting
CRITICALITY ignore
}
rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE RLFIndication
PROCEDURE CODE id-rLFIndication
CRITICALITY ignore
}
privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE PrivateMessage
PROCEDURE CODE id-privateMessage
CRITICALITY ignore
}
mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE MobilityChangeRequest
SUCCESSFUL OUTCOME MobilityChangeAcknowledge
UNSUCCESSFUL OUTCOME MobilityChangeFailure
PROCEDURE CODE id-mobilitySettingsChange
CRITICALITY reject
}
cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE CellActivationRequest
SUCCESSFUL OUTCOME CellActivationResponse
UNSUCCESSFUL OUTCOME CellActivationFailure
PROCEDURE CODE id-cellActivation
CRITICALITY reject
}
END
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -32,6 +32,7 @@ MESSAGE_DEF(S1AP_INITIAL_UE_MESSAGE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText ...@@ -32,6 +32,7 @@ MESSAGE_DEF(S1AP_INITIAL_UE_MESSAGE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_REQ_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_req_log) MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_REQ_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_req_log)
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_command_log) MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_command_log)
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_log) MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_log)
MESSAGE_DEF(S1AP_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log)
MESSAGE_DEF(S1AP_UE_CAPABILITIES_IND , MESSAGE_PRIORITY_MED, s1ap_ue_cap_ind_t , s1ap_ue_cap_ind) MESSAGE_DEF(S1AP_UE_CAPABILITIES_IND , MESSAGE_PRIORITY_MED, s1ap_ue_cap_ind_t , s1ap_ue_cap_ind)
MESSAGE_DEF(S1AP_ENB_DEREGISTERED_IND , MESSAGE_PRIORITY_MED, s1ap_eNB_deregistered_ind_t , s1ap_eNB_deregistered_ind) MESSAGE_DEF(S1AP_ENB_DEREGISTERED_IND , MESSAGE_PRIORITY_MED, s1ap_eNB_deregistered_ind_t , s1ap_eNB_deregistered_ind)
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
*/ */
#include "hashtable.h" #include "hashtable.h"
#include "asn1_constants.h" #include "asn_constant.h"
#ifndef GTPV1U_ENB_DEFS_H_ #ifndef GTPV1U_ENB_DEFS_H_
#define GTPV1U_ENB_DEFS_H_ #define GTPV1U_ENB_DEFS_H_
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -20,12 +20,11 @@ ...@@ -20,12 +20,11 @@
*/ */
#include <stdint.h> #include <stdint.h>
#include "s1ap_ies_defs.h"
#ifndef S1AP_ENB_DECODER_H_ #ifndef S1AP_ENB_DECODER_H_
#define S1AP_ENB_DECODER_H_ #define S1AP_ENB_DECODER_H_
int s1ap_eNB_decode_pdu(s1ap_message *message, const uint8_t * const buffer, int s1ap_eNB_decode_pdu(S1AP_S1AP_PDU_t *pdu, const uint8_t *const buffer,
const uint32_t length) __attribute__ ((warn_unused_result)); const uint32_t length) __attribute__ ((warn_unused_result));
#endif /* S1AP_ENB_DECODER_H_ */ #endif /* S1AP_ENB_DECODER_H_ */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment