Rich Communications
with Kamailio & IMS
What is he talking about?
Timetravel: The 90s till today
IMS on Kamailio
Definition: Rich Communications
Rich Communications in SIP and Kamailio
Practical example: Be surprised...
Outlook: Doubango Framework & Clients
Let's look back to the 90's:
VoIP is pretty cool
IMS is pretty cool
3GPP Release 99
...but there was a backdoor:
Voice could still
be circuit
switched.
And many operators were lazy...
...and kept using circuit switched for voice.
In modern networks there is no backdoor.
If you want Voice, you must have IP.
EVERYTHING is IP!
And now?
Just All-IP networks left
(e.g. LTE, DSL, ...)
VoIP & SIP is still pretty cool...
...but quite often not really standardized.
IMS was (back in the 90's)
a pretty cool concept
IMS is still pretty cool!
IMS on Kamailio
Diameter interfaces added
(e.g. Cx, Dx, Sh, Ro, Rx)
Aligned implementation with IMS specs &
created sample configuration
Will go in Live for an
LTE network in Tansania!
Current Status
So now we've got VoIP in mobile/fixed networks.
Boooooring!
Let's talk about SIP...
SIP was never designed for just Voice
H323 was PSTN Emulation
SIP was Multimedia-Sessions
SIP is heavily extendable
Several RFC's already defined for Rich
Communications
Let's talk about Rich Communications:
Rich phonebook
Presence & Instant Messaging
Video and other Media (Online-Gaming?)
SIP beyond VoIP was published 2007...
Let's get started!
SIMPLE Presence
SIP for Instant Messaging and Presence Leveraging
Extensions
Developed by the IETF
SIMPLE defines an extensible framework based in
the Publish-Subscribe-Notify model
Extended in several RFCs
Adopted by the GSMA with RCS (rel 1-4, +RCSe)
Rich Communications beyond SIP
XCAP
XML Configuration Access Protocol
XCAP-Applications:
XCAP capabilities
Online Resources (Buddy-Lists, Configuration, ...)
Presence rules
RLS services (Subscribe to List Changes)
defined in RFC4825, 4826, 4827 & RFC5025
Rich Communications beyond SIP
MSRP
Message Session Relay Protocol
Session based IM for SIP
RFC 3428 (SIP MESSAGE) is not true IM
defined in RFC 4975 & 4976
Message Session Relay Protocol
Establish and negotiate an TCP connection between
two endpoints
Chat sessions
File transfer (RFC 5547)
Desktop sharing
Image/Music streaming
Integration in Kamailio
SIP/SIMPLE is integrated in Kamailio for years
Including Extensions for RLS & Conferencing
Including an XMPP Gateway functionality
Integrated XCap-Server was added in 2010
Integrated MSRP-Relay was added in March 2012
All protocols for
GSMA's RCS-Standards implemented!
What's next?
Let's embed Facebook (or Google+ or ...) to your
Presence-Experience with LUA:
function add_facebook_info()
user = sr.pv.get("rb")
r, c, h =
http.request("https://graph.facebook.com/...")
if c == 200 then
sr.pv.put("new_content", process(r));
end
And use it in Kamailio:
modparam("app_lua", "load",
"/etc/kamailio/lua/fb.lua")
event_route[xhttp:request] {
[...]
switch($rm) {
case "PUT":
if(lua_run("add_facebook_info"))
xcaps_put("$var(uri)", "$hu",
"$new_content");
else
xcaps_put("$var(uri)", "$hu", "$rb");
exit;
[...]
Just imagine what you could do...
Use Instant-Messaging for posting on your
favorite social network
Add friends to your buddy list and on your
favorite social network using one interface
Use Facebook photos in your buddy-list
How about a Like button in your SIP/IMS
IPTV-App?
Now we've got the Server.
How about a client?
The Doubango Framework is an Open-Source/GPL
client Framework, with full support for:
SIP Audio and Video
SIP Presence / Simple
XCap
MSRP
Audio/Video (AMR, Speex, G.729, G.711, GSM, iLBC,
VP8, H.264, H.263, Theora, MP4V-ES...)
Full HD (1080p) video
More on Doubango.org...
With Reference Implementations:
IMSDroid for Android-Devices
IDoubs for IOS (iPhone, iPad, iPod)
Boghe for Windows
and a brand new SipML5 using WebRTC:
Audio and Video
For easy integration into Browsers
(or social networks, or...)
No Plugin or Gateway required
just HTML5 and WebRTC
Questions?
Thank you!
Contact: www.ng-voice.com -
[email protected]