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)
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
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. 1) [ UE <--> NW ] < Initial RRC Connection Establishment > 2) [ UE <--> NW ] < RRC Connection Reconfiguration : Attach Accept, Default EPS Bearer for Internet APN > 3) [ UE --> NW ] < PDN Connectivity Request : for ims APN > 4) [ UE <--> NW ] < RRC Connection Reconfiguration : Default EPS Bearer for ims APN > 5) [ UE <--> NW ] < UE Perform IMS Registration > 6) [ UE <--> NW ] < Initiate a VoLTE Call > 7) [ UE <--> NW ] < Initial SIP Signaling for VoLTE Setup > 8) [ UE <--> NW ] < RRC Connection Reconfiguration : Dedicated EPS Bearer for ims APN > 9) [ UE <--> NW ] < RTP Traffic >
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
|
||