Professional Documents
Culture Documents
Agenda
VOLTE Introduction
IMS architecture
Overview of SIP
Overview of SDP
Introduction on RCS
Capability discovery
Enhanced address book
Advantages of VOLTE
EPS Bearer
EPS Bearer Types:
A Default EPS Bearer is always non-GBR
A Dedicated EPS Bearer can be GBR on non-GBR
QoS Class Identifier (QCI): Used as a reference to Access Node specific parameters
that control how bearer level packets are forwarded, are pre-configured by the
operator. Every QCI (GBR or non-GBR) is associated with a Priority Level.
The GBR indicates the bit rate that can be expected to be provided by a GBR bearer.
The MBR limits the bit rate that can be expected to be provided by a GBR bearer. Rel8
requires MBR=GBR. MBR and GBR can be coded as high as 256 Mbps.
Overview of SIP
SIP is an application layer protocol that is used to establish, maintain, modify and end
communications sessions between two or more parties .
SIP is a signaling protocol for IP-based networks that can support the standard call processing
functions found in the PSTN. The SIP protocol itself does not define these features, but
enables their creation in network elements, such as proxy servers and user agents.
SIP-based clients (devices) use TCP or UDP or SCTP protocols to connect to SIP servers
Key advantages of SIP protocol:
Intelligence at the Edge: It is a peer-to-peer protocol with a blend of intelligence located at the
edge (i.e., soft phone or end-user device hardware), complimented by more scalable, granular, and
rapidly deployed services offered by service providers
Flexibility: In IP suite, SIP is flexible and extraordinarily dynamic. Its functionality can be extended
to any number of applications, including enhanced signaling for value-added services, VoIP, and
XML-tagged applications
Supports any Network Transport Medium: SIP is designed to be completely independent of the
transport layer., It can use seamlessly across any transport scheme (TCP, UDP or SCTP) and be
transported across any access modality cable, DSL, WiFi, Ethernet, and wireless. Thus, SIP can
enable a broad range of applications and remote session capabilities
Mobility and Presence Support: Using SIP session establishment requests are sent to the
network, which locates the users presence and establishes a session based on the users current
location and usage profile
Requests
Requests contd
Requests contd
Requests contd
Requests contd
Responses
Responses contd
REGISTER Header
REGISTER sip:vzims.com SIP/2.0
Route:sip:192.168.43.166:5060;lr>
From: <sip:+12244004278@vzims.com>;tag=4fa3560890
To: sip:+122440042787@vzims.com
200 OK (REGISTER)
SIP/2.0 200 OK
From: <sip:+15551234567@vzims.com>;tag=4fa3560890
To: <sip:+15551234567@vzims.com >; tag = 32299af7845
INVITE Header
INVITE tel:1234512345;phone-context=vzims.com SIP/2.0
tel:1234512345 -> tel URI (Mobile Directory Number (MDN) , vzims.com->Domain
Name
Supported: 100rel, timer
Option tag 100rel -> Endpoint supports PRACK. Option tag timer -> request other end to
use session timer
Allowed:
INVITE,ACK,PRACK,SUBSCRIBE,NOTIFY,CANCEL,INFO,BYE,UPDATE,REFER,MESSAGE,OPTIONS
Device sets its preferred identity out of multiple valid identities it has. Here it is
its SIP URI
P-Access-Network-Info: 3GPP-E-UTRAN-FDD; utran-cell-id-3gpp=31148000000000002
Contact: <sip:+1234567890@192.168.43.144:5060>;+g.3gpp.icsi-ref="urn:urn-7:3gppservice.ims.icsi.mmtel"; +sip.instance=<device_IMEI>;+g.gsma.rcs.telephony="cs,volte";
video
Note: If Video calling is enabled
The Accept-Contact header field allows the caller to specify that callee should be
contacted if it matches some or all of the values of the header field. Here, user has not
specified any preferred contact amongst contacts of the callee
Overview of SDP
IN
IP4
[<Originator/username>
<sess-id>
<sess-version> <nettype> <addrtype>
<unicast-address>
Session id : globally unique identifier for the session. Normally, Network Time Protocol (NTP)
format timestamp is used to ensure uniqueness
Session-version: version number for this session description. It is incremented when this
session data is modified. Normally, Network Time Protocol (NTP) format timestamp is used]
s= Video
Media Description
m=audio
49120
a=rtpmap:104
RTP/AVP
AMR-WB/16000
a=fmtp:104 mode-set=2
[fmtp:<format> <format specific parameters>]
[Mode-set =2 means frame content has 12.65kbps]
AMR-WB/16000/1
[Here, Media format is Dynamic RTP Type-110 which has 12.65kbps frame content but octet-align
mode. ]
a=fmtp:110; mode-set=2;Octet-align =1
[Mode-set =2 means frame content has 12.65kbps]
a=rtpmap:102 AMR/8000
[AMR has 8 variations in rate .Here, Media format is Dynamic RTP Type-102 which has 12. 2kbps
frame content and band efficient mode ]
a=fmtp:102 mode-set=7
[Mode-set =7 means frame content has 12.65kbps]
a=rtpmap:108 AMR/8000/1
[Here, Media format is Dynamic RTP Type-108 which has 12. 2kbps frame content but band octetalign mode]
telephone-event/16000
[Here, Media format is Dynamic RTP Type-105 for telephone events, clock rate 16KHz ]
a=fmtp:105 0-15
[ Telephone event range from 0 to 15 (0-9,*,#,A,B,C,D)]
a=rtpmap:100 telephone-event/8000
[Here, Media format is Dynamic RTP Type-100 for telephone events, clock rate 8KHz ]
a=fmtp:100 0-15
a=ptime:20
[Packetization time 20 sec]
a=maxptime:240
[Max. Packetization time 240 sec -> 7 packets]
a=sendrecv
[Both Send and receive media packets]
a=rtpmap:117 H264/90000
a=fmtp:117 profile-level-id=428016
a=framerate:15
a=rtpmap:34 H263/90000
a=fmtp:34 profile=0
a=framerate:7
a=sendrecv
SDP Offer-1
m=audio 49120 RTP/AVP 102 108 100
a=rtpmap:102 AMR/8000
a=fmtp:102 mode-set=7
a=rtpmap:108 AMR/8000
a=fmtp:108 mode-set=7; octet-align=1
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15
a=ptime:20
a=maxptime:240
a=sendrecv
SDP Answer -1
m=audio 49120 RTP/AVP 102 100
a=rtpmap:102 AMR/8000
a=fmtp:102 mode-set=7
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15
a=ptime:20
a=maxptime:240
a=sendrecv
SDP Offer-2
m=audio 49120 RTP/AVP 104 110 102 108 105 100
a=rtpmap:104 AMR-WB/16000
a=fmtp:104 mode-set=2
a=rtpmap:110 AMR-WB/16000
a=fmtp:110 mode-set=2; octet-align=1
a=rtpmap:102 AMR/8000
a=fmtp:102 mode-set=7
a=rtpmap:108 AMR/8000
a=fmtp:108 mode-set=7; octet-align=1
a=rtpmap:105 telephone-event/16000
a=fmtp:105 0-15
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15
a=ptime:20
a=maxptime:240
a=sendrecv
SDP Answer-2
m=audio 49120 RTP/AVP 104 105
a=rtpmap:104 AMR-WB/16000
a=fmtp:104 mode-set=2
a=rtpmap:105 telephone-event/16000
a=fmtp:105 0-15
a=ptime:20
a=maxptime:240
a=sendrecv
AMR-WB ( all nine modes): 6.6 kbps, 8.85 kbps, 12.65( Mode Set
=2) kbps, 14.25 kbps, 15.85 kbps, 18.25 kbps, 19.85 kbps, 23.05
kbps, 23.85 kbps.
Continues
PUBLISH Header
PUBLISH sip:+1234567890@vzims.com; SIP/2.0
Via: SIP/2.0/UDP 192.168.43.144;branch=z9hG4bKnashds7;transport=UDP
Accept: application/pidf+xml, application/rlmi+xml, multipart/related
Max-forwards: 70
Contact: <sip:+1234567890@vzims.com;5060>
Route:<sip:192.168.43.166:5060;lr>
To: <sip:+1234567890@vzims.com>
From: <sip:+1234567890@vzims.com>; tag = 3456efa74510
Call-ID: 200737754d
CSeq: 1 PUBLISH
Expires: 1200
Event: presence
Content-Type: application/pidf+xml
Content-Length: 1277
PUBLISH Body
<?xml version="1.0" encoding="UTF-8" ?>
XML format
PUBLISH Body
<tuple id="t4fe357ba"> 2nd tuple starts
<status>
<basic>open</basic>
</status>
<op:service-description>
<op:service-id> org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel </op:service-id>
<op:version>1.0</op:version>
<op:description> VoLTE and Video Service</op:description>
</op:service-description>
<b:servcaps>
<b:audio>true</b:audio>
<b:video>true</b:video>
<b:duplex>
<b:supported> <b:full/> </b:supported>
</b:duplex>
</b:servcaps>
<contact>sip:+1234567890@vzims.com</contact>
</tuple>
2nd tuple ends
</presence>
SUBSCRIBE Header
SUBSCRIBE sip:+1234567890@vzims.com; SIP/2.0
Via: SIP/2.0/UDP 192.168.43.144;branch=z9hG4bKnashds7;transport=UDP
Accept: application/pidf+xml, application/rlmi+xml, multipart/related
Max-forwards: 70
Contact: <sip:+1234567890@vzims.com;5060>
Route:<sip:192.168.43.166:5060;lr>
To: <sip:+1234567890@vzims.com>
From: <sip:+1234567890@vzims.com>; tag = 3456efa74510
Call-ID: 200737754d
CSeq: 1 SUBSCRIBE
Expires: 1200
Supported: eventlist
Require: recipient-list-subscribe
Accept-Encoding:gzip
Event: presence
Content-Type: application/resource-list+xml
Content-Length: 1277
SUBSCRIBE Body
<?xml version="1.0" encoding="UTF-8" ?>
<resource-lists
xmlns="urn:ietf:params:xml:ns:resource-lists"
xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">
<list name="dummy-rfc5367">
<entry uri="tel:+16175551212 "/>
<entry uri="tel:+17815551212 "/>
<entry uri="tel:+19175551212 "/>
<entry uri="tel:+12125551212 "/>
</list>
</resource-lists>
NOTIFY Header
NOTIFY sip:+1234567890@vzims.com ; SIP/2.0
Via: SIP/2.0/UDP
192.168.43.144;branch=z9hG4bKnashds7;transport=UDP
Max-forwards: 70
Contact: <sip:presenceserver@vzims.com;5060>
To: <sip:+1234567890@vzims.com >; tag=234ab45230
From: <sip:+1234567890@vzims.com>; tag = 3456efa74510
Call-ID: 200737754d
CSeq: 1 NOTIFY
Expires: 600
Event: presence
Subscription-State: active
Content-Type: application/rlmi+xml,application/pidf+xml
Content-Length: 1277
NOTIFY Body
<list xmlns="urn:ietf:params:xml:ns:rlmi"
rlmi+xml part starts
uri="sip:+1234567890@@vzims.com;pres-list=dummy-rfc5367"
version="0" fullState="true">
<name>dummy-rfc5367</name>
<resource uri="tel:+16175551212 ">
<instance id="001" state="active" reason="subscribe"
cid="tel16175551212@vzims.com_1312926684451"/>/>
</resource>
<resource uri="tel:+17815551212 ">
<instance id="001" state="active" reason="subscribe"
cid="tel17815551212 _1312926684452"/>
</resource>
<resource uri="tel:+12244004301 "/> Both resources have not published
<resource uri="tel:+19175551212 "/>
rlmi+xml part
ends
</list>
NOTIFY Body
--nxbound1312926427801\r\n
Content-ID:<tel:+16175551212_1312926684451> 1st resource/Content Id
Content-Type:application/pidf+xml; charset=utf-8
Content-Transfer-Encoding:binary
<?xml version="1.0" encoding="UTF-8"?>
<presence entity=" sip:+16175551212@vzims.com "
xmlns="urn:ietf:params:xml:ns:pidf" xmlns:b="urn:ietf:params:xml:ns:pidf:caps"
xmlns:op="urn:oma:xml:prs:pidf:oma-pres">
<tuple id="354edt4fe"> 1st tuple starts
<status><basic>open</basic> </status>
<op:service-description>
<op:service-id>
org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcse.dp
</op:service-id>
<op:version>1.0</op:version>
<op:description> VoLTE Capabilities Discovery </op:description>
</op:service-description>
<contact>sip:+16175551212@vzims.com</contact>
</tuple>
1st tuple ends
NOTIFY Body
<tuple id="t4fe354ed"> 2nd tuple starts
<status> <basic>open</basic></status>
<op:service-description>
<op:service-id> org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel </op:service-id>
<op:version>1.0</op:version>
<op:description> VoLTE and Video Service</op:description>
</op:service-description>
<b:servcaps>
<b:audio>true</b:audio>
<b:video>true</b:video>
<b:duplex> <b:supported> <b:full/></b:supported></b:duplex>
</b:servcaps>
<contact>sip:+16175551212@vzims.com</contact>
</tuple>
2nd tuple ends
</presence>
--nxbound1312926427801
Pidf +xml part of cid tel17815551212 _1312926684452will be similar to
above
Introduction on RCS
RCS Versions
RCS-e ( RCS Enhanced)
Initial implementation for advanced communication
services
Based on GSMA RCS Release 2 spec.
RCS 5.1
Provides a framework for discoverable and interoperable
advanced communication services
Based on GSMA RCS Release 1 to 4, RCS-e 1.2 and RCS 5.0
Joyn BlackBird
RCS marketed by the GSMA under the brand name joyn
Based on RCS 5.1
CAPABILITY DISCOVERY
REGISTER
SUBSCRIBE to new/modified
contact
SUBSCRIBE (contact)
PUBLISH (capabilities)
Presence Publication
Device publishes its own capabilities and availability
Capabilities include but not limited to HD voice and video calling
Required for other devices to retrieve
Performed by Presence User Agent (PUA) of Address Book
Application
Presence Publication
Presence Publication achieved by using SIP PUBLISH method
Different contexts of PUBLISH
Full initial publish
Periodic or scheduled or refresh publish
Update publish
Un-publish
Presence Publication
Update publish
Device updated its capabilities and
availability as and when its capabilities
and availability status changes
Un-publish
Device requests presence server to
remove its capabilities and availability
Presence server destroys presence
object instance for the device
PUPLISH Request
Capability polling
For existing contact(s) or new contact(s)
For existing contact(s), it is periodic or scheduled or refresh
capability polling
For new contact(s), it is instantaneous capability polling
Resource-list subscription (multiple contacts or contact with
multiple numbers)
Single resource subscription (single contact with 1 number)
Reference Documents