TADSummit 2022, 8/9 Nov Aveiro Portugal
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems.
Bogdan-Andrei Iancu, Founder and Developer at OpenSIPS Project
SIP also supports instant messaging and presence.
Review of Messaging in IMS
Review of Messaging in Unified Communications
OpenSIPS 3.3 in the messaging ecosystem
Review of implementation using Message Session Relay Protocol (RFC 4975, RFC 4976), groups multiple messages in sessions.
Conclusions: OpenSIPS 3.3 targets to implement various components of the overall SIP Instant MESSAGING ecosystem, from gateways and transport to services.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
1. Bogdan Iancu
- 9th of November 2022 -
OpenSIPS 3.3 – Messaging in
the IMS and UC ecosystems
2. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
● highly customizable SIP server
● multi-process, low resource usage (written in C)
● bespoke configuration language (opensips.cfg)
● flexible and powerful (178 modules)
2
What is OpenSIPS?
3. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
OpenSIPS 3.3
..is “Instant Messaging” focused
3
● IM was/is usually
neglected in SIP
● IM is really important
in IMS ecosystem (RCS)
● There is no Unified
Communication without IM
4. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
SIP MESSAGE method, RFC 3428 ->
IM in Page Mode
IM, from MESSAGE …..
4
5. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Message Session Relay Protocol
(MSRP), RFC 4975, RFC 4976 ->
IM in Session Mode
…. to MSRP
5
6. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Session mode
The main advantage of Session Mode is the that you can deal
with IM in a more complex way, session based (or chats)
this enables more advanced IM oriented services to be built,
or unified with the audio/video/presence capabilities.
6
12. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
MSRP User Agent
Also Bridging in the external apps/entities:
● External apps may use OpenSIPS API
● Events (to be notified) and commands (to trigger actions)
12
14. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Call Center to…Contact Center
In addition to voice/video, a Contact Center may support
Messaging/Chat, emails or tickets as communication channels
between Customers and Agents.
1. Agents, beside skills, will have multiple supported
communication types.
2. Certain communication types may support multiple parallel
channels (like an agent may do 4 chats simultaneous)
3. An agent cannot do different communication types in the
same time
14
16. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Call Distribution Algorithms
Balancing Mode
1. Distribute one item (call or chat) to each available
agent
2. An agent doing chats cannot take calls, even if he has
free channels!
3. ADVANTAGE: avoid overloading certain agents
4. DOWNSIDE: starvation of the audio calls in the queue
16
18. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Call Distribution Algorithms
Full-load mode
1. Optimize the chat sessions usage – once the agent takes a
chat, all the following chats will be assigned to him
2. Efficient in using the chat resources/sessions of an
agents, to leave as much space as possible for calls
3. ADVANTAGE: avoids call starvation in the queue
4. DOWNSIDE: may lead to a dis-balanced loading of chat
agents
18
20. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Call Distribution Algorithms
● None of the above algorithms are perfect
● The ideal algorithm will require some full queue
inspection (look-ahead) in order to compute the optimal
distribution
● Alternative - the “external” dispatching via API
○ Disable internal call dispatching
○ Build your own external application for implementing the algorithm
○ Use MI to fetch the status of the queued calls and logged agents
○ Use MI dispatching a call to an agent
20
21. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
External Call Distribution - API
21
23. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Rich Communication Services (RCS)
● RCS is a suite of specifications from OMA and GSMA aimed
at replacing SMS messages with a richer messaging system
● the vast majority of SIP-related RCS features are already
supported by OpenSIP
○ RFC 3261 (SIP)
○ RFC 3428 (SIP MESSAGE)
○ RFC 3550 (RTP/RTCP)
○ RFC 3501 (IMAP4)
○ RFC 4566 (SDP)
○ RFC 4975 (MSRP)
○ RFC 5547 (SDP attributes for file transfer)
23
24. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
RCS - what is missing?
● OpenSIPS already supports everything that’s SIP in there
● RCS capabilities - developers may need to program
OpenSIPS in order to mangle those capabilities before
routing RCS SIP traffic to an interconnected carrier
○ removing unsupported capabilities
○ adding extra ones in case an endpoint did not include them.
● showcasing the string-managing techniques needed to shape
up the RCS capabilities of the egress SIP messages
○ https://www.opensips.org/Documentation/Tutorials-RCS-Managing-Capabilities
24
25. - TADSummit 2022 -
Bogdan Iancu - OpenSIPS Project
Roadmap
● End-to-end encryption of MSRP chats
● Recording of MSRP chats (transcripts)
● Real time interception of MSRP chats (supervisor)
● Multi-chat support (MSRP conference)
● Better support for control events (like “typing”, “read”)
25
26. ● Bogdan Iancu
○ OpenSIPS Project: www.opensips.org
○ Email: bogdan@opensips.org
Take-Away Message
Start the chatting with OpenSIPS 3.3
26