SlideShare a Scribd company logo
RestComm Mobile Client
SDKs
Antonis Tsakiridis
What are the Mobile Client SDKs
Programming interfaces to add communication capabilities to your mobile Apps,
be that WebRTC audio & video calls or text messages
Provide easy to use, Twilio-compatible APIs for iOS and Android Apps
Client SDKs connect to the RestComm platform to take advantage of its
communications features. Depending on the Restcomm Application logic a
wealth of possibilities open up:
Calls to PSTN/Mobile
SMS to Mobile Networks
P2P audio & video calls and text messages to other RestComm Client
RestComm/
Media Server
RestComm Mobile Client SDKs
Client API Basics
Main entities:
RCDevice is an abstraction of a communications device that can
initiate/receive calls and send/receive messages
RCConnection represents a media connection between the App and
another party
Mobile App creates an RCDevice telling it to which RestComm instance to
connect, and at the same time registers for future events from RestComm
(i.e. incoming calls, text messages, notifications).
Mobile App creates an RCConnection to make a call to another RestComm-
connected endpoint and manage it through its lifetime (for example to mute
iOS Usage Example - Step 1: Initialization
-(void)viewDidLoad
{
...
// Create parameters
self.parameters = [[NSDictionary alloc] initWithObjectsAndKeys:
"sip:bob@cloud.restcomm.com", @"aor",
"1234", @"password",
"cloud.restcomm.com:5060", @"registrar",
nil];
// initialize RestComm Client by setting up an RCDevice
self.device = [[RCDevice alloc] initWithParams:self.parameters
delegate:self];
...
iOS Usage Example - Step 2: Make Call
-(IBAction)onCallClick:(id)sender
{
...
self.parameters = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"video-enabled",
"sip:alice@cloud.restcomm.com", @"username",
nil];
self.connection = [self.device connect:self.parameters delegate:self];
...
iOS Usage Example - Step 3: Send Text Message
- (IBAction)onSendMessageClick:(id)sender
{
...
NSDictionary * parms = [NSDictionary dictionaryWithObjectsAndKeys:
"sip:alice@cloud.restcomm.com", @"username",
"Hi Alice!", @"message",
nil];
[self.device sendMessage:parms];
...
Client library events: RCDevice
RCDevice events notify the App of Device related events occurring within the
Client library and are defined at RCDeviceDelegate protocol that the App
needs to implement. Such events are:
Incoming calls (didReceiveIncomingConnection)
Incoming messages (didReceiveIncomingMessage)
Reachability updates (didReceiveConnectivityUpdate)
Device state (didStart/StopListeningForIncomingConnections)
Client library events: RCConnection
RCConnection events are similar but regard a Connection and are defined at
RCConnectionDelegate protocol that the App needs to implement. Such
events are:
Connection state update events (connectionDidStartConnecting,
connectionDidConnect, connectionDidDisconnect, connectionDidCancel,
connectionDidGetDeclined)
Local/Remote WebRTC video track availability (didReceiveLocalVideo,
didReceiveRemoteVideo)
Last year’s accomplishments
Started developing both SDKs from scratch
SIP signalling support (Sofia SIP, JAIN SIP)
WebRTC audio & video media support
Custom SIP headers support (which can be consumed by the RVD/RCML
application)
DTMF support
Olympus App that taps into the Client SDK facilities and provides a SIP client
with WebRTC support.
Next steps - General Availability - March 2016
TLS support as we get closer to the RestComm cloud offering
Inter-app integration with tel-uri scheme
TURN media support to be able to handle more strict topologies (such as P2P
calls to cellular data networks)
Improve SDK packaging for easier distribution (CocoaPods, Maven)
Automated Testing, Continuous Integration, Continuous Delivery.
Further down the road
Improved reachability facilities, to handle network connectivity changes within a
live call (v2.0.0 - June 2016)
Screen & File sharing (v2.0.0)
Server based group chat (v2.0.0)
Recording (v.2.0.0)
Location (v3.0.0 - Sept 2016)
Video Conferencing (v4.0.0 - Dec 2016)
Demo
Useful Links
iOS SDK
Project Home at GitHub: https://github.com/Mobicents/restcomm-ios-sdk
Roadmap: https://github.com/Mobicents/restcomm-ios-sdk/milestones
Quick Start Guide: http://docs.telestax.com/restcomm-client-ios-sdk-quick-start/
Reference Documentation: http://mobicents.github.io/restcomm-ios-sdk/doc/html/
RestComm Forum https://groups.google.com/forum/#!forum/restcomm
Android SDK
Project Home at GitHub: https://github.com/Mobicents/restcomm-android-sdk

More Related Content

PDF
Restcomm past and future
PPTX
RestComm Architecture Design
PPTX
Restcomm in an oauth environment
PDF
Introduction to RestComm - Mobicents Summit 2011
PDF
Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean ...
PPT
Flex And Java Integration
PPT
Flex And Java Integration
PPTX
Integrate WebRTC Voice / Video Call App Using Contus Fly
Restcomm past and future
RestComm Architecture Design
Restcomm in an oauth environment
Introduction to RestComm - Mobicents Summit 2011
Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean ...
Flex And Java Integration
Flex And Java Integration
Integrate WebRTC Voice / Video Call App Using Contus Fly

What's hot (6)

PPTX
Biz talk summit 2013 - The new cloud related adapters
PPTX
Windows Communication Foundation (WCF) Service
PDF
Dangerous Demo: Apidaze
PPTX
Datasmith Pigeon Voice middleware server
DOC
WCF tutorial
PPT
Biz talk summit 2013 - The new cloud related adapters
Windows Communication Foundation (WCF) Service
Dangerous Demo: Apidaze
Datasmith Pigeon Voice middleware server
WCF tutorial
Ad

Similar to RestComm Mobile Client SDKs (20)

PDF
Telestax TADHack Presentation
KEY
Jose De Castro - Presentation at Emerging Communications Conference & Awards ...
KEY
WebRTC - @eCommConf 2011
PPTX
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
PPTX
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
PPTX
DevCon5 (July 2014) - Acision SDK
PDF
iPhone Developer Summit West
PDF
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
PDF
WebRTC-Telco Monetization Webinar by Solaiemes
PDF
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
PDF
Twilio Signal 2016 Real-time Communications Overview
PDF
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
PDF
Getting started with WebRTC
PPTX
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
PDF
WebRTC Infrastructure Design
PDF
Mobicents Telscale and RestComm - FOSDEM 2012
PPTX
Html5 rtc 2
PDF
Next Generation Client APIs in Envoy Mobile
PDF
D1-3-Signaling
PDF
Apidaze WebRTC Workshop barcelona 21st april 2013
Telestax TADHack Presentation
Jose De Castro - Presentation at Emerging Communications Conference & Awards ...
WebRTC - @eCommConf 2011
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
Peer-to-Server Media in WebRTC (Enterprise Connect 2014)
DevCon5 (July 2014) - Acision SDK
iPhone Developer Summit West
WebRTC and VoIP: bridging the gap (Kamailio world conference 2013)
WebRTC-Telco Monetization Webinar by Solaiemes
React Native EU 2021 - Creating a VoIP app in React Native - the beginner's g...
Twilio Signal 2016 Real-time Communications Overview
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Getting started with WebRTC
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebRTC Infrastructure Design
Mobicents Telscale and RestComm - FOSDEM 2012
Html5 rtc 2
Next Generation Client APIs in Envoy Mobile
D1-3-Signaling
Apidaze WebRTC Workshop barcelona 21st april 2013
Ad

More from telestax (20)

PPTX
Api and fly! CPaaS Enablement: Combining Apps, Networks, and APIs
PPSX
Location Based Services at Heterogeneous Networks
PDF
Restconn 2015 products
PDF
Restconn 2015 products
PDF
New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...
PDF
TeleStax - Convergence - uFone - AWCC - TADS 2014
PDF
New Business Opportunities created by the IoT Explosion - WebRTCSummit - San...
PDF
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
PDF
Restcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CA
PDF
Tel scale ussd_gateway-vuc
PDF
Open Source Hangouts on WebRTC - WebRTC Workshop IMS World Forum
PDF
Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...
PDF
Mobicents Summit 2012 - Twilio Expanding internationally Challenges Solutions
PDF
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
PDF
Mobicents Summit 2012 - TeleStax Keynote
PDF
Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...
PDF
Mobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestComm
PDF
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
PDF
Mobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 Card
PDF
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Api and fly! CPaaS Enablement: Combining Apps, Networks, and APIs
Location Based Services at Heterogeneous Networks
Restconn 2015 products
Restconn 2015 products
New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...
TeleStax - Convergence - uFone - AWCC - TADS 2014
New Business Opportunities created by the IoT Explosion - WebRTCSummit - San...
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Restcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CA
Tel scale ussd_gateway-vuc
Open Source Hangouts on WebRTC - WebRTC Workshop IMS World Forum
Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...
Mobicents Summit 2012 - Twilio Expanding internationally Challenges Solutions
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
Mobicents Summit 2012 - TeleStax Keynote
Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...
Mobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestComm
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 Card
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Getting Started with Data Integration: FME Form 101
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Mushroom cultivation and it's methods.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
OMC Textile Division Presentation 2021.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Tartificialntelligence_presentation.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Approach and Philosophy of On baking technology
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Assigned Numbers - 2025 - Bluetooth® Document
Web App vs Mobile App What Should You Build First.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
1 - Historical Antecedents, Social Consideration.pdf
Hindi spoken digit analysis for native and non-native speakers
Getting Started with Data Integration: FME Form 101
A comparative analysis of optical character recognition models for extracting...
Mushroom cultivation and it's methods.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
OMC Textile Division Presentation 2021.pptx
Programs and apps: productivity, graphics, security and other tools
Tartificialntelligence_presentation.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Approach and Philosophy of On baking technology
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf

RestComm Mobile Client SDKs

  • 2. What are the Mobile Client SDKs Programming interfaces to add communication capabilities to your mobile Apps, be that WebRTC audio & video calls or text messages Provide easy to use, Twilio-compatible APIs for iOS and Android Apps Client SDKs connect to the RestComm platform to take advantage of its communications features. Depending on the Restcomm Application logic a wealth of possibilities open up: Calls to PSTN/Mobile SMS to Mobile Networks P2P audio & video calls and text messages to other RestComm Client
  • 5. Client API Basics Main entities: RCDevice is an abstraction of a communications device that can initiate/receive calls and send/receive messages RCConnection represents a media connection between the App and another party Mobile App creates an RCDevice telling it to which RestComm instance to connect, and at the same time registers for future events from RestComm (i.e. incoming calls, text messages, notifications). Mobile App creates an RCConnection to make a call to another RestComm- connected endpoint and manage it through its lifetime (for example to mute
  • 6. iOS Usage Example - Step 1: Initialization -(void)viewDidLoad { ... // Create parameters self.parameters = [[NSDictionary alloc] initWithObjectsAndKeys: "sip:bob@cloud.restcomm.com", @"aor", "1234", @"password", "cloud.restcomm.com:5060", @"registrar", nil]; // initialize RestComm Client by setting up an RCDevice self.device = [[RCDevice alloc] initWithParams:self.parameters delegate:self]; ...
  • 7. iOS Usage Example - Step 2: Make Call -(IBAction)onCallClick:(id)sender { ... self.parameters = [[NSDictionary alloc] initWithObjectsAndKeys: [NSNumber numberWithBool:YES], @"video-enabled", "sip:alice@cloud.restcomm.com", @"username", nil]; self.connection = [self.device connect:self.parameters delegate:self]; ...
  • 8. iOS Usage Example - Step 3: Send Text Message - (IBAction)onSendMessageClick:(id)sender { ... NSDictionary * parms = [NSDictionary dictionaryWithObjectsAndKeys: "sip:alice@cloud.restcomm.com", @"username", "Hi Alice!", @"message", nil]; [self.device sendMessage:parms]; ...
  • 9. Client library events: RCDevice RCDevice events notify the App of Device related events occurring within the Client library and are defined at RCDeviceDelegate protocol that the App needs to implement. Such events are: Incoming calls (didReceiveIncomingConnection) Incoming messages (didReceiveIncomingMessage) Reachability updates (didReceiveConnectivityUpdate) Device state (didStart/StopListeningForIncomingConnections)
  • 10. Client library events: RCConnection RCConnection events are similar but regard a Connection and are defined at RCConnectionDelegate protocol that the App needs to implement. Such events are: Connection state update events (connectionDidStartConnecting, connectionDidConnect, connectionDidDisconnect, connectionDidCancel, connectionDidGetDeclined) Local/Remote WebRTC video track availability (didReceiveLocalVideo, didReceiveRemoteVideo)
  • 11. Last year’s accomplishments Started developing both SDKs from scratch SIP signalling support (Sofia SIP, JAIN SIP) WebRTC audio & video media support Custom SIP headers support (which can be consumed by the RVD/RCML application) DTMF support Olympus App that taps into the Client SDK facilities and provides a SIP client with WebRTC support.
  • 12. Next steps - General Availability - March 2016 TLS support as we get closer to the RestComm cloud offering Inter-app integration with tel-uri scheme TURN media support to be able to handle more strict topologies (such as P2P calls to cellular data networks) Improve SDK packaging for easier distribution (CocoaPods, Maven) Automated Testing, Continuous Integration, Continuous Delivery.
  • 13. Further down the road Improved reachability facilities, to handle network connectivity changes within a live call (v2.0.0 - June 2016) Screen & File sharing (v2.0.0) Server based group chat (v2.0.0) Recording (v.2.0.0) Location (v3.0.0 - Sept 2016) Video Conferencing (v4.0.0 - Dec 2016)
  • 14. Demo
  • 15. Useful Links iOS SDK Project Home at GitHub: https://github.com/Mobicents/restcomm-ios-sdk Roadmap: https://github.com/Mobicents/restcomm-ios-sdk/milestones Quick Start Guide: http://docs.telestax.com/restcomm-client-ios-sdk-quick-start/ Reference Documentation: http://mobicents.github.io/restcomm-ios-sdk/doc/html/ RestComm Forum https://groups.google.com/forum/#!forum/restcomm Android SDK Project Home at GitHub: https://github.com/Mobicents/restcomm-android-sdk