RCS ( Rich Communication Suite )

What is this fuss about RCS ? For the past few weeks I’ve been trying to find the answer to this one .

After much information gathering i made myself understand that  :-

The Rich Communication Services programme is a global initiative to deploy inter-operator services within an industry ecosystem.

Marketed by the GSMA under the brand name joyn,  RCS is an upgrade that marks the transition of messaging and voice capabilities from Circuit Switched technology to an all-IP world.

Wider and large scale IMS deployment, interoperability between different terminal vendor RCS clients and RCS service interworking between operators are the key aims of the RCS Initiative.

Whats special about RCS ?

  • Enhanced Phonebook: service capabilities and enhanced contacts information such as presence and service discovery.
  • Enhanced Messaging: enables a large variety of messaging options including chat, emoticons, location share and file sharing.
  • Enriched Calls: enables multimedia content sharing during a voice call, video call and video sharing (see what I see).

RCS releases

Five releases of the RCS specifications have been made to date. Each release expanded the scope of its predecessor.

lRelease 1 : Offered the first definitions for the enrichment of voice and chat with content sharing, driven from an RCS enhanced address book.
lRelease 2 : Added broadband access to RCS features: enhancing the messaging and enabling sharing of files.
lRelease 3: Focused on the broadband device as a primary device.
lRelease 4: Included support for LTE.
lRelease 5: The most recent release, global interoperability is a key aspect of these specifications.
……………………………………………………………………………..

As the team developed a web client for making and receiving SIP calls over websockets through a proxy SIP server , I felt its an  achievement big enough. To integrate it with RCS ( Rich Communication Suite ) stack appeared as a very complicated job .

I began by adding RCS specific standards modules one by one instead of importing the whole stack / library all together  .

So the modules for XCAP for buddylist  , MSRP for file transfer , geolocation  mapping , cloud sync of phonebook and message book have begun taking shape . In essence following features set are expected out of a RCS enabled Client  ( short outline )

Provisioning

  • · OAUTH integration with operator customer portal
  • · RCS HTTP Auto-Configuration 
  • · Manual IMS credentials, typically reserved for testing / troubleshooting RCS Services

RCS services:

  • · Service Discovery
    • OPTIONS and Presence supported
    • Address book polling
  • · 1-1 Chat
    • IMDN
    • Is-Composing
    • Store & forward / deferred message and notification delivery
    • Hotfixes compliant
  • · Group Chat
    • Hotfixes compliant
    • Is-Composing
    • IMDN
    • Geo-location Push
  • · File Transfer
    • MSRP based
    • HTTP based
    • Store & forward
    • Geo-location push via FT
    • vCard sharing
    • Thumbnail support
  • · Voice & video
    • Best effort voice
    • Transcode 
  • · Network Address Book Support
    • Synchronization to SyncML based network address book
    • Contact import from Google, Facebook etc.

…………………………………………………………………………………………………..

At this stage i will also put in a bit more about RCS e

RCS e

What is the difference between RCS-e and RCS?

RCS-enhanced (RCS-e) is the currently available version of RCS, developed to speed time to market. It offers enhanced features such as instant messaging, live video sharing, and file transfer across any device on any network operator.

RCS e Benefits :

Focus on advanced communication
– chat , file transfer , video sharing
Easy to Use
-zero touch from end user perspective
-minimal setup for subscribers
-Interoperability across devices , infrastructure components and service providers
Low barrier to entry / simplify networks
– Capability discovery using SIP OPTIONS
– Less impact on network elements and handset battery
– Lack of presence server reduces cost and time to market
Universal
– Allows implementation in lower range devices
– One common device specification

RCS-e Customer Value Proposition

 New IP Communication Services , Profile Sharing , Native Device Integration
rcs5 rcs6

RCS e Characteristics

Dynamic Capability Discovery
User Perspective
network detects when user attaches with RCs e device
detection triggers network provisioning and client configuration
authentication by network
SSO / GIBA in 3G coverage
SIP Digest in Wifi
Encryption for Wifi access
TLS for SIP and TCP media or IPsec
SRTP for UDP or IPsec
NAT traversal and Keep-alives
…………………………………………………………………………………………..

WebRTC SIP / IMS solution

We started in winters on 2012 with Webrtc . At time time it just looked like a new tech jargon that might fade away when new ones comes . In many many WebRTC’s buzz has died down since its massive adoption. But i nevertheless still see a lot of potential and development around it.

What really is WebRTC ? I made an entry on it  here .

Around nov – dec 2012 , team and I spend the time learning the nitty-grities of HTML5 based media operation and Javascript sip stack of SIPML. I remember toward the end of the year ie before Christmas , We were done with the explanation and education aspects of WebRTC , a technology that will revolutionise communication in ages to come , at-least so says the numerous other blogs ,  and documents i read so far .


Usecases for WebRTC range across a wide variety , of them the most revenue generating ones are around video conferencing with realtime HD audio-video-data streams ,

To bridge the flow between a webrtc client to a PSTN endpoint via IMS , interworking between webrtc media standards and codecs with that of gateways in IMS is critical . For instance WebRTC mandates secure RTP ( SRTP) the media engine / gateway should be able to support and connect with RTP from PSTN endpoints.

client BOB -> webrtc2sip Gateway -> SIP server -> client Alice

can be  understood with the callflow of a simple SIP Invite initiated from one html page towards another which passes through the configuration of gateway to IMS world ,  SIP Telecom Application server , Database , nodes of IMS environment etc.

For the purpose of a simple Explanation a simplified call flow ca be depicted as ,

webrtccallflow

A very high level architecture of solution deployment in IMS world could be

solution arch2

As the solution matures into a full fleshed project . The alpha version has been released with the following feature set . The WebRTC platform Suite offers a easily deploy-able solution to enable communication

Alpha Release WebRTC platform Suite

Single Sign On
Login with id and password to access all services
Audio / Video Call
Call Hold / Call Transfer
Messaging:
SIP Instant Messaging
Message to Facebook Messenger
Message delivered as Email
Chatroom :
group chat between multiple users . Room is created for set of users .
Video Conferencing :
video chat between multiple parties . Room is created for set of users .
File Transfer :
Sharing of files from local to remote , in peer-to-peer and broadcasting fashion .
Third party Webservices :
Widgets like calendar , weather , stocks , twitter are embedded.
Visual Voice Mail :
Record and deliver voice message to recipients voice mail inbox which can be accessed/ played from web client .
Phonebook :
cloud integration
add new entries
add photos to contacts identity
import contacts from google account
Click to Call :
Drop down list of contacts form mail call console
2 step Click to call from Phonebook
Presence :
Publish online / offline status
Use Subscribe / notify requests of SIP
WS to SIP Gateway :
Conversion between the signal coming from the WebRTC and SIP client to the IMS core
Conversion of “voice/video ” media between sRTP and RTP
Conversion of other media (data channel) towards MSRP and Transcoding.
Support of ICE procedure .
Implementation of a STUN server.
QoS Support

Beta Release WEBRTC PLATFORM SUITE

Logs :
calls logs
Message logs
User Profile :
user details like address , email and social networking accounts
Phonenumber for GSM integration through SMS
User’s Media storage like Pictures , profile picture , Audio , video
File sharing documents storage for future access in the same format
Real Time and Offline Analytics
service usage with graphical and tabular history trends
Session Management :
Single Sign-on
Forgot password regeneration using secure question
Registration of new user account
Logout and clearance of session parameters
Security :
No redirection to any page through url entry without valid session
No going back to home page after logout by back button on browser
No data vulnerability
Multiple login through different devices handled
OAuth :
Login via IMAP / token through facebook and Google
Phonebook with Presence functionality inbuild .
Directory Service based on country / region
Geolocation of approximate location detection of device logged in and visibility to others

webrtc solution
WebRTC client deployment view , accessible devices , network elements
WebRTC deploymenet overview and inetraction with other network elemets such as gateway , cloud storage ,  sipserver , IMS
WebRTC deploymenet overview and inetraction with other network elemets such as gateway , cloud storage , sipserver , IMS

Commercial release features specs for WebRTC over IMS

Integration with new age CSP deployments like VoLTE, ViLTE, VoWiFi
Multi vendor support
Interactive webrtc services
Media Services
Automated Natural language Speech recognition
Semantic processing via ML
Enhanced incall services replacing IVR ( touch -tone)
VQE (voice Quality Enhancements)
Encoding and Decoding – Multiple Codec Support ,
Transcoding ,
Silence Suppression ,
Security via TLS , encryption and AAA
Http , NFS caching
NAT
Recording , playback and media file compression
active frame selection
DTMF
Audio
mixing ,
announcements ,
filters ,
gain control ,
speakers notification ,
Narrowband, Wideband, and Super Wideband ,
dynamic sample rate
Video
continuous presence ,
floor control ,
video lipsync ,
speaker tile selection
VQE
Acoustic Echo Cancelation ,
noise reduction,
noise line detection,
noise gating ,
Packet Loss concealment
Call analyics
progress analysis
MOS , R-factor ( derived from latency , jitter , packet loss )
CDR (Call detail records ) and accounting
Lawful interception

Updating this article 2019

There was a long journey from traditional telecom architectures to NFV cloud based architectures ( like openstack). supported over web , 4G , LTE or other upcoming networks. Many OTT providers prefer using the public cloud over a NFV data centre.

Multinode / Multiedge computing platforms like Media Resource Function are expected to meet the need for quick delivery with additional features like hardware accelerated media , algorithms for optimised data flow (packetization, decongesting , security ) etc . With th decomposed architecture they can better utilise the

  • CPU – contains couple of cores optimised for sequential serial processing such as   graphics or video processing
  • GPU – contains many smaller cores to accelerate creation of images for computer display . Can include texture mapping, image rotation, translation, shading or more enhanced features like motion compensation, calculation of inverse DCT, etc. for accelerated video decoding.
  • DSP- processing data representing analog signals

Although IMS based solutions are more suited to telephony applications and CSPs ( Communication service providers like telecom companies ) but similar or same architectures are widely finding their into newer developed cloud communications solutions supporting tens of millions of subscribers and hyper scale deployment . It could be around applications such as

  • HD (High Definition ) calls
  • UCC ( conf , draw-board, speech recognition , realtime streaming)
  • immersive experiences ( Augmented reality , virtual reality , face recognition , tracking )
  • contextual communication ( transcription etc)
  • video content delivery with deep media analytics

Demand these says is for a decentralised system of pool of servers ( media and signalling ) that can scale independently to match up to peak traffic at any moment , with ofcourse carrier class performance . Not only these flexible solutions reduce complexity but also OpEX .

Ref: