sippo - webrtc application controller · pdf filesippo webrtc application controller. ... ...

30
Sippo - WebRTC Application Controller 3.0

Upload: trinhtuyen

Post on 09-Mar-2018

248 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

Sippo -WebRTC Application Controller

3.0

Page 2: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 3: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

Sippo WebRTC Application Controller

Page 4: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 5: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 6: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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,

Page 7: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

BUILDING APPS

Page 8: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 9: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 10: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 11: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

Using Gateway APIs

Using sippo.js and WAC modules

Sippo pre-built applications

TIME TO MARKET

FLEX

IBIL

ITY

Sippo applications: “buy vs build”

Page 12: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 13: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 14: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

DEALING WITH FRAGMENTATION

Page 15: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

WebRTC Media API WebRTC Signaling

Proprietary API, etc.

REST API

JSON

IETFSIPoWS

Ad-hoc appapps using

sippo.js

Role of the WebRTC Application Controller

Page 16: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 17: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 18: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

“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 ??

Page 19: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

“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

Page 20: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

OTHER FEATURES

Page 21: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 22: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 23: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 24: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

?

Page 25: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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

Page 26: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 27: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 28: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 29: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats

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.

Page 30: Sippo - WebRTC Application Controller · PDF fileSippo WebRTC Application Controller. ...   WebRTC applications are developed on top of a ... logging storage STATISTICS stats