- RCS ( Rich Communication Suite )
- RCS e ( enhanced )
- WebRTC/RCS Client
For the past few weeks, I’ve been trying to find the answer to this one. After much information gathering, I understood that majority of communication platform provider’s mostly OTT such as iMessage from apple, RBM(RCS Business Messaging) already supports these features. And it is partially a term coined by Google to bring smart communication features in Android and other smartphones. In essence, RCSe is a part of the broader IMS architecture published by GSMA.
Update: after 2019 plenty of carriers also already provide RCSe as a replacement for SMS. OEM providers like Samsung also have RCS feature inbuild in phones.
Rich Communications should be viewed as technology upgrade that will transition SMS and voice capabilities from Circuit Switched technologies into the all-IP world, including VoLTE. RCS and VoLTE are build over IMS technology. The RCS wil benifit from Standardization of the technical environment, shared by all industry players, to offer these services on a wide range of handsets
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.
In the face of new and innovative over the top messaging applications, mobile operators are experiencing declining SMS usage. With the launch of WiFi and VoIP enabled voice calling applications, similar declines in voice revenues are increasing, RCS presents and opportunity for telecom providers to rebrand their messaging solutions as a better product to compete against the growing influence of “Over-The-Top” (OTT) communications services providers.
- 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).
Five releases of the RCS specifications have been made to date. Each release expanded the scope of its predecessor.
- Release 1 : Offered the first definitions for the enrichment of voice and chat with content sharing, driven from an RCS enhanced address book.
- Release 2 : Added broadband access to RCS features: enhancing the messaging and enabling sharing of files.
- Release 3: Focused on the broadband device as a primary device.
- Release 4: Included support for LTE.
- Release 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. 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
- Service Discovery
- OPTIONS and Presence supported
- Address book polling
- Delivery & display notifications o Message composing indication
- 1-1 Chat
- Store & forward / deferred message and notification delivery
- Hotfixes compliant
- Group Chat
- Hotfixes compliant
- Geo-location Push
- Start and end a group chat session
- Add or remove participants
- Broadcast / Send messages to all participants
- File Transfer
- Send file via URL or as MIME attachment o Accept or Reject file transfer
- MSRP based
- HTTP based
- Store & forward
- Geo-location push via FT
- vCard sharing
- Thumbnail support
- Voice & video
o Best effort voice
- Network Address Book Support
- Synchronization to SyncML based network address book
- Contact import from Google, Facebook etc.
Pblished under Joyn in GSMS RDC Developer documents. There are many individual RCS APIs available. Brief details are as follows.
- Log user in and out of the RCS server : Allows address book contacts to receive periodic updates of user availability for chat, file transfer and other services. This is essential for use of the RCS services.
2. Subscribe application to server-originated notifications :This is one of the most important aspects of RCS as events are asynchronous; the notifications channel is used by your application to know how an API call is proceeding and to receive updates from other users such as messages, files and status updates. You can subscribe to certain types of notifications if your application is focused on particular RCS services.
3. Network address book access and management : RCS provides each registered user with a server managed address book. Though the other APIs are not restricted to contacts in the network address book this makes it much more convenient to connect with other users. The network address book can have contacts added, removed, attributes changed, and is available to any application the user signs in to.
4. Chat API : Unlike SMS, which is broadly a ‘fire and forget’ service, the RCS chat services allow much more sophisticated messaging services to be built. Depending on user configuration you can check out whether the user has received the message, and displayed it.
RCS chat also allows feedback to other parties when a user is composing a message. There are also group chat services allowing multiple parties to collaboratively message. RCS provides API features for setting up a group chat session, adding or removing chat participants.
5. File Transfer : These APIs allow applications to send content between users – whether this is a picture or a document, and whether it is stored originally on the user’s device or elsewhere located on the Internet. They allow the recipient to receive information about the file separately from the file itself so the recipient can choose whether or not to accept the file.
6. User capabilities API : Enables the application to retrieve and amend system managed common capabilities of the user.
At this stage I will also put in a bit more about RCSe.
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
- 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
Allows implementation in lower range devices
One common device specification
New IP Communication Services, Profile Sharing, Native Device Integration
- 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
- RCS-e (1.2.2) : RCS-e defined the initial IM/Chat functionality, File transfer, Image Share and Video share functionality over mobile packet switched networks, trusted and untrusted broadband networks. It has gained wide acceptance in Europe as an initial deployment to be followed by future deployment phases.
- RCS 5.0 is completely backward compatible with V1.2.2 specifications and adds new features such as best efforts IP video calls, Geo-location exchange, Social Presence, Standalone Messaging, and a network based blacklist. Global interoperability is a key aspect of these specifications, and as a result this version supports both OMA CPM and OMA SIMPLE IM, which are more widely requested in North America.
- RCS 5.1 is also backward compatible with the V1.2.2 and 5.0 specifications. It introduces additional new features such as Group Chat Store & Forward, File Transfer in Group Chat, File Transfer Store & Forward, and Best Effort Voice Call.
WebRTC Communication Client can meet the requiremnets of RCS and serve as a telco based platform for using TSP backened network to provide call and messaging to web users.
REST and SOAP Based Client
Integration with RCS features like MSRP, XCAP
Cloud Hosted Solution
Technical Expertise in HTML5,J2EE,SIP,WebRTC & IMS
- Integrated charging: Users already have mobile service. WebRTC with session-based charging can be added onto existing service plans.
- Bundling: Messaging APIs can augment WebRTC apps with RCS and other messaging services developers
Already know and implement.
- Reliability: QoS can provide assurance to users and priority services (enterprise, emergency, law enforcement, eHealth) that a WebRTC service will work as well as they need it to.
- File Transfer using MSRP (or Message Session Relay Protocol) is an instant messaging or chat protocol, defined by the IETF in RFC4975. MSRP is a text-based, connection-oriented protocol for exchanging arbitrary (binary) MIME content, especially instant messages.
- Wikipedia – https://en.wikipedia.org/wiki/Rich_Communication_Services
- GSMA Rich Communication Services APIs Developer Guide vs1.2