立即注册 登录
51学通信技术论坛 返回首页

蓉城喜鹊的个人空间 http://www.51xuetongxin.com/bbs/?1111 [收藏] [复制] [分享] [RSS]

日志

RANAP数据结构构参考

热度 2已有 868 次阅读2013-3-20 11:28 |个人分类:RANAP| 结构, ranap

 

/* 类型定义 */

typedef unsigned char uint8_t;

typedef unsigned short uint16_t;

typedef unsigned int uint32_t;

typedef unsigned long long uint64_t;

 

 

/* 过程码定义 */

 

#define  MSG_RAB_ASSIGNMENT_REQUEST                                0x0000

#define  MSG_IU_RELEASE_COMMAND                                      0x0100

#define     MSG_IU_RELEASE_COMPLETE                                           0x0140

#define  MSG_RELOCATION_COMMAND                                          0x0240

#define  MSG_RELOCATION_PREPARTION_FAILURE                     0x0280   

#define  MSG_RELOCATION_REQUEST                                        0x0300

#define  MSG_RELOCATION_CANCEL ACKNOWLEDGE            0x0440

#define  MSG_SECURITY_MODE_COMMAND                           0x0600

#define  MSG_SECURITY_MODE_REJECT                                          0x0680

#define  MSG_DATA_VOLUME_REPORT_REQUEST                  0x0700

#define  MSG_DATA_VOLUME_REPORT                                            0x0740

#define  MSG_RESET                                                                            0x0900

#define  MSG_RESET_ACKNOWLEDGEMENT                                   0x0940

#define  MSG_IU_RELEASE_REQUEST                                           0x0B00

#define  MSG_RELOCATION_DETECT                                                    0x0C00

#define  MSG_RELOCATION_COMPLETE                                      0x0D00

#define  MSG_PAGING                                                                      0x0E00

#define  MSG_COMMON_ID                                                            0x0F00

#define  MSG_CN_INVOKE_TRACE                                                0x1000

#define  MSG_LOCATION_REPORT_CONTROL                             0x1100

#define  MSG_LOCATION_REPORT                                                           0x1200

#define  MSG_INITIAL_UE_MESSAGE                                             0x1300

#define  MSG_DIRECT_TRANSFER                                                  0x1400

#define  MSG_OVERLOAD                                                                 0x1500

#define  MSG_ERROR_INDICATION                                              0x1600

#define  MSG_FORWARD_SRNS_CONTEXT                                   0x1800

#define  MSG_CN_DEACTIVATE_TRACE                                           0x1A00 

#define  MSG_RESET_RESOURCE                                                   0x1B00

#define  MSG_RESET_RESOURCE_ACKNOWLEDGEMENT            0x1B40

#define  MSG_LOCATION_RELATED_DATA_REQUEST                0x1E00

#define  MSG_INFORMATION_TRANSFER_INDICATION          0x1F00

#define  MSG_INFORMATION_TRANSFER_COMFIRMATION      0x1F40

#define  MSG_UE_SPECIFIC_INFORMATION                             0x2000

 

 

/* IE-ID定义 */

 

#define  ID_AREAIDENTITY                                                               0x0000

#define  ID_CN_DOMAININDICATOR                                             0x0300

#define  ID_CAUSE                                                                              0x0400

#define  ID_CHOSENENCRYPTIONALGORITHM                        0x0500

#define  ID_CHOSENINTEGRITYPROTECTIONALGORITHM     0x0600

#define  ID_CRITICALITYDIAGNOSTICS                                           0x0900

#define  ID_ENCRYPTIONINFORMATION                                      0x0B00

#define  ID_INTEGRITYPROTECTIONINFORMATION                 0x0C00

#define  ID_IUTRANSPORTASSOCIATION                                   0x0D00

#define  ID_L3_INFORMATION                                                        0x0E00

#define  ID_LAI                                                                              0x0F00

#define  ID_NAS_PDU                                                                  0x1000

#define  ID_NONSEARCHINGINDICATION                             0x1100

#define  ID_OMC_ID                                                                          0x1300

#define  ID_PAGINGAREAID                                                        0x1500

#define  ID_PAGINGCAUSE                                                        0x1600

#define  ID_PERMANENTNAS_UE_ID                                            0x1700

#define     ID_RAB_CONTEXTS_LIST                                                     0x1900

#define     ID_RAB_DATAVOLUMEREPORT_ITEM                                     0x1E00

#define     ID_RAB_DATAVOLUMEREPORT_LIST                              0X1F00

#define     ID_RAB_DATAVOLUMEREPORTREQUEST_ITEM                   0X2000

#define  ID_RAB_FAILED_ITEM                                                       0x2200

#define  ID_RAB_FAILED_LIST                                                   0x2300

#define  ID_RAB_ID                                                                            0x2400

#define  ID_RAB_RELEASEFAILEDLIST                                      0x2700

#define  ID_RAB_RELEASEITEM                                                   0x2800

#define  ID_RAB_RELEASELIST                                                    0x2900

#define  ID_RAB_RELEASEDITEM                                                0x2A00

#define  ID_RAB_RELEASEDLIST                                                   0x2B00

#define  ID_RAB_RELEASEDLIST_IURELCOMP                                 0x2C00

#define  ID_RAB_RELOCATIONRELEASEITEM                                   0x2D00

#define  ID_RAB_RELOCARIONRELEASELIST                                              0x2E00

#define  ID_RAB_SETUPITEM_RELOCREQ                                         0x2F00

#define  ID_RAB_SETUPITEM_RELOCREQACK                                 0x3000

#define  ID_RAB_SETUPLIST_RELOCREQ                                           0x3100

#define  ID_RAB_SETUPLIST_RELOCREQQACK                                0x3200

#define  ID_RAB_SETUPORMODIFIEDITEM                                      0x3300

#define  ID_RAB_SETUPORMODIFIEDLIST                                        0x3400

#define  ID_RAB_SETUPORMODIFYITEM                                          0x3500

#define  ID_RAB_SETUPORMODIFYLIST                                             0x3600

#define  ID_RAC                                                                                        0x3700

#define  ID_RELOCATIONTYPE                                                              0x3800

#define  ID_REQUESTTYPE                                                                     0x3900

#define  ID_SAI                                                                                     0x3A00

#define  ID_SAPI                                                                                        0x3B00

#define  ID_SOURCEID                                                                            0x3C00

#define  ID_SOURCERNC_TOTARGETRNC_TRANSPARENTCONTAINER       0x3D00

#define     ID_TARGETID                                                                                    0x3E00

#define  ID_TARGETRNC_TOSOURCERNC_TRANSPARENTCONTAINE       0x3F00

#define  ID_TEMPORARYUE_ID                                                            0x4000

#define  ID_TRACEREFERENCE                                                             0x4100

#define  ID_TRACETYPE                                                                          0x4200

#define  ID_TRANSPORTLAYERADDRESS                                            0x4300

#define  ID_TRIGGERID                                                                                    0x4400

#define  ID_UE_ID                                                                                             0x4500

#define  ID_KEYSTATUS                                                                           0x4b00

#define  ID_DRX_CYCLELENGTHCOEFFFICIENT                               0x4C00

#define  ID_IUSIGCONIDLIST                                                                          0x4D00

#define  ID_IUSIGCONIDITEM                                                              0x4E00

#define  ID_IUSIGCONID                                                                        0x4F00

#define  ID_GLOBALRNC_ID                                                                           0x5600

#define  ID_RAB_RELEASEDITEM_IURELCOMP                               0x5700

#define  ID_TYPEOFERROR                                                                    0x5D00

#define  ID_LOCATIONRELATEDDATAREQUESTTYPE                      0x5F00

#define  ID_GLOBAL_CN_ID                                                                  0x6000

#define  ID_SRB_TRCH_MAPPING                                                       0x6200

#define  ID_ SOURCE_RNC-PDCP-CONTEXT_INFO                          0x6700

#define  ID_SNA_ACCESS_INFORMATION                                         0x6900

#define  ID_VERTICALACCURACYCODE                                                      0x6F00

#define  ID_RESPONSETIME                                                                  0x7000

#define  ID_POSITIONINGPRIORITY                                                    0x7100

#define  ID_CLIENTTYPE                                                                         0x7200

#define     ID_UESBI_IU                                                                            0x7600

 

 

/* 原语类型码定义 */

 

#define  RANAP _SECURITY_MODE_IND                                           0xD1

         #define  RANAP _PAGING_IND                                                    0xD2

         #define     RANAP _IUSETUP_IND                                                   0xD3

         #define  RANAP _IURELEASE_IND                                              0xD4

         #define  RANAP_ NAS-PDU_SEND                                               0xD5

         #define  RANAP_ RESET_IND                                                       0xD6

         #define  RANAP_ RESET_RESOURCE_IND                                0xD7

         #define  RANAP_ RELOCATION_IND                                          0xD8

         #define  RANAP_ RELOCATION_FAIL_IND                                0xD9

         #define  RANAP_ PDP_IND                                                           0xDA

         #define  GMM_ NAS-PDU_SEND                                                 0xC1

         #define     GMM_IURELEASE_REQ                                                 0xC2

         #define     GMM_RELOCATION_REQ                                             0xC3

         #define     GMM_IMSITOFLAG_RESP                                             0xC4

         #define     GMM_RELOCATION_CON                                            0xC5

         #define  SCCP_RANAP_CONNECT_CONFIRM                          0xC6

         #define  SCCP_RANAP_DISCONNECT_INDICATION               0xC7

         #define  SCCP_RANAP_DATA_INDICATION                              0xC8

         #define  SCCP_RANAP_UNITDATA_INDICATION                    0xC9

         #define  SCCP_RANAP_CONNECT_INDICATION                     0xCA

         #define  RANAP_SCCP_CONNECT_REQUEST                           0xDB

         #define  RANAP_SCCP_DATA_REQUEST                                    0xDC

         #define  RANAP_SCCP_UNITDATA_REQUEST                          0xDD

         #define  RANAP_SCCP_DISCONNECT_REQUEST                    0xDE

         #define  RANAP_SCCP_CONNECT_RESPONSE                         0xDF

         #define     RANAP_GTPU_TEID_INFO                                         0xF1

         #define     RANAP_GTPU_UPDATE_TEID_REQ                         0xF2

         #define  RANAP_GTPU_DELETE_TEID_REQ                             0xF3

        

         /* 定时器码定义 */

         #define  Timer_TRafC                                                                 0x0000

         #define  Timer_TRELOCprep                                                    0x0001

         #define  Timer_TRELOCoverall                                                  0x0002

 

/* 常量定义 */

 

#define   USER_DATA_LEN                   500  /* 发给SCCP的消息长度 */

#define  MAX_RELOC                              10     /* 临时数组长度 */

#define  MAX_IE_NUMBER                  10     /* 最多可能出现的IE数目 */

#define  INFO_TRANS_ID_LEN          6         /* 信息传递标识的长度 */

#define     PLMN_ID_LEN                       3       /* plmn-id长度 */

#define   MAX_NAS_PDU_LEN              500  /* NAS-PDU的最大长度 */

#define     ISCI_LEN                                    3       /* iu信令连接指示符长度 */

#define  LATITUDE_LEN                          3    /*全球RNC标识的长度*/

#define  LONGTITUDE_LEN                  3    /*全球RNC标识的长度*/

#define   IGNORE                                    0x40    /* 重要性ignore */

#define     REJECT                                   0x00    /* 重要性reject */

 

 

/* 全局变量 */

         uint8_t     ie_num_com;            /* 非扩展IE的个数 */

         uint8_t  ie_num_ext;               /* 扩展IE的个数 */

         uint8_t     *ie_member_com[MAX_IE_NUMBER];       /* 存放指向非扩展IE id指针的数组 */

         uint8_t     *ie_member_ext[MAX_IE_NUMBER];         /* 存放指向扩展IE id指针的数组 */

 

/*终端数据结构定义*/

struct  ue_struct ue[128];

 

/*为终端状态定义的枚举结构*/

enum ue_status

{

         IU_UNCONNECT,

         IU_ UNCONNECT_CONNECT_WAIT,

         IU_CONNECT,

         IU_CONNECT_RELOCATION_PRE,

        IU_CONNECT_RELOCATION_IND_WAIT

};

 

 

 

/* 为每个终端定义的数据结构*/ 

 

struct rnc_structure

{

         uint8_t      uesbi-iu[16];              /* UE Specific Behaviour Information */

         uint8_t      trace_type;               /* 信元长度不确定 */

         uint8_t      trigger_id;               /* 信元长度不确定 */

         uint16_t     trace_reference;           /* 信元长度不确定 */

         uint32_t     iu_signaling_connection_identifier;        /* Iu信令连接标识符 */

         uint8_t      rab_id;                      /* RAB ID */

         uint8_t      pdp_type;                    /* PDP地址类型 */

         uint32_t     ul_teid;                       /* 上行数据传输TEID */

         uint32_t     dl_teid;                       /* 下行数据传输TEID */

         uint8_t      timer_flag;                 /* 定时器标识 */

         uint8_t      timer_state_identifier;          /* 定时器状态标识符 */

         enum ue_status   ue_state_identifier;       /* 终端状态标志符 */

};

 

struct rnc_structure rnc_ue[128]

 

 

/* RNC数据结构定义*/

 

struct globe_rnc_str

{

         uint16_t    lac;              /* 位置区码 */

         uint8_t     rac;              /* 路由区码 */

         uint16_t    sac;                                /* 服务区码 */

         uint8_t        plmn_id;                       /* 公众陆地移动通信网标识符 */

         uint16_t    rnc_id:12;             /* RNC ID */

         uint16_t    cn_id:12;            /* CN ID */

         uint8_t     cn_domain_indicator;            /* CN域标识 */

         uint8_t     information_transfer_id[INFO_TRANS_ID_LEN]      /*Information Transfer ID */

         uint8_t     reset_identifier;        /* 复位标识位 */

         uint8_t        timer_flag;                 /* 定时器标识符 */

         uint8_t        reset_num;                  /* 复位次数标识 */

         uint8_t     timer_state_identifier;                         /* 定时器状态标志位 */

         int               fd_sccp_ranap;                                       /* 接收sccp原语socket描述符 */

         int               fd_gmm_ranap;                                               /* 接收GMM原语socket描述符 */

         int               fd_ranap_gmm;                                               /* GMM发送原语socket描述符*/

         int               fd_timer_ranap;                                     /* 与定时器端口socket描述符 */

         int               fd_ranap_gtp;                                         /* gtp-u发送原语socket描述符 */

         uint8_t     *ip_addr_loc;                                     /* 本地IP地址 */         

         uint8_t     *ip_addr_rout;                                        /* 远端IP地址 */         

};


路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

发表评论 评论 (1 个评论)

回复 ccc123 2014-2-8 22:55
看着好复杂,能否详细给介绍一下吗?多谢了。。。。。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-5-2 22:39 , Processed in 0.014320 second(s), 15 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部