Random Access Procedure in LTE

Background

When you switch on smartphone for the very first time, it will start searching for the network. There is a possibility that there are many networks or to put in other words , there are many frequencies from different operators available in the air to which UE (user equipment) can connect. Therefore, UE  needs to synchronize to each frequency and check whether this is frequency from the right operator to which it wants to connect to. UE does this by going through very initial synchronisation process. Once synchronized UE reads the master information block and System information blocks to check whether this is the right PLMN. Lets assume that it finds that PLMN value to be correct and so UE will proceed with reading System information block 1 and System information block 2. The next step is known as Random Access Procedure in which the network for the first time knows that some UE is trying to get access.

At this stage, UE does not have any resource or channel available to inform network about its desire to connect to it so it will send its request over the shared medium. Now there are two possibilities at this stage, either there are many other UEs in the same area (same cell) sending same request in which there is also a possibility of collision among the requests coming from various other UEs. Such random access procedure is called contention based Random access procedure. In second scenario, network can inform UE to use some unique identity to prevent its request from colliding with requests coming from other UEs. The second scenario is called contention free or non contention based random access procedure.

RACH preambles

The concept of RACH preamble though a little confusing is important in understanding the random access procedure.

When UE sends the very first message of random access procedure to some network, it basically sends specific pattern or signature which is called RACH preambles. The preamble value differentiate requests coming from different UEs. But if two UEs uses same RACH preambles at same time then there can be collision. There are totally 64 such patterns or signature available to the UE for the very first message of random access procedure and UE will decide any one of them randomly for contention-based random access procedure but for non-contention based procedure, actually network will inform UE about which one to use

In case, when UE goes from idle state to RRC connected state, there is no way for network to inform UE about which preamble out of 64 values should be used. Therefor UE has no choice but to use one of the preambles randomly which also result in possibility of collision if the same preamble is being used by another UE, provided the requests comes at same time (same frame)

In another scenario  if UE has to take handover to another eNB, in this case actually the UE can be informed about which preamble it can use, since UE is already in connected state

Steps of Random access procedure

Random access procedure consist of four steps explained below (Only contention based procedure is shown below)


Step 1: Msg1

  • UE selects one of the 64 available RACH preambles
  • Now UE also needs to give its own identity to the network so that network can address it in next step. The identity which UE will use is called RA-RNTI (Random access radio network temporary identity). Basically its not some value sent by UE but interestingly RA RNTI is determined from the time slot number in which the preamble is sent
  • If UE does not receive any response from the network, it increases its power in fixed step and sends RACH preamble again

Step 2: Msg2

  • eNodeB sends "Random Access Response" to UE on DL-SCH (Downlink shared channel) addressed to RA-RNTI calculated from the timeslot in which preamable was sent, as explained in step 1 (about RA-RNTI calculation)
  • The message carries following information 
    • Temporary C-RNTI: Now eNB gives another identity to UE which is called temporary C-RNTI (cell radio network temporary identity) for further communication
    • Timing Advance Value: eNodeB also informs UE to change its timing so it can compensate for the round trip delay caused by UE distance from the eNodeB
    • Uplink Grant Resource: Network (eNodeB) will assign initial resource to UE so that it can use UL-SCH (Uplink shared channel)

Step 3: Msg3 

  • Using UL-SCH, UE sends "RRC connection request message" to eNodeB
  • UE is identified by temporary C-RNTI (assigned in the previous step by eNodeB)
  • The message contains following
    • UE identity (TMSI or Random Value )
      • TMSI is used if UE has previously connected to the same network. With TMSI value, UE is identified in the core network 
      • Random value is used if UE is connecting for the very first time to network. Why we need random value or TMSI? Because there is possibility that Temp-CRNTI has been assigned to more than one UEs in previous step, due to multiple requests coming at same time (Collision scenario explained later)
    • Connection establishment cause: The shows the reason why UE needs to connect to network

Step 4: Msg4

  • eNodeB responds with contention resolution message to UE whose message was successfully received in step 3. This message is address towards TMSI value or Random number (from previous steps) but contains the new C RNTI which will be used for the further communication

Collision Scenario

The above example didn't consider any collision. Collision can occur because of following example scenario
  • Lets assume two UEs send same RACH preamble at same time in step 1
  • Same Temp C-RNTI and up-link grant will be received by two UEs in step 2
  • In step 3 eNodeB may be able to receive Msg3 from only one UE or none of them due to interference. 
  • In step 4 the UE which does not receive Msg4 from eNodeB will back-off after expiration of RACH specific timers. Possibility is also that none of them receive Msg4 
  • UE which receive msg4 will move to next step and decode RRC connection setup message


For more LTE call flows, please check out this tool

57 comments:

  1. I am impressed with the content you provided. I want to thank you for this informative article. I enjoyed each aspect of it and I will be waiting for the new updates For Mi-Fi.

    ReplyDelete
  2. Really it's an appreciated sharing.

    Thank you so much.

    ReplyDelete
  3. just a type ..its PLMN and not PMLN :)

    ReplyDelete
  4. I'm impressed with your ability to summarize such complex matter. Thanks a lot!

    ReplyDelete
  5. Please visit website www.telecomtube.com
    for telecom jobs. Thanks

    ReplyDelete
  6. Good explanation , hope more from u..

    ReplyDelete
  7. excellent job, you should go on publishing. thanks a lot

    ReplyDelete
    Replies
    1. Too busy with current job But i will start again :)

      Delete
  8. Excellent explanation. It shows most of the main ideas in RA. How about the non-contention based RA procedure?

    ReplyDelete
  9. What happens when eNodeB receives RRC Conn Req from both UE's ? What will UE do then ? Which UE is given more preference then ?

    ReplyDelete
    Replies
    1. Due to intereference only one or none of the UE will be able to send RRC Conn Req message

      Delete
    2. This comment has been removed by the author.

      Delete
    3. Due to interference Enb receives msg3 from only one UE and it sends CRM to respective UE with CCCH-SDU which contains UE-id(random value/IMSI). After receiving CCCH-SDU and matching the id, UE will change its temp-crnti to crnti and give ack to ENB on PUCCH.

      Delete
  10. The RACH process is explained very well.

    thanks so much.

    ReplyDelete
  11. Hi Adnan Basir
    Good work....Nicely explained complex topic....Keep it up...

    Thanks
    Vijay

    ReplyDelete
  12. Hi, I am a Telecom engineer and has done some research on LTE networks. I want to contribute to the blog. Kindly send me your email where i can contact you and send my contact

    ReplyDelete
    Replies
    1. Please post your email here , I will contact you then

      Delete
  13. Remaining concept is clear and thanks for blog...
    If LTE-UE come to the network first time means,why it is not using IMSI in RRC connection Requst.what is this random value and from where we are getting this one...

    ReplyDelete
    Replies
    1. There will be security issue with using IMSI in RRC connection request since the communication is not encrypted yet. The random value is generated based on the time slot number in which the preamble was sent

      Delete
  14. Hi....
    In the Random access procedure,preamble selection is done from the two groups A and B (ts36.321relv10 ,5.1.2) and these groups contains set of preambles.what is the significance of these two groups.how the preamble set is divided into these two groups???

    ReplyDelete
    Replies
    1. The UE selects one of the (64 - ( number of preamble reserved by ENB for contention free rach)). The set of contention-based preamble is further sub-divided into two subgroups, so that the choice of preamble can carry one bit of information relating to the amount of transmission resource needed to transmit th Msg3. Information related to preambles will be transmitted in SIB2.
      While selecting the preamble UE will take into account the current downlink path-loss and the required transmission power for Msg3 transmission.

      Delete
  15. This comment has been removed by the author.

    ReplyDelete
  16. Hi
    can anyone tell me the data transmission rate for RACH

    Thanks

    ReplyDelete
  17. Good article but i have one input to make. In Step1 of your message.

    I believe the UE generate this RA-RNTI using this formula RA_RNTI= 1 + t_id+10*f_id (t_id indicates the start subframe number, f_id indicate the frequency offset of PRACH).
    The frequency offset of the PRACH is sent to the UE in SIB2. remember, the UE has already finished downlink synchronization before the Random Access process (uplink synchronization) so the UE already know the location of SIB2.

    ReplyDelete
  18. explained in simple terms.. easy for beginners to grasp.. Thanks :)

    ReplyDelete
  19. hiii adnan

    One thing i wud like to add. In msg4 eNb sends contention resolution identity which has exactly same CCCH SDU as contained by the UE which has won contention resolution.. Please comment.

    ReplyDelete
  20. Hi Adam - Excellent info. Would you by chance know if there is a way to use "spare1" or "spare2" Establishment Cause for a special/priority service request? If so, would there be any changes required to the MME besides the UE and the eNodeB?

    ReplyDelete
  21. This comment has been removed by the author.

    ReplyDelete
  22. Hi Adam, Thanks a lot for the site. The thing I like about it is that it's explained in a very simple way and it's a very complete site. I'm starting in LTE.

    I have a question:
    " The preamble value differentiate requests coming from different UEs". So it's kind of a way to identify the UE right ?

    Then I read:

    "- UE selects one of the 64 available RACH preambles
    - Now UE also needs to give its OWN IDENTITY to the network so that network can address it in next step. The identity which UE will
    use is called RA-RNTI (Random access radio network temporary identity)."

    So I'm confused because it looks like there are 2 consecutives identity sent... why not just one ?

    Thanks a lot.

    ReplyDelete
    Replies
    1. No, using just a preamble UE can not be differentiated because multiple UEs can do rach at same time with same preamble index thats why contention will be there.But because of interference only one UE's or no UEs rach can reach to ENB.Next Enb will send RAR(which includes T-RNTI) to UE scrambled with RA-RNTI on PDSCH along with UL grant to send msg3 which actually includes UE-identity(Random number / IMSI).
      Next ENB will send ACK to UE along with CRM which includes the same CCCH-SDU as msg3 to resolve the contention,So UE will match its identity with the identity present in CCCH-SDU and convert its T-CRNTI to CRNTI and send ack to ENB over a PUCCH to get RRC_Connection_Setup.

      Delete
  23. Thank you buddy good explanation...

    ReplyDelete
  24. In RACH Response what is the logical channel.If answer is RACH ,then in LTE rach is both UL and DL channel???????????

    ReplyDelete
  25. In RACH Response what is the logical channel.If answer is RACH ,then in LTE rach is both UL and DL channel???????????

    ReplyDelete
    Replies
    1. No Rach will always be done on PRACH but about RAR its scheduling information will come on PDCCH for which DCI will be scrambled with RA-RNTI and response will always come on PDSCH.

      Delete
  26. This comment has been removed by the author.

    ReplyDelete
  27. 100 ue's are same T-CRNTI and same preamble OR subframe sending in msg3, then how many ue's get Contention successful, remaining ue's how to identify contention failure.

    ReplyDelete
  28. This comment has been removed by the author.

    ReplyDelete
  29. How are Preamble signal collions (interference vs. premable signature collisons once the signal is decoded) prevented on the LTE PRACH such that they both can be decoded? Can both Preambles be received during the same time slot but offset such that both signals are received during separate windows within the time slot? If yes then if two signals are received during the same window is this simply a signal collision that can't be decoded?

    ReplyDelete
  30. Hello could you please help me here .
    2 UE successfully sent rrc connection request message through the same resource allocation by the network . now enodeb will send CRI which is the reflection of the RRCconnectionRequest as generated by one of the UE.How or on which basis enodeb will decide to send CRI to which UE out of two UEs.

    ReplyDelete
  31. Wow this was a great summarization of a pretty complex procedure. Please author RRC Connection Establishment next!!

    ReplyDelete
  32. Excellent tutorial...went searching whole day, this is the best I can get !

    ReplyDelete
  33. Precise and very informative..Thanks

    ReplyDelete
  34. This comment has been removed by the author.

    ReplyDelete
  35. Very Well Written. Appreciate your effort. Thanks for sharing.

    ReplyDelete
  36. I have seen examples where the Preamble is transmitted multiple times beyond the max. I was under the impression the number of re-transmissions are kept to a minimum but this does not appear to be the case. I have seen a SIB2 message with preambleTransMax = 10 but the UE sends 19 preambles without reply!

    ReplyDelete
  37. Hi. I have some questions.
    1. When UE tell eNB resources that need? in 2nd step or 4th step?
    2. In RACH procedure what happen if the eNB can not allocate resources to UE? In the other words suppose that 64 UEs can pass 1st step. what happen if resources were limited and It can not allocate resources to all 64 users?
    Thanks

    ReplyDelete