Tag Archives: Session Initiation Protocol

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
…………………………………………………………………………………………..
Advertisements

WebRTC SIP / IMS solution

We started in winters on 2012 with Webrtc . At time time it just looked like a new car design that might fade away when new ones comes .

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 remeber toward the end of the year ie before Christmas , We were done with the explanation and education aspects of WebRTC , a technology that will revolutionize communication in ages to come , at-least so says the numerous other blogs ,  and documents i read so far .


The flow between

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


VPN ( Virtual Public Network ) over SIP

People working at different locations need a fast, secure and reliable way to share information across computer networks . This is were a way to connect private networks over and top of public network becomes necessary and Virtual Private Network comes into picture .

vpn

SIP ( Session Initiation Protocol ) for VPN

VOIP across an SSL-based VPN is achieved in good quality by encapsulating the UDP VOIP packets ( SIP and RTP ) in TCP/IP .

Data used for defining a VPN like its Groups, its Members and the associated profiles is organized hierarchically.It includes information like who is the operator, subscriber of VPN, group ID and member ID.

vpn+ service broker

Grouping :

Groups created to implement policies and restrictions common to a set of users.These include:

  • Apply permissions to call between the Groups and to the outside world
  • Apply pricing between distinct types of of PNP (Mobile, Fixed, Privileged list)
  • Some numbers assigned a preferential tariff plan. These numbers are not part of the VPN ( Virtual On-Net) .
  • privileged list within a VPN across multiple groups

performance issues

VPN has no negative influence on latency, jitter and packet loss

With enabling authentication, encryption, HMAC, anti-replay attack, and initialization vector, and use small RTP size for Codec, the vpn overhead is high

Counters

For developing a VPN application counters are employed , some of which could be as follows

  • * Number of calls On-Net and Off-Net
  • * Numbers of Calls VPN
  • * Number of calls with Forced On-Net

Calls between endpoints like

  • * MS to MS Normal (mobile)
  • * MS to MS Privilege
  • * MS toward PABX

Success Fail rate

  • Number of calls successful without rerouting
  • Number of calls with successful rerouting
  • Number of calls with Failure (Failed = No answer, Busy, Not reachable, Congestion)
  • Number of calls on non-response (No Answer)
  • Number of calls on Not Reachable
  • Number of calls Route Select Failure
  • Number of calls on busy
  • Number of calls barred by VPN service.

other parameters

  • Total number of queries
  • Number of States created/modified
  • Number of change in the rights of calls
  • Number of issuance of observation Reports

Service Overview

Lets see how would a SIP based VPN services over telecom application server with Service Broker works .

Leveraging the Service Broker to offer voice VPN service to existing Subscribers is an arduous task. The Subscriber shall benefit from reduced charging rates for VPN calls (ON-Net), improved employee connectivity (within the VPN scope) and a consistent user experience across fixed and mobile phones.

VPN services shall be integrated with the R-IM-SSF component of the service broker. R-IM-SSF shall provide mediation as well as session and state management capabilities that shall make VPN service available over multiple networks including SS7 and IMS networks.

note : R-IM-SSF = reverse IMS gateway to IN

The subscriber base can be interfaces via a SMP that might also be used to add groups and assign right and privilege to member

note : SMP is the Provisioning interface for VPN service subscriber

Features of VPN application

1.Private numbering plan for both mobile and fixed subscribers (Short number dialing).

2.Distribution of subscriber under a hierarchical Data Model :

  1. Subscriber VPN( Enterprise Level)
  2. Group of Users ( Group level. Can be either of type Mobile or PABX )
  3. State (End user of service)

3.Grouping of a short number on the basis of following types:

  1. Member of mobile VPN
  2. Privileged user
  3. PABX user

4. Forced On-Net call handling, which shall allow user to dial the public number of another On-Net user with On-Net call Features.

5.Virtual On-Net Call Handling which allocates On-Net extension to non VPN users( Privileged list)

6.Off-Net call Handling via exhaust code which shall allow vpn users to access non-vpn public numbers

7. Prohibit the call based on a set of rules like ( all off-net calls barred).

8.Allow calls based on destination numbers. For example allow off-net calls for numbers provisioned in the white list(allowed list)

9.Outgoing call screening on the basis of time( Time based barring)


what is WebRTC ?

webrtc draft

What is WebRTC ?

  • API definition

WebRTC (Web Real-Time Communication) is an API definition drafted by the World Wide Web Consortium (W3C) that supportsbrowser-to-browser applications for voice calling, video chat, and P2P file sharing without the need of either internal or externalplugins.[

  • Enables browser to browser applications for voice calling, video chat and P2P file sharing without plugins.
  • Awaiting standardization , on a API level at the W3C and at the protocol level at the IETF.
  • Enables web browsers with Real-Time Communications (RTC) capabilities
  • Free, open project
 The following is the browser side stack for webrtc media .
 WebRTC media stack Solution Architecture

Core technologies:

  •  WEBM codecs 
  • Javascript functions  to access and process the browser media stack
  • HTML5  to embed the video and audio elements .
  • Signalling 

Why is Web RTC importatnt ?

Significantly better video quality WebRTC video quality is noticeably better than Flash.
Up to 6x faster connection times Using JavaScript WebSockets, also an HTML5 standard, improves session connection times and accelerates delivery of other OpenTok events.
Reduced audio/video latency WebRTC offers significant improvements in latency through WebRTC, enabling more natural and effortless conversations.
Freedom from Flash With WebRTC and JavaScript WebSockets, you no longer need to rely on Flash for browser-based RTC.
Native HTML5 elements Customize the look and feel and work with video like you would any other element on a web page with the new video tag in HTML5.

The major players behind conception and advancement of WebRTC standards and libraries are  :webrtc players icon

IETF , w3C , Java community , GSMA .
The idea is to develop a Light -weight browser based call console , to make SIP calls from Web page .This was successfully achieved using fundamental technologies as Javascript , html5 , web-sockts  and TCP /UDP , open source sip server.It is good to note that there is no extra extension, plugin or gateway required , such as flash support  .Also it bears cross platform support ,  including Mozilla , chrome so on .

 Peer to peer Communication

 WebRTC forms a p2p communication channel between all the peers . that means as the participant count grows  , it converts to  a mesh networking topology with incoming and outgoing stream towards direction of each of its peers .

Two party call p2p

two party call

Multiparty Call and mesh network

Multiparty party call
In special case of broadcasting or  large number of viewers ( without outgoing media stream ) it is recommended to setup a Media Control Unit ( MCU) which will replay the incoming stream to large number of users without putting traffic load on the clients from where the stream is actually originating .
Important note :  
1.It should be notes that these diagrams do not depict the ICE and NAT traversal and have been simplifies for better understanding. In real world scenarios there is almost all the time a STUN and TURN server involved .

More on TURN Servers is given here : NAT traversal using STUN and TURN

2.Also the webrtc mandates the use of secure origin ( https ) on the webpage which invoke getusermedia to capture user media devices like audio , video and location .

Read more in the layers of webrtc  and their functionalities here :  WebRTC layers

webrtc_development_logowebrtcdevelopment
Open Source WebRTC SDK and its implementation steps https://github.com/altanai/webrtc

IP Multimedia Subsystem ( IMS )

 IMS is a an architectural framework for IP based multimedia rich communications. It was standardized by a group called 3GPP formed in 1999.
It started as an enabler for 3rd generation mobile networks in European market and later spread to wirelne networks too . IMS became the key to  Fixed Mobile Convergence (FMC).
Based on IETF Protocols (such as SIP, RTP, RTSP, COPS, DIAMETER, etc.) , IMS is  now crucial for controlling conmmunication in a IP based Next Genration Network ( NGN ).
Communication service providers and telecom operators are migrating from circuit-switched networks to IMS technology with the increasing bandwidth (5G) and user expectations.
ims layers

Why IMS ?

Early days TDM networks were not robust enough to support emerging technologies and data networking. There was a need to migrate from voic eonly network to Triple play network ( voice , video and data ).

Other factors included :

  • rapid service development
  • service availiability in both home and roaming network
  • wireline and wireless convergence

Due to these above mentioned reasons TDM was outdated and IMS gained support .

 

What benefits does IMS bring ?

It offers counteless applications around rich multimedia services on wireless , packet swtched and even tradional circuit switched networks.

Easier to Create and Deploy New Applications and Services
  •  Enhanced applications are easier to develop due to open APIs and common network services.
  • Third-party developers can offer their own applications and use common network services, sharing profits with minimal risk
  •  New services involving concurrent sessions of multimedia (voice, video, and data) during the same call are now possible
  • Reduced time-to-market for new services is possible because service providers are not tied to the timescales and functions of their primary NEPs
Capture New Subscribers, Retain Current Subscribers
  • Better voice quality for business applications, such as conferencing, is possible
  • Wireless applications (like SMS, and so on) can be offered to wire line or broadband subscribers.
  • Service providers can more easily offer bundled services.
Lower Operating and Capital Costs
  • Cost-effective implementation of services is possible across multiple transports, such as Push-To-Talk (PTT), presence and Location-Based Services (LBS), Fixed-Mobile Convergence (FMC), mobile video services, and so on.
  • Common provisioning, management, and billing systems are supported for all networks.
  • Significantly lower transport costs result when moving from time-switched to packet-switched channels.
  • Service providers can take advantage of competitive offerings from multiple NEPs for most network elements.
  • IMS results in reduced expenses for delivering licensed content to subscribers of different types of devices, encodings, or networks.

 

The reason for widespread adoption of IMS is also that it follows standards and open interfaces  from 3GPP and ETSI, also is flexible for policy control , OSS/BSS , Value Added Services etc .

 

IMS features

1. Abstraction from Underlying Network :
IMS is essentially leading towards an open and standardized network and interface ,  irrespective of underlay network.
2. Fixed /Mobile Convergence 
Inter operability with Circuit Switched (CS) Mobile application Part (MAP)
3. Roaming 
Location awareness between home and visiting network.
4. Application layer Call Control
IMS application layer has the provision for defining proxy or B2BUA based call flow completion . This leads to operator being able to introduce business logic into call sessions.
IMS is supplemented by SIP (IETF ) , Diameter ( IETF) and H248(ITU-T). The release cycle of IMS is as follows :
  • 2002-03-14 Rel-5  : IMS was introduced with SIP. Qos voice over MGW.
  • 2004-12-16 Rel-6 : Services like emergency , voice call continuity , IPCAN ( IP connectivity Access Network )
  • 2005-09-28 Rel-7 : Single Radio Voice Call Continuity , multimedia telephony,eCall ,ICS
  • 2008-12-11 Rel-8 : IMS centralized services , supplementary services and internetworking between  IMS and  Circuit Switched Networks,charging , QoS
  • 2009-12-10 Rel-9 : IMS emergency numbers on GPRS , EPS(Enhanced packet system) , Custom alert tone , MM broadcast/Multicast
  • 2011-3-23 Rel-10 : home NodeB, M2M, Roaming and Inter UE transfer
  • 2012-09-12 Rel-11 :-tbd
  • 2014-09-17 Rel-12 :- tbd
  • 2015-12-11 Rel-13 :- tbd

IMS Layers

Majorly IMS is divided into 3 horizontal layers given below :

2014-05-24_0015

•Transport / MediaEndpoint Layer

Unifies transports and media from analog, digital, or broadband formats to Real-time Transport Protocol (RTP) and SIP protocols. This is accomplished by media gateways and signaling gateways.

It also includes media servers with media processing elements to allow for announcements, in-band signaling, and conferencing. These media servers are shared across all applications (voicemail, interactive response systems, push-to-talk, and so on), maximizing statistical use of the equipment and creating a common base of media services without “hard-coding” these services into the applications.

•Session and Control Layer

This layer arranges logical connections between various other network elements. It provides registration of end-points, routing of SIP messages, and overall coordination of media and signaling resources.

IMS core which is part of this layer primarily contains 2 important elements Call Session Control Function (CSCF) and Home Subscriber Server (HSS) database. These are explained below 

HSS Home Subscriber Server

It is a database of user profiles and location information . It is responsible for name/address resolution and also authorization/authentication .

CSCF Call Session Control Function

Handles most routing, session and security related operation for SIP messages . It is further divided into 3 parts :

  • Proxy CSCF: P_CSCF is the first point of contact from any SIP UA. It proxies UE requests to subsystem.
  • Serving CSCF: S-CSCF is a powerful part of IMS Core as it decides how UE request will be forwarded to the application servers.
  • Interrogating CSCF: I-CSCF initiates the assignment of a user to an S-CSCF (by querying the HSS) during registration.

•Application Services Layer

 The Application Services Layer contains multiple Application Servers (AS), such as:
  • Telephony Application Server (TAS) – for defining custom call flow logic
  • IP Multimedia Services Switching Function (IM-SSF)
  • Open Service Access Gateway (OSA-GW), and so on.

Additional Links :


Update on IMS :

IMS has been mandated as the control architecture for Voice over LTE (VoLTE) networks. Also IMS is being widely adopted to mange traffic for Voice over WiFi (VoWiFi) systems.