Upload
trinhtuyen
View
249
Download
3
Embed Size (px)
Citation preview
Sippo -WebRTC Application Controller
3.0
Founded in 2006 as a VoIP system integrator.
No VCs, privately held
Addressing the software service provider market.
HQ in Spain, worldwide sales through partners.
Small size (~25 engineers).
Named by Frost & Sullivan as “Emerging company to watch” in 2014.A
BO
UT
US
Sippo WebRTC Application Controller
Co-authoring different standards and drafts, like the RFC7118 standard for SIP over Websockets, SIPoWS
We play a key-role in WebRTC industry, working on topics like standardization and dissemination in different groups and events:
Authors of QoffeeSIP, an opensource Javascript stack for WebRTC
Quobis’ is co-chairing the SIP Forum WebRTC Task Group, whose objective is to enable of WebRTC for SIP-based domains
Quobis is member of the ATIS DSI initative, which is leading the ORCA.js API to be exposed by telcos
Quobis and WebRTC
We are running 150+ PoCs and real field deployments in Tier-1 and Tier-2 telcos in EMEA, LATAM, US and APAC since Q1’2012.
The WAC enables the integration of browser-based real-time services with existing IMS/NGN or UC networks
Role of the WebRTC Application Controller
Hides complexity of different implementations of WebRTC by browsers, including those that need a plugin to support WebRTC. Provides hybrid applications for smartphones like Android and iOS
1Manages different signaling protocols (SIPoWS, JSON, proprietary APIs, etc) to being able to use any industry WebRTC gateway2As a host of WebRTC applications, provides security mechanisms to avoid traditional VoIP attacks and pure web and WebRTC threads3
4 WebRTC applications are developed on top of a orca.js compatible API called sippo.js, available for 3rd parties that want to create applications.
C
Role of the WebRTC Application Controller
WhitepaperBusiness
opportunities
WhitepaperWhy a WAC?
Manages interconnection with existing systems for user management (authentication, privileges, accounting, policies, etc) via a Service API and different Sippo connectors with well-known solutions like LDAP, MS Exchange, leading HSS, etc.
5MORE INFO AT www.quobis.com6 Makes multi-tenancy a reality,
exposing different applications to corporate or residential customers of service providers. Includes statistics, easy to adopt management tools and customization functionalities,
BUILDING APPS
Sippo.js API
More informationhttp://www.atis.org/dsi/
WebRTC applications are developed on top of a orca.js compatible API called sippo.js, available for 3rd parties that want to create applications.
Sippo.js is based on an industrystandard to avoid vendor lock-in.
sippo.js reference guide
Sippo modules
Those high-level 40+ modules, enable us and our dev partners to bring rich WebRTC solutions to the market without spending efforts on low-level integration details, in a scalable and future-proof way.
group management
rooms
WAPIwebserverwiface
chatCLIcontacts
file transfer
instant messaging
Datapipe
LDAP
meetings
presence
selfcare
sessions
settings
CALLS
call agent assign
call alarms
call campaign assign
call control
call direction
call group assign
call log
call resolver
TRAVERSAL
notificator
capabilites
logging
storage
STATISTICSstats
GENERIC
NETWORK
IDENTITY
CONTACT CENTER
campains
forms
GROUP
auth
credentials
DNIe
login
oAuth2client
oAuth2provider
user profile
vbat
Sippo applications: “buy VS build”
Pre-built applicationsQuobis has a number of ready-to-use WebRTC applications, commercial licensed based on number of concurrent calls or endpoints, fully documented, tested and with a public roadmap
Custom developmentWe offer professional services to build ad-hoc applications based on customer requirements. By leveraging the existing modules, services and client libraries included in the working and tested code of sippo.js toolkit, Quobis is positioned to deliver WebRTC applications in a very short time-to-market, without dealing with low-level details and focusing on the business application
Using Gateway APIs
Using sippo.js and WAC modules
Sippo pre-built applications
TIME TO MARKET
FLEX
IBIL
ITY
Sippo applications: “buy vs build”
Using modules to build apps (example 1)
Key services or features- Chat- FileTransfer- Capabilities- DataPipe
Use CaseInteraction between two Web Collaborator users, one of them sending real time info to the other.
User scenarioATS on an ambulance sending RCP data to a specialist doctor at the hospital
CallAgentAssign Forms Meetings Credentials WIface
CallAlarms Chat Presence DNIe WebServer
CampaignAssign
Cli SelfCare Login Stats
CallControl Contacts Sessions OAuth2Client ServiceLogger
CallDirection DataPipe Settings OAuth2Provider Capabilities
CallGroupAssign FileTransfer Groups UserProfiles Notificator
CallResolver IM Rooms CC3PP Storage
CampaignManaging
LDAP Auth WAPI ClickToCall
Datapipe for third party applications and peer-to-peer collaboration
Using modules to build apps (example 2)
Key services or features- CC3PP (click to call 3rd parties)- Reporting- Call group assign
Use caseDirect communication between customer and agent when selling a product. The 3PP provides a unique customer ID that is included into the context information of the call.
User scenarioFinancial contact center for sales purposes
CallAgentAssign Forms Meetings Credentials WIface
CallAlarms Chat Presence DNIe WebServer
CampaignAssign
Cli SelfCare Login Stats
CallControl Contacts Sessions OAuth2Client ServiceLogger
CallDirection DataPipe Settings OAuth2Provider Capabilities
CallGroupAssign FileTransfer Groups UserProfiles Notificator
CallResolver IM Rooms CC3PP Storage
CampaignManaging
LDAP Auth WAPI ClickToCall
Third party context information
DEALING WITH FRAGMENTATION
WebRTC Media API WebRTC Signaling
Proprietary API, etc.
REST API
JSON
IETFSIPoWS
Ad-hoc appapps using
sippo.js
Role of the WebRTC Application Controller
Signaling complexity
WebRTC has not defined signaling method.
Popular choices are SIP over WebSockets, REST APIs, JSON or any other HTTP-based foobar. Others like BFCP, MSRP, etc. might be also implemented.
Each vendor is using its own proprietary signaling mechanism. As a result, WebRTC applications only work using a gateway (vendor lock-in).
“The WAC provides an abstraction layer to make WebRTC applications work seamlessly with different gateways”
SUPPORTED GATEWAYS
Ask for an updated list
Network complexity
The WAC can interop with STUN/TURN elements to allow all endpoints fully access to WebRTC applications (including those behind private networks and NAT)
WAC can be deployed behind corporate or carrier-class firewalls and load balancers, using the elements and policies of customer network
Fully integration with media servers and MRFs for multi-conferencing support, call recording and other media management tools. Different SFU and MCU supported.
TURN servers
Firewall
Media servers
“The WAC provides an abstraction layer to make WebRTC applications work seamlessly with all the browsers, with no need to adapt the code”
Browser complexity
?
Each of them with different flavors, including Chrome for PC and Android, that implement different methods.
WebRTC API v1.0 ORTC API
WebRTC API v1.1 / v2.0 ??
“The WAC makes applications work in any device, with no need to change the code”
Device complexity
Sippo abstraction layer manages responsive design for:
● PCs and laptops● Tablets and phablets● Smartphones
We use Cordova framework to adapt the WebRTC js code to an hybrid application for iOS and Android
● No need to have browser open to receive call
● Connected to the notifications engine● Access to contact list / agenda
OTHER FEATURES
Push notifications
The WAC manages push notifications to WebRTC-based applications in smartphones (native apps running on Android and iOS devices). Users can opt-in to receive alerts like incoming calls or incoming messages.
Today there are different initiatives of standardization bodies and browser developers (including Chrome) to support web push notifications in the browser (based on service workers). The WAC will be responsible again to notify alerts to WebRTC browser users, with no need to have the page open.
User Management
The WAC manages everything around the users, depending on the ID, contextual information and predefined user policies, media capacities and roles, helping the browser to download the WebRTC application adapted to it.
The following parameters for user management may be configured via the Service API and different Sippo connectors:
● User provisioning (add/remove/change)● User profiles (name, avatar, email, etc)● User groups, organizations and roles (admin, user, anonymous,...)● User privileges● User media capacities● Service enablement
NOTE that the WAC can also work as a Network Address Book or can manage the interconnect with a 3rd party NAB to host the user contact list.
Authentication
The WAC supports different authentication methods, from its own identity manager to federation with existing customer assets and third party entities. The WAC validates a token with the gateway to allow the session.
Security
As a host of WebRTC applications, provides security mechanisms to avoid traditional VoIP attacks and pure web and WebRTC threads:
● Fraud● Illegal control● DoS attacks● Cross-origin
managements● Websocket poisoning● etc.
Maliciouswebserver
websocket
http
Malicious Script
Learn more downloading the whitepaper “WEBRTC
SECURITY CONCERNSMalicious
ScriptMalicious
Script
?
Troubleshooting and traceability
The WAC stores information about the accesses to the web applications and, via WAPI, all the actions made with the WebRTC applications by the end users (calls and CDRs, Instant messages and file shares, configuration changes and activity detection). In addition any interaction using the Service API and Sippo connectors is stored
This is being used for:
● Traceability: check all the actions made by an user for legal compliance● Troubleshooting: help IT to identify the causes of a lower quality in some calls and
other problems related to the service
WAC as WebRTC orchestration
As stated before, the WAC get not only information from calls as CDRs as contextual information and feedback from the web access is also available.
Type of device, browser, version, usage of the WebRTC apps, default language, URL referrals, etc. can feed big data analytics solutions to get information from the user.
As the WAC includes some modules and expose some APIs to deal with user provisioning, user policies and applications and services enablement, this is the element that orchestrates all you need to deploy a WebRTC service.
Statistics
The WAC collects information from the web accesses, usage of the applications, call detail records, contextual information and interconnection to existing assets for AAA. This information is accessible through the Service API.
This information (and also the one related with the performance of the system) is also public for the administrators, through the dashboard web interface that is enabled for administration.
Scalability and availability
The WAC is ready to support HA and load balancing.
WAC makes clients to balance gateways, avoiding the need of a load balancer.
IMS integration
The WAC acts as WWSF and WAF in the IMS architecture proposed by the 3GPP:
● WIC (WebRTC IMS Client): is an application using the WebRTC extensions specified in WebRTC 1.0 spec, as any of the WebRTC apps built using sippo.js
● WWSF (WebRTC Web Server Function): is the initial point of contact in the Web that controls access to the IMS communication services for the user, that is one of the features of the WAC
● WAF (WebRTC Authorisation Function): it supports the WWSF and eP-CSCF during the authentication and identity validation process.