Category: Messaging

RCS could be probably deployed much faster if it wasn’t that general right from the beginning. To implement a simple 1-1 chat is not a big deal. The same applies for voice and video. And honestly one doesn’t expect much from a new product as long as the basic functionality is working fine.

Well, in case of RCS/RCSe group messaging was always referred as a basic one. But sometimes it was not without struggles. There are many ways how a Conference can be established. Just to find out all the relevant RFCs is not an easy task. RCS Group Chat technical realization is based on the “Ad-Hoc Session Mode messaging”. RCS is referencing to OMA-SIMPLE or OMA-CPM. OMA is defining their ways how to handle the chats and pointing to particular RFCs. Many of them. The basic one is the RFC 4353. In this document it is described the logical architecture. Simply put group messaging is a multi 1:1 chat. All the participants will establish a 1:1 chat with a center point called “focus”. This logical role is implemented as a part of RCS (CPM/SIMPLE) server functionality.

Group Chat – focus

As mentioned, in case of RCS we mostly talk about ‘Ad-hoc’ conferencing. That means that the conference does not need to be scheduled or reserved, but is created “on the fly”. The benefit of this approach is that the conference URI doesn’t need to be known to the user; instead it is created by the focus (RCS server) and used by the participants’ UAs. The SIP URI of the Conference Factory is usually provisioned in the client (as in a “create new conference” button). Read More

Like this:

Very funny. Even in 2015 we still rely in many ways on the old good SMS. No, operators are not making the money on the service as they were used to in the past. However it is not easy for them to fully replace the service (e.g. by RCS). That’s why the VoLTE standard GSMA IR.92 says:

The UE must implement the roles of an SM-over-IP sender and an SM-over-IP receiver, the IMS core network must take the role of an IP-SM-GW.

Update: SMS is about to stay even in 5G. So much for RCS replacing SMS.

In other words, the VoLTE network has to support the (legacy) SMS sent over IP (SIP). The VoLTE phone will receive a common (binary) SMS and the native client will display this message as any other. The only difference is that this time the SMS is sent from an IMS network over SIP protocol. Mind the purpose is not just to support common text messages, but also to support OTA messaging for (U)SIM provisioning, SMS ‘non-text’ applications or Message Waiting Indication for Voice Mail.

SMS over IP

The network functionality which provides messaging service in the IMS network is called IP-SM Gateway (IP-SM-GW) and from the IMS point of view it is an Application Server. IP-SM-GW Call flows originate or terminate in LTE network and IP-SM-GW forwards the messages towards/from legacy SMSC, which is still located in CS network.

Like this:

Instant (multimedia) messaging is a key feature for RCS as it should replace SMS service. There are more types of messages which can be sent through the IMS network.

When we will take a look on the SIP indication of capabilities by Accept header there are quite a few of supported formats:

Text/plain

Message/CPIM

Application/reginfo+xml

Application/vnd.3gpp.sms

Message/imdn+xml

Application/3gpp-ims+xml

For common Instant Messages we typically use Common Profile for Instant Messaging (CPIM). This format allows compatibility among various messaging technologies. Notifications are then sent as in Instant Message Disposition Notification (IMDN) format.

Messages can be exchanged over SIP or MSRP protocol. Sometimes also http/ws is being used for transfer of rich content.

RCS 5.2 defines two basic types of messaging. They are the Session Mode Messaging which is based on SIP INVITE and MSRP session and the Pager Mode Messaging which is based on SIP Message. The RCS refers to OMA CPM which is considered to be an evolution of the SMS/MMS messaging services.

Session Mode Messaging

Session mode does use SIP INVITE and SDP protocol to establish the session. Within the session MSRP protocol is used. This allows to split ones conversation into dialogs and use “..is typing” notifications. On the other hand more resources is needed.