4G/LTE - Multi Cell

 

 

 

 

LTE to WCDMA CSFB

 

Before you go through this, I recommend you to read through CS Fallback page if you are totally new to the concept of CS Fallback.

 

There are several variations in CS Fallback. (NOTE : All of these are based  on the assumption that VoLTE is not supported)

    i) Somebody make a voice call to you when you are in <Idle in LTE>. (CSFB is triggered by Paging message)

    ii) You make a voice call when you are in <Idle in LTE>

    iii) Somebody make a voice call to you while you are in <Connected Mode in LTE> and you switch to a legacy network by Redirection.

    iv) Somebody make a voice call to you while you are in <Connected Mode in LTE> and you switch to a legacy network by Handover.

    v) You make a voice call when you are in <Connected Mode in LTE> and you switch to a legacy network by Redirection.

    vi) You make a voice call when you are in <Connected Mode in LTE> and you switch to a legacy network by Handover.

 

Following is an example of CS Fallback from LTE to WCDMA Voice Call triggered by MT Voice Call. (If you remove Step 11, 12, it is almost same as MO CSFB sequence)

 

Step

Direction

Message

Target Cell

Memo

1

UE <---> SS

< Power On >

Cell 1

 

2

UE <---> SS

< PRACH and RACH Response >

Cell 1

 

3

UE ---> SS

RRC Connection Request

Cell 1

 

4

UE <--- SS

RRC Connection Setup

Cell 1

 

5

UE ---> SS

RRC Connection Setup Complete + Attach Request + PDN Conn Req

Cell 1

 

6

UE <---> SS

< NAS : Security Mode Establishment >

Cell 1

 

7

UE ---> SS

< RRC : Security Mode Establishment >

Cell 1

 

8

UE <--- SS

RRC Connection Reconfiguration  + Attach Accept + ...

Cell 1

 

9

UE ---> SS

RRCConnectionReconfigurationComplete / Attach Complete / ...

Cell 1

 

10

UE <---> SS

< Packet Data Transaction >

Cell 1

 

11

SS

LTE Network Gets CS Notification from WCDMA NW    

12

UE <--- SS

CS Service Notification with Paging Identity

Cell 1

 

13

UE ---> SS

Extended Service Request

Cell 1

 

14

UE <--- SS

RRC Connection Release with Redirected Carrier Info

Cell 1

 

15

UE <---> SS

< RRC Connection Setup with cause of terminatingConversationCall >

Cell 2

 

16

UE ---> SS

Routing Area Update Request

Cell 2

 

17

UE <---> SS

< Authentication >

Cell 2

 

18

UE <---> SS

< Voice Call Setup >

Cell 2

 

19

UE <---> SS

< End Voice Call >

Cell 2

 
20   What will happen here ?    

 

One important thing to notice is that 'EPS/IMSI combined Attach' process should be properly completed during the attach process (Step 3 ~ 9).

 

If I decribe the combined attach process including core network activity, it goes as follows.

i) UE send the Attach Request to MME. In this message, the attach type should be 'EPS/IMSI Combined Attach' and this means that UE is capable and configured to use CS fallback. If UE support SMS only in CS domain and does not support CSFB, UE have to indicate 'SMS-only'.

ii) MME allocate a default LAI and derives the VLR number based on the allocated LAI and IMSI.

iii) MME sends a Location Update Request message to VLR. This Location Update Request message contains new LAI, IMSI, MME IP, Location Update Type etc.

iv) The VLR stores the MME address

v) The VLR performs Location Updating procedure in CS domain

vi) The VLR sends Location Update Accept with TMSI to the MME

vii) The MME send Attach Accept carrying LAI and TMSI. The existence of LAI and TMSI in the Attach Accept message indicates successful attach to CS domain.

 

 

Followings are the two messages that triggers CSFB process.

 

< CS Service Notification >

 

    +-c1 ::= CHOICE [dlInformationTransfer]

      +-dlInformationTransfer ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [dlInformationTransfer-r8]

            +-dlInformationTransfer-r8 ::= SEQUENCE [0]

              +-dedicatedInfoType ::= CHOICE [dedicatedInfoNAS]

              | +-dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [270DCBC04504076401]

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

    CS service notification ::= DIVISION

      +-Security header type ::= V

      | +-Security header type ::= CHOICE [Plain NAS message, not security protected]

      +-EPS mobility management protocol discriminator ::= V

      | +-Protocol discriminator ::= PD [7]

      +-CS service notification message identity ::= V

      | +-Message type ::= MSG [64]

      +-Paging identity ::= V

      | +-Octet1 ::= DIVISION

      |   +-spare ::= FIX [0]

      |   +-Paging identity value ::= CHOICE [TMSI]

      +-CLI ::= TLV OPTIONAL:Omit

      | +-Octet1 ::= DIVISION

      | | +-CLI IEI ::= IEI [60]

      | +-Octet2 ::= DIVISION

      | | +-Length of CLI ::= LEN (0..255) [0]

      | +-Octet3 ::= DIVISION

      | | +-ext ::= EXT (0..1) [1]

      | | +-type of number ::= INT (0..7) [0]

      | | +-Numbering plan identification ::= INT (0..15) [0]

      | +-Octet3a ::= DIVISION

      | | +-ext ::= EXT1 [1]

      | | +-presentation indicator ::= CHOICE [Presentation allowed]

      | | +-spare ::= FIX [0]

      | | +-screening indicator ::= CHOICE [User-provided, not screened]

      | +-Octet4-12 ::= DIVISION

      |   +-Number digit ::= DIGIT SIZE(0..10)

      +-SS Code ::= TV OPTIONAL:Omit

      | +-Octet1 ::= DIVISION

      | | +-SS Code IEI ::= IEI [61]

      | +-Octet2 ::= DIVISION

      |   +-SS Code value ::= CHOICE [allSS]

      +-LCS indicator ::= TV OPTIONAL:Omit

      | +-Octet1 ::= DIVISION

      | | +-LCS indicator IEI ::= IEI [62]

      | +-Octet2 ::= DIVISION

      |   +-LCS indicator value ::= CHOICE [MT-LR]

      +-LCS client identity ::= TLV OPTIONAL:Omit

        +-Octet1 ::= DIVISION

        | +-LCS client identity IEI ::= IEI [63]

        +-Octet2 ::= DIVISION

        | +-Length of LCS client identity ::= LEN (0..255) [0]

        +-Octet3- ::= DIVISION

          +-LCS client identity(value part) ::= OCTETARRAY SIZE(0..255) [00]

 

< Extended Service Request >

 

+-c1 ::= CHOICE [ulInformationTransfer]

      +-ulInformationTransfer ::= SEQUENCE

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [ulInformationTransfer-r8]

            +-ulInformationTransfer-r8 ::= SEQUENCE [0]

              +-dedicatedInfoType ::= CHOICE [dedicatedInfoNAS]

              | +-dedicatedInfoNAS ::= OCTET STRING SIZE(ALIGNED) [274D83AB1F04074C0105F400000001B1]

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

     

    NAS_LTE:EMM,Extended service request

    Extended service request ::= DIVISION

      +-Security header type ::= V

      | +-Security header type ::= CHOICE [Plain NAS message, not security protected]

      +-EPS mobility management protocol discriminator ::= V

      | +-Protocol discriminator ::= PD [7]

      +-Extended service request message identity ::= V

      | +-Message type ::= MSG [4C]

      +-NAS key set identifier ::= V

      | +-TSC ::= CHOICE [native security context (for KSI ASME)]

      | +-NAS key set identifier ::= CHOICE [possible values for the NAS key set identifier 0]

      +-Service type ::= V

      | +-Service type value ::= CHOICE [mobile terminating CS fallback or 1xCS fallback]

      +-M-TMSI ::= LV

      | +-Octet1 ::= DIVISION

      | | +-Length of mobile identity contents ::= LEN (0..255) [5]

      | +-Octet2 ::= DIVISION

      | | +-Identity digit 1 ::= INT (0..15) [15]

      | | +-Odd/even indication ::= CHOICE

                                    [even number of identity digits and also when the TMSI/P-TMSI is used]

      | | +-Type of identity ::= CHOICE [TMSI/P-TMSI/M-TMSI]

      | +-Octet3-Octet6 ::= DIVISION

      |   +-Identity digit p ::= OCTETARRAY SIZE(0..4) [00000001]

      +-CSFB response ::= TV OPTIONAL:Exist

        +-Octet1 ::= DIVISION

          +-CSFB response IEI ::= IEI [B-]

          +-spare ::= FIX [0]

          +-CSFB response value ::= CHOICE [CS fallback accepted by the UE]

 

One of the important steps of CSFB is to optimize 'RRC Release' message from LTE network. (This is step 14 in the example sequence of this section).  This is important step because the time delay (Redirection Delay) between LTE RRC Release and UMTS PRACH may vary depending on how much detailed information that this message carries. As far as I experienced, there may be several different types of RRC Release message as shown below (These are only examples)

 

< RRC Connection Release - Release 8>

 

DL-DCCH-Message ::= SEQUENCE

  +-message ::= CHOICE [c1]

    +-c1 ::= CHOICE [rrcConnectionRelease]

      +-rrcConnectionRelease ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [rrcConnectionRelease-r8]

            +-rrcConnectionRelease-r8 ::= SEQUENCE [100]

              +-releaseCause ::= ENUMERATED [other]

              +-redirectedCarrierInfo ::= CHOICE [utra-FDD] OPTIONAL:Exist

              | +-utra-FDD ::= INTEGER (0..16383) [9900]

              +-idleModeMobilityControlInfo ::= SEQUENCE OPTIONAL:Omit

              +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

< RRC Connection Release - Release 9 with PCI only and No BCCH Information >

 

DL-DCCH-Message ::= SEQUENCE

  +-message ::= CHOICE [c1]

    +-c1 ::= CHOICE [rrcConnectionRelease]

      +-rrcConnectionRelease ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [rrcConnectionRelease-r8]

            +-rrcConnectionRelease-r8 ::= SEQUENCE [101]

              +-releaseCause ::= ENUMERATED [other]

              +-redirectedCarrierInfo ::= CHOICE [utra-FDD] OPTIONAL:Exist

              | +-utra-FDD ::= INTEGER (0..16383) [9900]

              +-idleModeMobilityControlInfo ::= SEQUENCE OPTIONAL:Omit

              +-nonCriticalExtension ::= SEQUENCE [01] OPTIONAL:Exist

                +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

                +-nonCriticalExtension ::= SEQUENCE [10] OPTIONAL:Exist

                  +-cellInfoList-r9 ::= CHOICE [utra-FDD-r9] OPTIONAL:Exist

                  | +-utra-FDD-r9 ::= SEQUENCE OF SIZE(1..maxCellInfoUTRA-r9[16]) [1]

                  |   +-CellInfoUTRA-FDD-r9 ::= SEQUENCE

                  |     +-physCellId-r9 ::= INTEGER (0..511) [202]

                  |     +-utra-BCCH-Container-r9 ::= OCTET STRING SIZE(ALIGNED)

                  +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

 

< RRC Connection Release - Release 9 with PCI and BCCH Information >

 

DL-DCCH-Message ::= SEQUENCE

  +-message ::= CHOICE [c1]

    +-c1 ::= CHOICE [rrcConnectionRelease]

      +-rrcConnectionRelease ::= SEQUENCE

        +-rrc-TransactionIdentifier ::= INTEGER (0..3) [0]

        +-criticalExtensions ::= CHOICE [c1]

          +-c1 ::= CHOICE [rrcConnectionRelease-r8]

            +-rrcConnectionRelease-r8 ::= SEQUENCE [101]

              +-releaseCause ::= ENUMERATED [loadBalancingTAUrequired]

              +-redirectedCarrierInfo ::= CHOICE [utra-FDD] OPTIONAL:Exist

              | +-utra-FDD ::= INTEGER (0..16383) [9900]

              +-idleModeMobilityControlInfo ::= SEQUENCE OPTIONAL:Omit

              +-nonCriticalExtension ::= SEQUENCE [01] OPTIONAL:Exist

                +-lateNonCriticalExtension ::= OCTET STRING OPTIONAL:Omit

                +-nonCriticalExtension ::= SEQUENCE [10] OPTIONAL:Exist

                  +-cellInfoList-r9 ::= CHOICE [utra-FDD-r9] OPTIONAL:Exist

                  | +-utra-FDD-r9 ::= SEQUENCE OF SIZE(1..maxCellInfoUTRA-r9[16]) [1]

                  |   +-CellInfoUTRA-FDD-r9 ::= SEQUENCE

                  |     +-physCellId-r9 ::= INTEGER (0..511) [9]

                  |     +-utra-BCCH-Container-r9 ::= OCTET STRING SIZE(ALIGNED) [285084403C...00]

                  +-nonCriticalExtension ::= SEQUENCE OPTIONAL:Omit

 

For the fully decoded example of this message, see this file.

 

 

20) What will happen ?

 

From the beginning of SRVCC (or SCFB as well), there has been many questions about this. What will or What should happen when the voice call is finished.  

As far as I know there is no 3GPP specifiction on what should happen at this stage. I think it is all up to UE implementation and Network Operator's requirement.

First, let's think of all the possible scenarios that can happen at this stage. Followings are the list that I can think of

  • Case 1 : If any packet data is established along with the voice call, UE (Network) keep staying at WCDMA connection mode until the packet call is finished.
  • Case 2 : (If there is no background packet call). Network sends 'RRC Connection Release' when the voice call ends and UE goes to WCDMA Idle and stay in WCDMA Idle.
  • Case 3 : (If there is no background packet call). Network sends 'RRC Connection Release' when the voice call ends and UE goes to WCDMA Idle and UE performs cell reselction to LTE cell (Usually in this case, LTE cell is set to be preferred cell in UE setting or Network assigns LTE with higher priority)
  • Case 4 : (Regardless of whether this is background packet call or not). Network sends RRC Connection Release with Redirection to LTE cell and UE is forced to go back to LTE cell as soon as it finish the voice call.