RRC Library

Introduction

The RRC library is a module that extends the GLCT with the capability to implement GPS aspects of the RRC protocol. The module accepts incoming RRC messages, acts upon them, and generates RRC responses.

The RRC library is designed as an independent module. It has its own abstraction layer through which it talks with the GLCT on one hand and the protocol stack on the other.

The RRC library is used internally within the ADS Application Request Processor to process RRC messages received from the Spirent ULTS. See ADS/RRC Application Request Processor for more information on the ADS application. The source code the the ADS ARP is available as sample code for this interface.

Initializing the RRC library.

The function glrrcInit() is called to initialize the RRC library.

Delivering RRC messages to the RRC library.

To deliver an RRC message to the library, the function glrrc_DL_DCCH() is called with a pointer to the message.

Setting the UE state

To implement the RRC protocol the library requires knowledge of the current state of the user element (UE). To set this state the function glrrcUeState() is used. The possible states are defined by GL_RRC_UE_STATE and include:

  • GL_RRC_STATE_CELL_DCH,
  • GL_RRC_STATE_CELL_FACH,
  • GL_RRC_STATE_CELL_PCH,
  • GL_RRC_STATE_URA_PCH,
  • GL_RRC_STATE_IDLE

Processing a Type 15 message

To input a Type 15 message to the RRC processing the function glrrcSIB() is used.

The possible message types are:

  • GL_RRC_SIB_15,
  • GL_RRC_SIB_15_2,
  • GL_RRC_SIB_15_3

Sending messages from the RRC library to the network

When the library needs to send a message back to the network it invokes the callback glcb_rrc_Send(). The HAL must include an implementation of this function to send data to the RRC stack.

Providing visibility into an RRC session

The RRC library calls the following functions to inform the upper level stack that an RRC session is in progress or complete.

Aborting an RRC session

To abort an RRC session the function glrrcAbort() is called.

Interfaces between the RRC library and the GLCT

There interfaces between the RRC library and the GLCT are abstracted to provide visibility to this interface. An examples of these functions is glcb_rrc_SetReferenceTime() which the RRC library uses to send reference time to the GPS core software. Broadcom supplies implementations for all these callbacks; nothing needs to be developed to use the software as supplied.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines