4G/LTE - Voice in LTE

 

 

 

 

Voice over LTE/IMS

 

VoLTE literally stands for "Voice over LTE". But when people say "VoLTE" (in abbreviation) it usually mean "Voice over LTE utilizing IMS". (You would need to read the context to figure out what they say. Are they talking about 'general voice technology implementation over LTE' or "Voice over LTE utilizing IMS" ?)

 

Theoretically you can use the IP/SIP based application for voice call on LTE as you do with your PC and other IP phone. Then what would be the difference between VoLTE and generic IP based voice call. The simple answer is that VoLTE over IMS can be specially optimized for voice traffic not only in terms of core network but also in terms of radio stack, whereas generic IP based voice call is just 'best effort' type of application which can hardly be optimized for voice traffic and no guaranteed quality of service.

 

When we are thinking about VoLTE, we have to look into two layers. One is about Application Layer (SIP/IMS Layer) and the other one is about Access Network Layer (Radio Layer).

 

Following is the topics that I will talk about in this page.

 

 

 

SIP/IMS Transaction - Overall SIP/IMS Sequence

 

One common transaction for VoLTE at SIP/IMS layer would be as shown below, but the detailed implementation may vary on the requirement from Carriers.

 

Following is a very basic SIP sequence from IMS Registration through VoLTE. This log were captured under following conditon. (With VoLTE in real network, you would not see this kind of simplified log since most of live network would enable Authentication and require Precondition)

  • Authentication = OFF
  • Precondition = OFF

 

Actually each of the SIP message shown above has a lot of details and desribed acorss multiple specification. If you are interested in more details of each of these messages and parameters, refer to following links

 

 

 

Radio Layer Configuration

 

There can be almost inifinite number of variations in terms of radio stack configurations for VoLTE over. Followings would be the most common configuration in very high level view.

 

Case 1 :

 

 

Case 2 :

 

 

Case 3 :

 

 

 

 

NAS Messages - Related to IMS/VoLTE

 

Attach request ::= DIVISION

  ....

  | +-Octet6 ::= DIVISION

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

  | | +-1xSRVCC ::= CHOICE [SRVCC from E-UTRAN to cdma2000 1xCS not supported]

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

  | +-Octet7-14 ::= DIVISION

  |   +-Spare ::= OCTETARRAY SIZE(0..8) [00]

  ....

  +-MS network capability ::= TLV OPTIONAL:Exist

  ....

  |     +-SRVCC to GERAN/UTRAN capability ::= CHOICE [SRVCC from UTRAN HSPA or E-UTRAN to

          GERAN/UTRAN not supported]

  +-Voice domain preference and UE's usage setting ::= TLV OPTIONAL:Exist

    +-Octet1 ::= DIVISION

    | +-Voice domain preference and UE's usage setting IEI ::= IEI [5D]

    +-Octet2 ::= DIVISION

    | +-Length of Voice domain preference and UE's usage setting contents ::= LEN (0..255) [1]

    +-Octet3 ::= DIVISION

      +-Spare ::= FIX [0]

      +-UE's usage setting ::= CHOICE [Voice centric]

        // This IE has following choices

        //    : Voice Centric,

                Data Centric,

      +-Voice domain preference for E-UTRAN ::= CHOICE [CS Voice only]

      // This IE has following choices

       //   : CS Voice Only,

             IMS PS Voice Only,

             CS Voice Prefered IMS PS Voice as Secondary

              IMS PS Voice Prefered CS Voice as Secondary

 

 

Attach accept ::= DIVISION

  .....

  +-EPS network feature support ::= TLV OPTIONAL:Exist

  | +-Octet1 ::= DIVISION

  | | +-EPS network feature support IEI ::= IEI [64]

  | +-Octet2 ::= DIVISION

  | | +-Length of EPS network feature support contents ::= LEN (0..255) [1]

  | +-Octet3 ::= DIVISION

  |   +-Spare ::= FIX [0]

  |   +-IMS VoPS ::= CHOICE [IMS voice over PS session in S1 mode supported]

                     // This IE has following choices

                     // IMS voice over PS session in S1 mode supported

                     // IMS voice over PS session in S1 mode not supported

  +-Additional update result ::= TV OPTIONAL:Omit

    +-Octet1 ::= DIVISION

      +-Additional update result IEI ::= IEI [F-]

      +-Spare ::= FIX [0]

      +-Additional update result value ::= CHOICE [no additional information]

 

 

 

Example 1 : Overal Procedure for VoLTE (Both Radio Signaling and IMS Signaling)

 

Following is the very simplified procedure of protocol sequence from UE Power On to VoLTE Call Setup. You may click the link if you want to get the detailed sequence.

 

NOTE : If you want to see the contents of full log with Amarisoft Log viewer, go to LogAnalysis section and click on 'Sample Log' in this tutorial of Amarisoft TechAcademy.

 

2) < RRC Connection Reconfiguration : Attach Accept, Default EPS Bearer for Internet APN >

 

rrcConnectionReconfiguration-r8

    dedicatedInfoNASList: 1 item

        Item 0

            DedicatedInfoNAS: 2732c69fbd02074202e0060000f110000000365226c10109...

                Non-Access-Stratum (NAS)PDU

                    ...

                    ESM message container

                        Length: 54

                        ESM message container contents: ...

                            0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)

                            .... 0010 = Protocol discriminator:

                                         EPS session management messages (0x02)

                            Procedure transaction identity: 38

                            NAS EPS session management messages:

                                         Activate default EPS bearer context request (0xc1)

                            EPS quality of service

                                Length: 1

                                Quality of Service Class Identifier (QCI): QCI 9 (9)

                            Access Point Name

                                Length: 8

                                APN: internet

                            PDN address

                                Length: 5

                                0000 0... = Spare bit(s): 0x00

                                PDN type: IPv4 (1)

                                PDN IPv4: 192.168.1.1 (192.168.1.1)

                            Protocol Configuration Options

                                Element ID: 0x27

                                Length: 27

                                [Link direction: Network to MS (1)]

                                1... .... = Extension: True

                                Configuration Protocol: ...

                                Protocol or Container ID:

                                                   Internet Protocol Control Protocol (0x8021)

                                    Length: 0x10 (16)

                                    PPP IP Control Protocol

                                        Code: Configuration Nak (3)

                                        Identifier: 0 (0x00)

                                        Length: 16

                                        Options: (12 bytes), ...

                                            Primary DNS Server IP Address: 192.168.1.2

                                                Type: Primary DNS Server IP Address (129)

                                                Length: 6

                                                Primary DNS Address: 192.168.1.2 (192.168.1.2)

                                            Secondary DNS Server IP Address: 192.168.1.3

                                                Type: Secondary DNS Server IP Address (131)

                                                Length: 6

                                                Secondary DNS Address: 192.168.1.3 (192.168.1.3)

                                Protocol or Container ID: DNS Server IPv4 Address (0x000d)

                                    Length: 0x04 (4)

                                    IPv4: 192.168.1.2

                    EPS mobile identity - GUTI

                        ...

                    Location area identification

                        ...

                    Mobile identity - MS identity - TMSI/P-TMSI (0x0001)

                        ...

                    GPRS Timer - T3402 value

                        ...

                    GPRS Timer - T3423 value

                        ...

                    EPS network feature support

                        Element ID: 0x64

                        Length: 1

                        00.. .... = Spare bit(s): 0x00

                        ..0. .... = ESRPS: ...

                        ...0 0... = CS-LCS: ...

                        .... .0.. = EPC-LCS: location services via EPC not supported

                        .... ..1. = EMC BS: emergency bearer services in S1 mode supported

                        .... ...1 = IMS VoPS: IMS voice over PS session in S1 mode supported

    radioResourceConfigDedicated

        srb-ToAddModList: 1 item

            ...

        drb-ToAddModList: 1 item

            Item 0

                DRB-ToAddMod

                    eps-BearerIdentity: 5

                    drb-Identity: 1

                    pdcp-Config

                        ...

                    rlc-Config: am (0)

                        ...

                    logicalChannelIdentity: 3

                    logicalChannelConfig

                        ul-SpecificParameters

                            priority: 13

                            prioritisedBitRate: kBps8 (1)

                            bucketSizeDuration: ms100 (1)

                            logicalChannelGroup: 2

        mac-MainConfig: explicitValue (0)

            explicitValue

                ul-SCH-Config

                    ...

                drx-Config: setup (1)

                    ...

                timeAlignmentTimerDedicated: infinity (7)

                phr-Config: setup (1)

                    ...

                mac-MainConfig-v1020

        physicalConfigDedicated

            tpc-PDCCH-ConfigPUCCH: setup (1)

                setup

                    ...

            tpc-PDCCH-ConfigPUSCH: setup (1)

                setup

                    ...

            antennaInfo: defaultValue (1)

 

 

ulInformationTransfer-r8

    dedicatedInfoType: dedicatedInfoNAS (0)

        dedicatedInfoNAS: 279489aabb02074300035200c2

            Non-Access-Stratum (NAS)PDU

                0010 .... = Security header type: Integrity protected and ciphered (2)

                .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                Message authentication code: 0x9489aabb

                Sequence number: 2

                0000 .... = Security header type: Plain NAS message, not security protected (0)

                .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                NAS EPS Mobility Management Message Type: Attach complete (0x43)

                ESM message container

                    Length: 3

                    ESM message container contents: 5200c2

                        0101 .... = EPS bearer identity: EPS bearer identity value 5 (5)

                        .... 0010 = Protocol discriminator: EPS session management messages (0x02)

                        Procedure transaction identity: 0

                        NAS EPS session management messages:

                                          Activate default EPS bearer context accept (0xc2)

                                       defaultValue: NULL

 

 

3) < PDN Connectivity Request : for ims APN >

 

ulInformationTransfer-r8

    dedicatedInfoType: dedicatedInfoNAS (0)

        dedicatedInfoNAS: 27ff2b2869030227d021280403696d732710800003000001...

            Non-Access-Stratum (NAS)PDU

                0010 .... = Security header type: Integrity protected and ciphered (2)

                .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                Message authentication code: 0xff2b2869

                Sequence number: 3

                0000 .... = EPS bearer identity: No EPS bearer identity assigned (0)

                .... 0010 = Protocol discriminator: EPS session management messages (0x02)

                Procedure transaction identity: 39

                NAS EPS session management messages: PDN connectivity request (0xd0)

                0010 .... = PDN type: IPv6 (2)

                .... 0001 = Request type: initial request (1)

                Access Point Name

                    Element ID: 0x28

                    Length: 4

                    APN: ims

                Protocol Configuration Options

                    Element ID: 0x27

                    Length: 16

                    [Link direction: MS to network (0)]

                    1... .... = Extension: True

                    Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

                    Protocol or Container ID: DNS Server IPv6 Address Request (0x0003)

                        Length: 0x00 (0)

                    Protocol or Container ID: P-CSCF IPv6 Address Request (0x0001)

                        Length: 0x00 (0)

                    Protocol or Container ID: IP address allocation via NAS signalling (0x000a)

                        Length: 0x00 (0)

                    Protocol or Container ID:

                               MS Support of Network Requested Bearer Control indicator (0x0005)

                        Length: 0x00 (0)

                    Protocol or Container ID: IPv4 Link MTU Request (0x0010)

                                                Length: 0x00 (0)

 

 

4) < RRC Connection Reconfiguration : Default EPS Bearer for ims APN >

 

rrcConnectionReconfiguration-r8

    dedicatedInfoNASList: 1 item

        Item 0

            DedicatedInfoNAS: 279e2205e3046227c101090403696d730902000000000000...

                Non-Access-Stratum (NAS)PDU

                    0010 .... = Security header type: Integrity protected and ciphered (2)

                    .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                    Message authentication code: 0x9e2205e3

                    Sequence number: 4

                    0110 .... = EPS bearer identity: EPS bearer identity value 6 (6)

                    .... 0010 = Protocol discriminator: EPS session management messages (0x02)

                    Procedure transaction identity: 39

                    NAS EPS session management messages:

                               Activate default EPS bearer context request (0xc1)

                    EPS quality of service

                        Length: 1

                        Quality of Service Class Identifier (QCI): QCI 5 (5)

                    Access Point Name

                        Length: 4

                        APN: ims

                    PDN address

                        Length: 9

                        0000 0... = Spare bit(s): 0x00

                        PDN type: IPv6 (2)

                        PDN IPv6 if id: 0000000000000011

                    Protocol Configuration Options

                        Element ID: 0x27

                        Length: 39

                        [Link direction: Network to MS (1)]

                        1... .... = Extension: True

                        Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)

                        Protocol or Container ID: DNS Server IPv6 Address (0x0003)

                            Length: 0x10 (16)

                            IPv6: 2001:0:0:1::2

                        Protocol or Container ID: P-CSCF IPv6 Address (0x0001)

                            Length: 0x10 (16)

                            IPv6: 2001:0:0:1::2

    radioResourceConfigDedicated

        drb-ToAddModList: 1 item

            ...

                    logicalChannelIdentity: 4

                    logicalChannelConfig

                        ul-SpecificParameters

                            priority: 13

                            prioritisedBitRate: kBps8 (1)

                            bucketSizeDuration: ms100 (1)

                            logicalChannelGroup: 2

        mac-MainConfig: explicitValue (0)

            explicitValue

                ul-SCH-Config

                    ...

                drx-Config: setup (1)

                    ...

                timeAlignmentTimerDedicated: infinity (7)

                phr-Config: setup (1)

                    ...

                mac-MainConfig-v1020

        physicalConfigDedicated

            tpc-PDCCH-ConfigPUCCH: setup (1)

                ...

            tpc-PDCCH-ConfigPUSCH: setup (1)

                ...

            antennaInfo: defaultValue (1)

 

 

8) < RRC Connection Reconfiguration : Dedicated EPS Bearer for ims APN >

 

rrcConnectionReconfiguration-r8

    dedicatedInfoNASList: 1 item

        Item 0

            DedicatedInfoNAS: 27b6fac978057200c506050131313131172230100840c35a...

                Non-Access-Stratum (NAS)PDU

                    0010 .... = Security header type: Integrity protected and ciphered (2)

                    .... 0111 = Protocol discriminator: EPS mobility management messages (0x07)

                    Message authentication code: 0xb6fac978

                    Sequence number: 5

                    0111 .... = EPS bearer identity: EPS bearer identity value 7 (7)

                    .... 0010 = Protocol discriminator: EPS session management messages (0x02)

                    Procedure transaction identity: 0

                    NAS EPS session management messages:

                                  Activate dedicated EPS bearer context request (0xc5)

                    0000 .... = Spare half octet: 0

                    .... 0110 = Linked EPS bearer identity: EPS bearer identity value 6 (6)

                    EPS quality of service

                        Length: 5

                        Quality of Service Class Identifier (QCI): QCI 1 (1)

                        Maximum bit rate for uplink: 49 kbps

                        Maximum bit rate for downlink: 49 kbps

                        Guaranteed bit rate for uplink: 49 kbps

                        Guaranteed bit rate for downlink: 49 kbps

                    Traffic Flow Template

                        Length: 23

                        001. .... = TFT operation code: Create new TFT (1)

                        ...0 .... = E bit: Parameters list is not included

                        .... 0010 = Number of packet filters: 2

                        Packet filter 0

                            00.. .... = Spare bit(s): 0

                            ..11 .... = Packet filter direction: Bidirectional (3)

                            .... 0000 = Packet filter identifier: 1 (0)

                            Packet evaluation precedence: 0x10 (16)

                            Packet filter length: 0x08 (8)

                            Packet filter component type identifier: Single local port type (64)

                                Port: 50010

                            Packet filter component type identifier: Single remote port type (80)

                                Port: 60000

                            Packet filter component type identifier:

                                                        Protocol identifier/Next header type (48)

                                Protocol/header: UDP (0x11)

                        Packet filter 1

                            00.. .... = Spare bit(s): 0

                            ..11 .... = Packet filter direction: Bidirectional (3)

                            .... 0001 = Packet filter identifier: 2 (1)

                            Packet evaluation precedence: 0x11 (17)

                            Packet filter length: 0x08 (8)

                            Packet filter component type identifier: Single local port type (64)

                                Port: 50011

                            Packet filter component type identifier: Single remote port type (80)

                                Port: 60001

                            Packet filter component type identifier:

                                            Protocol identifier/Next header type (48)

                                Protocol/header: UDP (0x11)

    radioResourceConfigDedicated

        drb-ToAddModList: 1 item

            Item 0

                DRB-ToAddMod

                    eps-BearerIdentity: 7

                    drb-Identity: 3

                    pdcp-Config

                        discardTimer: ms100 (1)

                        rlc-UM

                            pdcp-SN-Size: len12bits (1)

                        headerCompression: rohc (1)

                            rohc

                                maxCID: 15

                                profiles

                                    1... .... profile0x0001: True

                                    .1.. .... profile0x0002: True

                                    ..0. .... profile0x0003: False

                                    ...0 .... profile0x0004: False

                                    .... 0... profile0x0006: False

                                    .... .0.. profile0x0101: False

                                    .... ..0. profile0x0102: False

                                    .... ...0 profile0x0103: False

                                    0... .... profile0x0104: False

                    rlc-Config: um-Bi-Directional (1)

                        um-Bi-Directional

                            ul-UM-RLC

                                sn-FieldLength: size10 (1)

                            dl-UM-RLC

                                sn-FieldLength: size10 (1)

                                t-Reordering: ms50 (10)

                    logicalChannelIdentity: 5

                    logicalChannelConfig

                        ul-SpecificParameters

                            priority: 6

                            prioritisedBitRate: kBps8 (1)

                            bucketSizeDuration: ms100 (1)

                            logicalChannelGroup: 1

        mac-MainConfig: explicitValue (0)

            explicitValue

                ul-SCH-Config

                    ...

                drx-Config: setup (1)

                    ...

                timeAlignmentTimerDedicated: infinity (7)

                phr-Config: setup (1)

                    ...

                mac-MainConfig-v1020

        physicalConfigDedicated

            tpc-PDCCH-ConfigPUCCH: setup (1)

                ...

            tpc-PDCCH-ConfigPUSCH: setup (1)

                ...

            antennaInfo: defaultValue (1)

                defaultValue: NULL