The RCS node is a backend platform responsible for realizing Rich Communication services. It consists of several network elements. The division below is based on their roles and does not represent physical deployment architecture.
The platform is fully scalable and is designed to work in a cluster. RCS Node can also be deployed on Amazon EC2 cloud.
An entity responsible for provisioning new accounts. The accounts consist of the private ID and associated private IDs which can be represented by various items like phone number, a service ID, email and social network identities. The Provisioning Server responsibility lies also in verifying given credentials. It provides verification through SMS with one time code, email with activation link and OAUTH methods for sigining in with Facebook and Google+.
The API is an optimized, high performance web service based system connected to an SQL cluster database capable of handling millions subscribers. The system is fully redundant and scalable (support for cluster architecture).
The main tasks processed by the RCS API include:
User’s Network Address Books
RCS users discovery
PUSH notifications for newly joined RCS users
Public directory search (Find Friends)
History cache with support for shared accounts (i.e. one user has multiple devices; the cache allows for syncing his history on all devices)
Auxiliary services such as Stickers, Group Chat etc.
Rich Communication Suite softswitch ensures user to user communication. It is based on standard protocols, namely SIP with certain RCS extensions and SRTP protocol.
The major features include:
Support for audio HD codecs e.g. OPUS and VP8 for video
Encryption for both audio and video (SRTP)
ICE technology for Peer to Peer calling and NAT traversal (STUN, TURN are part of the system)
Incoming calls parking – – PUSH notification mechanism for Google, Apple and other vendors
Voice/Video mail, Voicemail to email delivery
Deferred messages – the server sends a PUSH notification on a new text or multimedia message. Also when a user logs in the softphone will automatically download the messages stored on the server