/
1.8.1 Instant messaging, chat

1.8.1 Instant messaging, chat


Instant Messaging (IM) refers to the transfer of messages between users.  These messages are usually, but not required to be, short.  IMs are used in a conversational mode,   that is, the transfer of messages back and forth is fast enough for participants to maintain an interactive conversation. The conversations are presented in a chat menu and are accessible from:

  • RCS and PBX softphones
  • VUP self-care portal
  • VUC (PBX) portal

The IMs are not chargeable. The requirement for a message to be treated as an IM is that the Routing plan routes the message to a specific user or to the user lookup function – same as for the ONNET calling.

The IM makes use of the SIP method MESSAGE, as defined in RFC 3428. The IM is also a part, together with the Presence, the SIP SIMPLE framework.

The flow for the inbound SIP MESSAGE request is following:

  • Dialing rules are applied to the dialed number, i.e. to the user part of the address from the TO header.
  • The routing procedure looks for the matching entry with the route type Retail client
  • If the entry is found the message is sent to the destination user endpoint – if the user is registered. The message is saved to the sms_inbox table with the sms_status field set to 0 which means that the message has been delivered
  • If the user is not registered, or there is no 200 OK response the message is copied to sms_inbox with sms_status 0 which stands for not delivered


If there is no matching routing entry with the Retail client route type the voipswitch treats the message as an SMS and forwards to the VSServices API.

Push notification support

In RCS or UC deployments the system is configured to support so called PUSH notification mechanism to send messages over external PUSH providers if the user is offline.

When a message arrives and the destination endpoint is not registered or is registered but does not respond with 200 OK the voipswitch will try to send such message as a push notification. The request will not be sent if none of the instances, representing different terminals, has a PUSH token. The PUSH token is obtained by a client terminal from a PUSH service provider.  The providers differ for various client’s operating system, i.e. Android, iOS.

On receiving PUSH notification with message or voicemail the app calls the EMCD method which provides call history per account. The EMCD responds with the latest communication which should include the latest message for which the PUSH was sent.

Sending multimedia files uses the PUSH framework same way as other chat messages. The difference is in the type parameter of the PUSH message. When the type indicates a file the app will present appropriate popup.

Related content