SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Restcomm Architecture & Design
for new developers
Contents
● About the project
● RCML (Restcomm Markup Language)
● RVD (Restcomm Visual Designer)
● Restcomm REST APIs
● Restcomm Core
○ Service plugins
○ Extensions
What is Restcomm?
" Restcomm is a next generation cloud communications
platform to rapidly build voice, video, and messaging
applications, using mainstream development skills. "
About the project
Management and distribution technologies
GitHub Link
CloudBees Link
Docker Link
Restcomm's ecosystem
Uses Restcomm
Used by Restcomm
RCML
The Restcomm Markup Language (RCML) is composed of a set of XML tags that
can be used to instruct Restcomm on how to handle an on-going phone call.
How?
The tags that composes the RCML are named as verbs and nouns, the
combination between these elements form the path followed by Restcomm during
the call.
RCML
Examples:
<Response>
<Say>Hello World</Say>
</Response>
<Response>
<Dial>
<Client>bob</Client>
</Dial>
</Response>
verbs: Say
verbs: Dial
nouns: Client
RCML
Examples:
<Response>
<Gather action="handle-user-input.php" numDigits="1">
<Say>Welcome to TPS.</Say>
<Say>For store hours, press 1.</Say>
<Say>To speak to an agent, press 2.</Say>
<Say>To check your package status, press
3.</Say>
</Gather>
<!-- If customer doesn't input anything, prompt and try again. -
->
<Say>Sorry, I didn't get your response.</Say>
<Redirect>handle-incoming-call.xml</Redirect>
</Response>
For more info about RCML: http://docs.telestax.com/restcomm-pages/
RVD
RVD (Restcomm Visual Designer) is a Restcomm resource that allows us to
create and edit RCML applications using graphical user interface components.
Features:
● drag & drop verbs and nouns to build RCML applications;
● manage audio resources and modules;
● provide the RCML on demand to Restcomm;
● import and export projects, and more.
RVD
<Response>
<Say>Hello World</Say>
</Response>
Corresponding RCMLApplication created using RVD
RVD
<Response>
<Dial>
<Client>bob</Client>
</Dial>
</Response>
Application created using RVD Corresponding RCML
RVD
Example of a call
flow to an
application
Restcomm REST APIs
Restcomm Restful APIs is a set of web service endpoints that allows us to
manage and use Restcomm resources through the standard HTTP methods.
Features:
● create, read, update and delete accounts, phone numbers, calls, text
messages, recordings, etc;
● create and control Voice, SMS and USSD sessions (start a new call, send a
new sms message, etc);
● access secured by authentication, HTTPS protocol and Multi-tenancy control
Restcomm REST APIs
Some of the available endpoints
Account
AvailablePhoneNumbers
Calls
Clients
Gateway
IncomingPhoneNumbers
Notifications
OutboundProxy
Recordings
SMS Messages
Transcriptions
Usage Records
UssdPush
For more info about available endpoints: http://docs.telestax.com/restcomm-pages/
Restcomm REST APIs
Accessing Accounts list endpoint, using HTTP GET method
URL description: http://127.0.0.1:8080/restcomm/2012-04-24/Accounts.json
Browser access: use login credentials (email / password)
cURL access: use Account SID and Auth Token
Server
address
Context
name
API version Endpoint
name
Response
format
(default
XML if
omitted)
Restcomm REST APIs
Accessing Accounts list endpoint, using HTTP GET method
JSON XML
Restcomm REST APIs
Simple access diagram
Restcomm REST APIs
Multi-tenancy
Primary Account can view and manage
Application P, DID P, DID A and DID B only.
Subaccount A can view and manage
Application A and DID A only.
Subaccount B can view and manage
Application B and DID B only.
Secondary Account can view and manage
Application S, DID S, DID C and DID D
only.
Subaccount C can view and manage
Application C and DID C only.
Subaccount D can view and manage
Application D and DID D only.
Restcomm REST APIs
Hints for the development of a new endpoint
● consult an existing endpoint (like ClientsEndpoint) and use it as reference;
● always check the need of authentication and multi-tenancy;
● create unit / integration tests to finish with development.
Restcomm REST APIs
Guidelines to the development of a new endpoint
Description about previous slide
AbstractEndpoint: holds the common structure used by all endpoints
ClientsEndpoint: implementation of the endpoint logic
ClientsXmlEndpoint: link the HTTP methods with endpoint logic through XML
ClientsJsonEndpoint: link the HTTP methods with endpoint logic through JSON
AbstractConverter: holds the common structure to build all responses
ClientConverter: implementation to create specific JSON and XML responses
ClientsDao: interface to access and interact with MyBatis database layer
Restcomm REST APIs
Restcomm Core: Service Plugins
Service plugins are the way to implement services for the Restcomm core.
How?
● Restcomm core defines HOW a service is used inside the platform
● the service represents, in a generic way, the scope and domain of a
resource
● the API defines the contract to be implemented.
● the plugin implements a specific derivation of the service known by
Restcomm core
Restcomm Core: Service Plugins
Example
Service: TTS (Text-to-speech)
API: restcomm.tts.api (name of the Maven module that represents the API)
Plugin: restcomm.tts.voicerss (name of the Maven module that represents the
VoiceRSS TTS plugin)
Restcomm Core: Service Plugins
Restcomm Core: Service Plugins
Guidelines to the development of a new Plugin
● understand how the service works (its scope and domain inside Restcomm);
● know the resources available through the API;
● create a new Maven module (name pattern:
restcomm.{servicename}.{pluginname});
● have fun developing;
● create unit / integration tests to finish development.
Restcomm Core: Extensions
Extend restcomm functionality without the need to know Restcomm core internals.
Restcomm will dynamically load available extensions in the classpath and execute
them on a pre defined injection points.
Examples of extensions:
● Traffic throttling
● Least cost routing
● Applications update
● Dial plan
● Abbreviated dialing
● Charging
Restcomm Core: Extensions
Restcomm Core: Interpreters
Interpreter is the component that translates RCML into telecom protocols.
Interpreters will get the RCML for a given application, interpret it and execute it.
Features:
● different interpreter according to the session (Call, SMS, USSD);
● allow users to focus on the business logic using RCML instead of spending
time with telco protocols;
Restcomm Core: Interpreters
Examples:
● Voice Interpreter
● SMS Interpreter
● USSD Interpreter
<Response>
<Say>Hello World</Say>
</Response>
Voice Interpreter
"Hello World"
Thank you!
Guilherme Humberto Jansen
guilherme.jansen@telestax.com

Contenu connexe

Tendances

Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceSj Lim
 
RIA With Flex & Java Using BlazeDS
RIA With Flex & Java Using BlazeDSRIA With Flex & Java Using BlazeDS
RIA With Flex & Java Using BlazeDSHien Luu
 
SOAP:Simple Object Access Protocol -XML-RPC
SOAP:Simple Object Access Protocol-XML-RPCSOAP:Simple Object Access Protocol-XML-RPC
SOAP:Simple Object Access Protocol -XML-RPCelliando dias
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Peter R. Egli
 
Restful communication with Flex
Restful communication with FlexRestful communication with Flex
Restful communication with FlexChristian Junk
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewJorgen Thelin
 
Simple Object Access Protocol (SOAP)
Simple Object Access Protocol (SOAP)Simple Object Access Protocol (SOAP)
Simple Object Access Protocol (SOAP)Mehul Boricha
 
Wcf difference faqs- 3
Wcf difference faqs- 3Wcf difference faqs- 3
Wcf difference faqs- 3Umar Ali
 
Async Scope With Mule ESB
Async Scope With Mule ESBAsync Scope With Mule ESB
Async Scope With Mule ESBJitendra Bafna
 
WebSphere MQ CHLAUTH - including V8 changes
WebSphere MQ CHLAUTH - including V8 changesWebSphere MQ CHLAUTH - including V8 changes
WebSphere MQ CHLAUTH - including V8 changesMorag Hughson
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolMasud Rahman
 
Quartz connector mule
Quartz connector   muleQuartz connector   mule
Quartz connector muleSindhu VL
 
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Microsoft Technet France
 

Tendances (20)

Windows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) ServiceWindows Communication Foundation (WCF) Service
Windows Communication Foundation (WCF) Service
 
RIA With Flex & Java Using BlazeDS
RIA With Flex & Java Using BlazeDSRIA With Flex & Java Using BlazeDS
RIA With Flex & Java Using BlazeDS
 
SOAP:Simple Object Access Protocol -XML-RPC
SOAP:Simple Object Access Protocol-XML-RPCSOAP:Simple Object Access Protocol-XML-RPC
SOAP:Simple Object Access Protocol -XML-RPC
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Restful communication with Flex
Restful communication with FlexRestful communication with Flex
Restful communication with Flex
 
Interoperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) OverviewInteroperability and Windows Communication Foundation (WCF) Overview
Interoperability and Windows Communication Foundation (WCF) Overview
 
WCF
WCFWCF
WCF
 
Simple Object Access Protocol (SOAP)
Simple Object Access Protocol (SOAP)Simple Object Access Protocol (SOAP)
Simple Object Access Protocol (SOAP)
 
WCF
WCFWCF
WCF
 
Wcf difference faqs- 3
Wcf difference faqs- 3Wcf difference faqs- 3
Wcf difference faqs- 3
 
Async Scope With Mule ESB
Async Scope With Mule ESBAsync Scope With Mule ESB
Async Scope With Mule ESB
 
Lecture 3 soap
Lecture 3 soapLecture 3 soap
Lecture 3 soap
 
Biztalk ESB Toolkit Demos
Biztalk ESB Toolkit DemosBiztalk ESB Toolkit Demos
Biztalk ESB Toolkit Demos
 
WebSphere MQ CHLAUTH - including V8 changes
WebSphere MQ CHLAUTH - including V8 changesWebSphere MQ CHLAUTH - including V8 changes
WebSphere MQ CHLAUTH - including V8 changes
 
WFC #1
WFC #1WFC #1
WFC #1
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access Protocol
 
Quartz connector mule
Quartz connector   muleQuartz connector   mule
Quartz connector mule
 
Exchange 2013 Migration & Coexistence
Exchange 2013 Migration & CoexistenceExchange 2013 Migration & Coexistence
Exchange 2013 Migration & Coexistence
 
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
Exchange Server 2013 : upgrade migration et co-existence avec les anciennes v...
 

En vedette

Location Based Services at Heterogeneous Networks
Location Based Services at Heterogeneous NetworksLocation Based Services at Heterogeneous Networks
Location Based Services at Heterogeneous Networkstelestax
 
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013Alan Quayle
 
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gateway
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD GatewayMobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gateway
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gatewaytelestax
 
Is Your Business Bold Enough for Social Culture?
Is Your Business Bold Enough for Social Culture?Is Your Business Bold Enough for Social Culture?
Is Your Business Bold Enough for Social Culture?Neville Hobson
 
Location Based Services at ASBTDC
Location Based Services at ASBTDCLocation Based Services at ASBTDC
Location Based Services at ASBTDCCollin Condray
 
Перспективность "Location-Based" Сервисов
Перспективность "Location-Based" СервисовПерспективность "Location-Based" Сервисов
Перспективность "Location-Based" СервисовGleb Kaplun
 
Эволюция мобильных устройств и поведение пользователей геосервисов
Эволюция мобильных устройств и поведение пользователей геосервисовЭволюция мобильных устройств и поведение пользователей геосервисов
Эволюция мобильных устройств и поведение пользователей геосервисовYandex
 
Web and Social Media Analytics-October 2015
Web and Social Media Analytics-October 2015 Web and Social Media Analytics-October 2015
Web and Social Media Analytics-October 2015 Collin Condray
 
Использование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийИспользование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийElena Kotina
 
HorizonWatching: How IBM Develops Views of the Potential Futures
HorizonWatching:  How IBM Develops Views of the Potential FuturesHorizonWatching:  How IBM Develops Views of the Potential Futures
HorizonWatching: How IBM Develops Views of the Potential FuturesBill Chamberlin
 
Playcer Presentaton on SCT Moscow #4
Playcer Presentaton on SCT Moscow #4Playcer Presentaton on SCT Moscow #4
Playcer Presentaton on SCT Moscow #4Playcer
 
POIdo RIF StartupPoint 2010 presentation
POIdo RIF StartupPoint 2010 presentationPOIdo RIF StartupPoint 2010 presentation
POIdo RIF StartupPoint 2010 presentationpolina
 
Геотаргетинг - это_Клондайк?
Геотаргетинг - это_Клондайк?Геотаргетинг - это_Клондайк?
Геотаргетинг - это_Клондайк?Yandex
 
Location Based Services at ASBTDC-May 2011
Location Based Services at ASBTDC-May 2011Location Based Services at ASBTDC-May 2011
Location Based Services at ASBTDC-May 2011Collin Condray
 
LBS Введение
LBS ВведениеLBS Введение
LBS ВведениеGleb Kaplun
 

En vedette (20)

Location Based Services at Heterogeneous Networks
Location Based Services at Heterogeneous NetworksLocation Based Services at Heterogeneous Networks
Location Based Services at Heterogeneous Networks
 
Pinterest Presentation
Pinterest Presentation Pinterest Presentation
Pinterest Presentation
 
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013
Telestax Restcomm Telecom API pre-conference workshop 11 Nov 2013
 
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gateway
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD GatewayMobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gateway
Mobicents Summit 2012 - Amit Bhayani - Mobicents SMSC and USSD Gateway
 
Is Your Business Bold Enough for Social Culture?
Is Your Business Bold Enough for Social Culture?Is Your Business Bold Enough for Social Culture?
Is Your Business Bold Enough for Social Culture?
 
Geonotes
GeonotesGeonotes
Geonotes
 
Bada For Press
Bada For PressBada For Press
Bada For Press
 
Location Based Services at ASBTDC
Location Based Services at ASBTDCLocation Based Services at ASBTDC
Location Based Services at ASBTDC
 
Перспективность "Location-Based" Сервисов
Перспективность "Location-Based" СервисовПерспективность "Location-Based" Сервисов
Перспективность "Location-Based" Сервисов
 
Эволюция мобильных устройств и поведение пользователей геосервисов
Эволюция мобильных устройств и поведение пользователей геосервисовЭволюция мобильных устройств и поведение пользователей геосервисов
Эволюция мобильных устройств и поведение пользователей геосервисов
 
Web and Social Media Analytics-October 2015
Web and Social Media Analytics-October 2015 Web and Social Media Analytics-October 2015
Web and Social Media Analytics-October 2015
 
лавренев инкубатор
лавренев инкубаторлавренев инкубатор
лавренев инкубатор
 
Использование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложенийИспользование геосерсисов для монетизации мобильных приложений
Использование геосерсисов для монетизации мобильных приложений
 
HorizonWatching: How IBM Develops Views of the Potential Futures
HorizonWatching:  How IBM Develops Views of the Potential FuturesHorizonWatching:  How IBM Develops Views of the Potential Futures
HorizonWatching: How IBM Develops Views of the Potential Futures
 
Playcer Presentaton on SCT Moscow #4
Playcer Presentaton on SCT Moscow #4Playcer Presentaton on SCT Moscow #4
Playcer Presentaton on SCT Moscow #4
 
POIdo RIF StartupPoint 2010 presentation
POIdo RIF StartupPoint 2010 presentationPOIdo RIF StartupPoint 2010 presentation
POIdo RIF StartupPoint 2010 presentation
 
Геотаргетинг - это_Клондайк?
Геотаргетинг - это_Клондайк?Геотаргетинг - это_Клондайк?
Геотаргетинг - это_Клондайк?
 
Location Based Services at ASBTDC-May 2011
Location Based Services at ASBTDC-May 2011Location Based Services at ASBTDC-May 2011
Location Based Services at ASBTDC-May 2011
 
Mobile Internet
Mobile InternetMobile Internet
Mobile Internet
 
LBS Введение
LBS ВведениеLBS Введение
LBS Введение
 

Similaire à RestComm Architecture Design

ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsIdo Flatow
 
Resting with OroCRM Webinar
Resting with OroCRM WebinarResting with OroCRM Webinar
Resting with OroCRM WebinarOro Inc.
 
Driving containerd operations with gRPC
Driving containerd operations with gRPCDriving containerd operations with gRPC
Driving containerd operations with gRPCDocker, Inc.
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondJon Galloway
 
CocoaConf: The Language of Mobile Software is APIs
CocoaConf: The Language of Mobile Software is APIsCocoaConf: The Language of Mobile Software is APIs
CocoaConf: The Language of Mobile Software is APIsTim Burks
 
Networked APIs with swift
Networked APIs with swiftNetworked APIs with swift
Networked APIs with swiftTim Burks
 
FMS Administration Seminar
FMS Administration SeminarFMS Administration Seminar
FMS Administration SeminarYoss Cohen
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQMatt Leming
 
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Codemotion
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Web services
Web servicesWeb services
Web servicesaspnet123
 
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Codemotion
 
AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axisgauravashq
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxKevi20
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsSteve Speicher
 
What I learned about APIs in my first year at Google
What I learned about APIs in my first year at GoogleWhat I learned about APIs in my first year at Google
What I learned about APIs in my first year at GoogleTim Burks
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-serviceshomeworkping3
 

Similaire à RestComm Architecture Design (20)

ASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP FundamentalsASP.NET Web API and HTTP Fundamentals
ASP.NET Web API and HTTP Fundamentals
 
11 asp.net web api
11 asp.net web api11 asp.net web api
11 asp.net web api
 
Resting with OroCRM Webinar
Resting with OroCRM WebinarResting with OroCRM Webinar
Resting with OroCRM Webinar
 
Driving containerd operations with gRPC
Driving containerd operations with gRPCDriving containerd operations with gRPC
Driving containerd operations with gRPC
 
What you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyondWhat you need to know about .NET Core 3.0 and beyond
What you need to know about .NET Core 3.0 and beyond
 
CocoaConf: The Language of Mobile Software is APIs
CocoaConf: The Language of Mobile Software is APIsCocoaConf: The Language of Mobile Software is APIs
CocoaConf: The Language of Mobile Software is APIs
 
Networked APIs with swift
Networked APIs with swiftNetworked APIs with swift
Networked APIs with swift
 
FMS Administration Seminar
FMS Administration SeminarFMS Administration Seminar
FMS Administration Seminar
 
REST APIs and MQ
REST APIs and MQREST APIs and MQ
REST APIs and MQ
 
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Web services
Web servicesWeb services
Web services
 
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017
 
Revealing C# 5
Revealing C# 5Revealing C# 5
Revealing C# 5
 
AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axis
 
Lecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptxLecture 1 Introduction to Web Development.pptx
Lecture 1 Introduction to Web Development.pptx
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
What I learned about APIs in my first year at Google
What I learned about APIs in my first year at GoogleWhat I learned about APIs in my first year at Google
What I learned about APIs in my first year at Google
 
Chapter 6-Remoting
Chapter 6-RemotingChapter 6-Remoting
Chapter 6-Remoting
 
58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services58615764 net-and-j2 ee-web-services
58615764 net-and-j2 ee-web-services
 

Plus de telestax

Api and fly! CPaaS Enablement: Combining Apps, Networks, and APIs
Api and fly! CPaaS Enablement:  Combining Apps, Networks, and APIsApi and fly! CPaaS Enablement:  Combining Apps, Networks, and APIs
Api and fly! CPaaS Enablement: Combining Apps, Networks, and APIstelestax
 
Restconn 2015 products
Restconn 2015 productsRestconn 2015 products
Restconn 2015 productstelestax
 
Restconn 2015 products
Restconn 2015 productsRestconn 2015 products
Restconn 2015 productstelestax
 
New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...
New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...
New Opportunities for Real Time Communications - WebRTC Conference Japan - Fe...telestax
 
TeleStax - Convergence - uFone - AWCC - TADS 2014
TeleStax - Convergence - uFone - AWCC - TADS 2014TeleStax - Convergence - uFone - AWCC - TADS 2014
TeleStax - Convergence - uFone - AWCC - TADS 2014telestax
 
New Business Opportunities created by the IoT Explosion - WebRTCSummit - San...
New Business Opportunities created by the IoT Explosion - WebRTCSummit  - San...New Business Opportunities created by the IoT Explosion - WebRTCSummit  - San...
New Business Opportunities created by the IoT Explosion - WebRTCSummit - San...telestax
 
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Boost JBoss AS7 with HTML5 WebRTC for Real Time CommunicationsBoost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communicationstelestax
 
Restcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CA
Restcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CARestcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CA
Restcomm in Telehealth - Web RTC Summit - November 2013 - Santa Clara, CAtelestax
 
Tel scale ussd_gateway-vuc
Tel scale ussd_gateway-vucTel scale ussd_gateway-vuc
Tel scale ussd_gateway-vuctelestax
 
Open Source Hangouts on WebRTC - WebRTC Workshop IMS World Forum
Open Source Hangouts on WebRTC - WebRTC Workshop IMS World ForumOpen Source Hangouts on WebRTC - WebRTC Workshop IMS World Forum
Open Source Hangouts on WebRTC - WebRTC Workshop IMS World Forumtelestax
 
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Boost JBoss AS7 with HTML5 WebRTC for Real Time CommunicationsBoost JBoss AS7 with HTML5 WebRTC for Real Time Communications
Boost JBoss AS7 with HTML5 WebRTC for Real Time Communicationstelestax
 
Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...
Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...
Mobicents Summit 2012 - CTBC/Algar TeleCom - Simplifying CTBC's IVR System an...telestax
 
Mobicents Summit 2012 - Twilio Expanding internationally Challenges Solutions
Mobicents Summit 2012 - Twilio Expanding internationally Challenges SolutionsMobicents Summit 2012 - Twilio Expanding internationally Challenges Solutions
Mobicents Summit 2012 - Twilio Expanding internationally Challenges Solutionstelestax
 
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
Mobicents Summit 2012 - Jonas Borjesson - Introduction to TwilioMobicents Summit 2012 - Jonas Borjesson - Introduction to Twilio
Mobicents Summit 2012 - Jonas Borjesson - Introduction to Twiliotelestax
 
Mobicents Summit 2012 - TeleStax Keynote
Mobicents Summit 2012 - TeleStax KeynoteMobicents Summit 2012 - TeleStax Keynote
Mobicents Summit 2012 - TeleStax Keynotetelestax
 
Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...
Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...
Mobicents Summit 2012 - Vladimir Ralev - Mobicents Load Balancer and High Ava...telestax
 
Mobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestComm
Mobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestCommMobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestComm
Mobicents Summit 2012 - Thomas Quintana - The Future Of PBX With RestCommtelestax
 
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...
Mobicents Summit 2012 - George Vagenas - Testing SIP Applications with Arquil...telestax
 
Mobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 Card
Mobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 CardMobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 Card
Mobicents Summit 2012 - Dmitri Soloviev - Telscale SS7 Cardtelestax
 
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud CommunicationsMobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communicationstelestax
 

Plus de telestax (20)

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

Dernier

TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingFrancesco Corti
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxKaustubhBhavsar6
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2DianaGray10
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechProduct School
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 

Dernier (20)

TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
Where developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is goingWhere developers are challenged, what developers want and where DevEx is going
Where developers are challenged, what developers want and where DevEx is going
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
How to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptxHow to become a GDSC Lead GDSC MI AOE.pptx
How to become a GDSC Lead GDSC MI AOE.pptx
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2UiPath Studio Web workshop series - Day 2
UiPath Studio Web workshop series - Day 2
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - TechWebinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
Webinar: The Art of Prioritizing Your Product Roadmap by AWS Sr PM - Tech
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 

RestComm Architecture Design

  • 1. Restcomm Architecture & Design for new developers
  • 2. Contents ● About the project ● RCML (Restcomm Markup Language) ● RVD (Restcomm Visual Designer) ● Restcomm REST APIs ● Restcomm Core ○ Service plugins ○ Extensions
  • 3. What is Restcomm? " Restcomm is a next generation cloud communications platform to rapidly build voice, video, and messaging applications, using mainstream development skills. "
  • 4. About the project Management and distribution technologies GitHub Link CloudBees Link Docker Link
  • 6. RCML The Restcomm Markup Language (RCML) is composed of a set of XML tags that can be used to instruct Restcomm on how to handle an on-going phone call. How? The tags that composes the RCML are named as verbs and nouns, the combination between these elements form the path followed by Restcomm during the call.
  • 8. RCML Examples: <Response> <Gather action="handle-user-input.php" numDigits="1"> <Say>Welcome to TPS.</Say> <Say>For store hours, press 1.</Say> <Say>To speak to an agent, press 2.</Say> <Say>To check your package status, press 3.</Say> </Gather> <!-- If customer doesn't input anything, prompt and try again. - -> <Say>Sorry, I didn't get your response.</Say> <Redirect>handle-incoming-call.xml</Redirect> </Response> For more info about RCML: http://docs.telestax.com/restcomm-pages/
  • 9. RVD RVD (Restcomm Visual Designer) is a Restcomm resource that allows us to create and edit RCML applications using graphical user interface components. Features: ● drag & drop verbs and nouns to build RCML applications; ● manage audio resources and modules; ● provide the RCML on demand to Restcomm; ● import and export projects, and more.
  • 12. RVD Example of a call flow to an application
  • 13. Restcomm REST APIs Restcomm Restful APIs is a set of web service endpoints that allows us to manage and use Restcomm resources through the standard HTTP methods. Features: ● create, read, update and delete accounts, phone numbers, calls, text messages, recordings, etc; ● create and control Voice, SMS and USSD sessions (start a new call, send a new sms message, etc); ● access secured by authentication, HTTPS protocol and Multi-tenancy control
  • 14. Restcomm REST APIs Some of the available endpoints Account AvailablePhoneNumbers Calls Clients Gateway IncomingPhoneNumbers Notifications OutboundProxy Recordings SMS Messages Transcriptions Usage Records UssdPush For more info about available endpoints: http://docs.telestax.com/restcomm-pages/
  • 15. Restcomm REST APIs Accessing Accounts list endpoint, using HTTP GET method URL description: http://127.0.0.1:8080/restcomm/2012-04-24/Accounts.json Browser access: use login credentials (email / password) cURL access: use Account SID and Auth Token Server address Context name API version Endpoint name Response format (default XML if omitted)
  • 16. Restcomm REST APIs Accessing Accounts list endpoint, using HTTP GET method JSON XML
  • 17. Restcomm REST APIs Simple access diagram
  • 18. Restcomm REST APIs Multi-tenancy Primary Account can view and manage Application P, DID P, DID A and DID B only. Subaccount A can view and manage Application A and DID A only. Subaccount B can view and manage Application B and DID B only. Secondary Account can view and manage Application S, DID S, DID C and DID D only. Subaccount C can view and manage Application C and DID C only. Subaccount D can view and manage Application D and DID D only.
  • 19. Restcomm REST APIs Hints for the development of a new endpoint ● consult an existing endpoint (like ClientsEndpoint) and use it as reference; ● always check the need of authentication and multi-tenancy; ● create unit / integration tests to finish with development.
  • 20. Restcomm REST APIs Guidelines to the development of a new endpoint
  • 21. Description about previous slide AbstractEndpoint: holds the common structure used by all endpoints ClientsEndpoint: implementation of the endpoint logic ClientsXmlEndpoint: link the HTTP methods with endpoint logic through XML ClientsJsonEndpoint: link the HTTP methods with endpoint logic through JSON AbstractConverter: holds the common structure to build all responses ClientConverter: implementation to create specific JSON and XML responses ClientsDao: interface to access and interact with MyBatis database layer Restcomm REST APIs
  • 22. Restcomm Core: Service Plugins Service plugins are the way to implement services for the Restcomm core. How? ● Restcomm core defines HOW a service is used inside the platform ● the service represents, in a generic way, the scope and domain of a resource ● the API defines the contract to be implemented. ● the plugin implements a specific derivation of the service known by Restcomm core
  • 23. Restcomm Core: Service Plugins Example Service: TTS (Text-to-speech) API: restcomm.tts.api (name of the Maven module that represents the API) Plugin: restcomm.tts.voicerss (name of the Maven module that represents the VoiceRSS TTS plugin)
  • 25. Restcomm Core: Service Plugins Guidelines to the development of a new Plugin ● understand how the service works (its scope and domain inside Restcomm); ● know the resources available through the API; ● create a new Maven module (name pattern: restcomm.{servicename}.{pluginname}); ● have fun developing; ● create unit / integration tests to finish development.
  • 26. Restcomm Core: Extensions Extend restcomm functionality without the need to know Restcomm core internals. Restcomm will dynamically load available extensions in the classpath and execute them on a pre defined injection points. Examples of extensions: ● Traffic throttling ● Least cost routing ● Applications update ● Dial plan ● Abbreviated dialing ● Charging
  • 28. Restcomm Core: Interpreters Interpreter is the component that translates RCML into telecom protocols. Interpreters will get the RCML for a given application, interpret it and execute it. Features: ● different interpreter according to the session (Call, SMS, USSD); ● allow users to focus on the business logic using RCML instead of spending time with telco protocols;
  • 29. Restcomm Core: Interpreters Examples: ● Voice Interpreter ● SMS Interpreter ● USSD Interpreter <Response> <Say>Hello World</Say> </Response> Voice Interpreter "Hello World"
  • 30. Thank you! Guilherme Humberto Jansen guilherme.jansen@telestax.com