IMS_VOLTE_SIP

Preview:

Citation preview

IMS- VOLTE- SIP - Kiran Koona

Topics

• IMS• VOLTE• SIP• Log Verification

Acronyms IMS:- IP Multimedia Subsystem SIP:-Session Initiation Protocol SDP:- Session Description Protocol CSCF:- Call Session Control Function HSS:- Home Subscriber Server AS:- Application Server VOLTE:- Voice Over LTE P-CSCF:- Proxy CSCF I-CSCF:- Interrogating CSCF S-CSCF:- Serving CSCF AKA:- Authentication and Key Agreement AM:- Acknowledged Mode UM:- Unacknowledged Mode TM:- Transparent Mode EMM:- EPS Mobility Management ESM:- EPS Session Management EPC:- Evolved Packet Core IMPU:- IP Multimedia Public Identity PCRF:- Policy and Charging Rules Function PRACK:- Provisional Response ACK RoHC:- Robust Header Compression URI:- Uniform Resource Identifier

IMS IMS:- IP Multimedia Subsystem Def:- it is a framework for delivering Multimedia services over an IP network Services VOLTE Video Telephony Presence Chat Push Messages Messaging Video Sharing Supplementary Services Emergency Calling

IMS is RAT agnostic IMS is all about convergence of multiple networks All IP Architecture

IMS Services Converging different services RAT Agnostic

LTE Architecture (EPS) EPS

VOLTE VOLTE is a specific IMS profile Voice over LTE VOLTE Specification is IR.92, “IMS Profile for Voice and SMS” Scope of IR-92:- IMS related:- Registration, Call establishment, Release, SS Media:- Codecs (AMR), RTP and RTCP RAN and EPC features:- ROHC, LTE radio bearers, DRX Common Functionalities:- IP version, Emergency calls, Roaming

Pre requisite for VOLTE UE obtains an IP through IP CAN session from PDN gateway UE tries to connect to P-CSCF using pre configured IP/Dynamic/ISIM

VOLTE Architecture

VOLTE VOLTE requires end to end QOS GBR:- Guaranteed bit rate Min and Max bearer bit rates ARP:- Allocation and Retention priority Priority in bearer establishment QCI:- QOS Class ID Preconfigured QOS Parameteres

VOLTE demands for Guaranteed Bit rate (12.2 Kbps) VOLTE needs QCI=1 for voice and QCI=5 for Signaling VOLTE voice traffic used RLC UM mode, signaling uses AM

VOLTE- QoS VOLTE requires end to end QOS GBR:- Guaranteed bit rate Min and Max bearer bit rates ARP:- Allocation and Retention priority Priority in bearer establishment QCI:- QOS Class ID Preconfigured QOS Parameteres

VOLTE demands for Guaranteed Bit rate VOLTE needs QCI=1 for voice and QCI=5 for Signaling VOLTE voice traffic used RLC UM mode, signaling uses AM

Bearer Mapping

VOLTE SS Supplementary Services support Call forward Unconditional Busy No reply Not reachable

Identification CLIR, CLIP

Barring All incoming All outgoing Outgoing international calls Incoming calls-When Roaming

Call Hold Call waiting Conference

VOLTE Call flow UE sends SIP register req to P-CSCF P-CSCF finds I-CSCF, Pre configured I-CSCF queries HSS to find S-CSCF S-CSCF initiates Auth challenge

VOLTE Callflow UE responds to Auth challenge SCSCF sends IMS reg’n ACK

VOLTE Identifiers IMPU: IMS Public Identity Used for communicating with other users IMPI: IMS Private Identity Used as a username during authentication, registration and deregistration SIP URI: SIP Uniform Resource ID SIP Phone number

VOLTE SS Ut Interface, XML over HTTP (XCAP) AS controls the setup and management of SS Data stored on the AS in the XML format UE acts as an XCAP client able to read, write Modify application data stored on AS

Diameter Double of Radius

VOLTE Protocol stack AM -> Acknowledge Mode

SIPSIP:- Session Initiation Protocol Used to create Modify and terminate a multimedia session SDP:- Session Description Protocol Carries the information

RFC 3261RFC 2543

SIP RequestsINVITE -> Invite for SIP callCANCEL -> Cancel the pending requestACK -> acknowledge the responseMODIFY -> Modify the properties of the previous request UPDATE -> Update the previous session properties with out mofNOTIFY -> Status change updatesREGISTER -> Register to SIP ServerMESSAGE -> MessagingBYE -> Disconnection RequestPRACK -> response to 1XX responses

SIP Response TypesGenerated by SIP server or UAC1XX:- Provisional -> working on the request2XX:- Success -> accepted3XX:- Redirection -> retry at other Server with the guidance given by this server4XX:- Client Error -> Syntax error5XX:- Server Error -> This server failed to server an apparently valid request6XX:- Global Error -> Can’t be severed at any Server

1XX responses are not acked except using PRACK for 180-Ringing1XX responses are used to minimize the retransmissions of INVITE

SIP Response Examples100 -> Trying, trying to connect the call180 -> Ringing, alerting is taking place181 -> Call is being forwarded182 -> Call queued183 -> Session in progress

200 OK -> Accepting the INVITE, will contain the media properties of the UAS response to OPTIONS will indicate the capabilities of the server 202 Accepted -> Server received the request, understood and working on it

400 -> Bad request, Syntax error401 -> Unauthorized, Authentication is needed402 -> Payment required486 -> busy here487 -> request terminated,

SIP Call Flow (Eg)

SIP Message (Eg)

INVITE

Logs Registration:- D/RILJ ( 986): [0139]> RIL_REQUEST_IMS_REGISTRATION_STATED/RILC ( 262): RIL onRequestComplete: Command channel closedD/RILJ ( 986): [0139]< RIL_REQUEST_IMS_REGISTRATION_STATE {1, 2}D/RIL_ImsSms( 986): IMS is registered!

MO SMS

D/RIL_ImsSms( 986): sendTextD/CDMA ( 986): sendSms: isIms()=true mRetryCount=0 mImsRetry=0 mMessageRef=0 SS=0D/RILJ ( 986): [0266]> RIL_REQUEST_IMS_SEND_SMSD/RILC ( 262): dispatchImsSmsD/RILC ( 262): dispatchImsCdmaSms: retry=0, messageRef=0D/RILC ( 262): RIL onRequestComplete: Command channel closedD/RILJ ( 986): [0266]< RIL_REQUEST_IMS_SEND_SMS { messageRef = 6, errorCode = -1, ackPdu = null}

MT SMSWill collect the Logs and update

Logs MO Call

05-24 15:46:47.226 1108 1108 D IMSCallTracker: dialphone is Handler (com.qualcomm.ims.ImsPhone) {41ed15f8}call details 3 2 05-24 15:46:47.856 1108 1108 D IMSCallTracker: [ dc ] number:22222 index: 1 incoming: false state: DIALINGcallDetails 3 2 05-24 15:46:47.856 1108 1108 D IMSCallTracker: [ImsCallTracker] poll: conn[i=0]=null, dc=id=1,DIALING,toa=129,norm,mo,0,nonvoc,noevp,,cli=1,,0Call Details = 3 2

MT Call

D/RILJ ( 986): [UNSL]< UNSOL_RESPONSE_CALL_STATE_CHANGEDD/RILJ ( 986): [0275]> GET_CURRENT_CALLSD/RILJ ( 986): [0275]< GET_CURRENT_CALLS [id=1,INCOMING,toa=129,norm,mt,0,voc,noevp,,cli=1,,0] D/RILJ ( 986): [0277]> ANSWERD/RILJ ( 986): [0277]< ANSWERD/RILJ ( 986): [0278]> GET_CURRENT_CALLSD/RILJ ( 986): [0279]< GET_CURRENT_CALLS [id=1,ACTIVE,toa=129,norm,mt,0,voc,noevp,,cli=1,,0] D/RILJ ( 986): [0280]> HANGUP_FOREGROUND_RESUME_BACKGROUNDD/RILJ ( 986): [0280]< HANGUP_FOREGROUND_RESUME_BACKGROUND

UE configuration for VOLTE Set the NV items as per go/atel http://

qwiki.qualcomm.com/qct-mst-ims/E2E_IMS_Setup/VoLTE_Device_Config/8960WTR_Lab_testing

adb shell setprop persist.radio.calls.on.ims true adb shell setprop persist.radio.vrte_logic 1 adb shell setprop persist.radio.jbims 1

Add an IMS account by following the instructions below. Click on phone icon and then press the menu button on the phone. Select the setting menu and then scroll to the bottom of the screen to find the IMS Account menu. Set the type of call (voice). Set the check box "Use IMS Always" to tell Android to always place an IMS call Hit save button or back button to save the settings.

IMS servers with APT Agilent IMS server ICE HCL SER Radvision

Reference RFC 3261 VOLTE Doc GSMA IR-92