Lessons from Building Asterisk GUIs. Presented by Gaston Draque



Similar documents
Specialty Answering Service. All rights reserved.

Merging Old and New Telephony with Asterisk

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Enterprise Communication Suite

IP- PBX. Functionality Options

Beyond High Availability for Asterisk Based Contact Centers

Web Cloud Architecture

Developing ASP.NET MVC 4 Web Applications MOC 20486

Thirdlane PBX and Thirdlane PBX Manager 6.0

Philosophy of GIMnet

System Admin Module User Guide. Schmooze Com Inc.

Calculate Your Savings

Developing ASP.NET MVC 4 Web Applications

Building a Continuous Integration Pipeline with Docker

Asterisk: A Non-Technical Overview

Digium and Switchvox It s More than a Phone System It s a Better Way to Communicate

Softswitch & Asterisk Billing System

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

Client Overview. Engagement Situation. Key Requirements for Platform Development :

MIT s Current SIP Infrastructure. Mark Silis MIT Information Services and Technology February 2, 2006

Application Notes for G-Tek SIP Telephone MT-102H version 1510X i with Avaya Software Communication System Release 3.0 Issue 1.0.

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

SaaS-Based Employee Benefits Enrollment System

Grandstream Networks, Inc. UCM6510 Basic Configuration Guide

OFBiz CRM & Asterisk Call Center Integration Youssef Khaye, Software Developper OCTOBER 1-2, 2015

Real Time Data Communication over Full Duplex Network Using Websocket

Why choose an Asteriskbased. from Foehn? A communication solution that will answer your call. Based on the world s largest open source platform

Configuring Complex On-Demand Services with Business Rules

Setup Guide for PCBest Networks SIP

Pro<DOC/> e-commerce Technology An Introduction

Software Communication System 500 Release 1.0 System Features

Your Phone. Your Business. Your World. SM SM

1. Mobile VoIP solutions and Services:

What's New in Sametime 8.5. Roberto Chiabra IBM Certified IT Specialist

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Introducing hosted telephony from Foehn

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Hosted PBX client or provider site? or how to manage PBX clouds with OpenSIPS

Switchvox Cloud. It s more than a phone system. It s a better way to communicate.

SAP FIORI / HR Renewal

Using OpenSIPS as a PBX

Software Development Kit

How To Build A Web App

Business Activity Monitoring and SOA Environments

Open Source Telephony Projects as an Application Development Platform. Frederic Dickey Director Product Management

Mobicents 2.0 The Open Source Communication Platform. DERUELLE Jean JBoss, by Red Hat 138

Middleware- Driven Mobile Applications

Wildix Management System (WMS) White Paper

Oracle Application Express MS Access on Steroids

Advantage of Jquery: T his file is downloaded from

A web-based contact center performance analytics application that gathers information from across your customer interaction technologies and provides

Carrier-grade VoIP platform with Kamailio at 1&1

Integrating Web Messaging into the Enterprise Middleware Layer

Mobicents. The Open Source Communication Platform

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Evolution & Revolution. Avaya s Reference Architecture For Unified Communications. Gianluca Attura Amministratore Delegato Avaya Italia S.p.A.

IP PBX. SD Card Slot. FXO Ports. PBX WAN port. FXO Ports LED, RED means online

Overview of Asterisk (*) Jeff Gunther

Why IBM WebSphere Application Server V8.0?

FOR COMPANIES THAT WANT TO EXPAND AND IMPROVE THEIR TELEPHONE SYSTEM

Beyond the SOA/BPM frontiers Towards a complete open cooperative environment

Symfony2 and Drupal. Why to talk about Symfony2 framework?

Xorcom IP-PBX Software Features

UNIVERSITY OF ILLINOIS AT CHICAGO University of Illinois Ready

GUI and Web Programming

IP PBX SH-500N

Multi Tenant. Bicom SYSTEMS. e d i t i o n. PBXware... Advanced Simplicity. PBXware Multi Tenant Edition

How To Use A Voicenet Premium Hosted Pbx On A Cell Phone (For A Simplon) On A Simpson Or Ipa Or Ipbx (For An Ipb) On An Ipa (For Simpson)

Grandstream Networks, Inc.

VoIP Retail Solution. Retail Solution. Call Shop IP PBX. Calling Card Platform

How To Use An Asterisk Server For A Phone Or Internet Communication

Repeater. BrowserStack Local. browserstack.com 1. BrowserStack Local makes a REST call using the user s access key to browserstack.

Framework as a master tool in modern web development

Building Robust IPTSP Based on Open Source Technology. Anowar Hasan Sabir, BDCOM Online Ltd. Bangladesh

Building a Distributed Call Center

Audio Conferencing Getting Started

... Introduction... 17

WebRTC: Why and How? FRAFOS GmbH. FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Cisco Healthcare Intelligent Contact Center

A (Web) Face for Radio. NPR and Drupal7 David Moore

How should an enterprise move toward Unified Communications?

ezuce Uniteme TM Unified Communications for the Enterprise ezuce Inc. 2015

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

Ubuntu, a new force in mobile

PBX Manager Portal v2.0

FIVE SIGNS YOU NEED HTML5 WEBSOCKETS

Small & Medium Office Business IP PBX UTT-500 series Quick Details

TEST AUTOMATION FRAMEWORK

Office 365 SharePoint Online White Paper

Alcatel-Lucent IMS Application Server

VOIP and Ruby. The Convergence of Web and Voice Applications using Open Source Software. Justin Grammens Localtone Interactive

NHS Education for Scotland Knowledge Services Design and Development Framework

Thirdlane PBX Manager Users Guide 12/04/2007. Third Lane Technologies, LLC 39 Power Lane Fairfax, CA

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

Main characteristics. System

Qlik Sense Enabling the New Enterprise

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

AstriDevCon 2015 What Call-centers Want

tibbr Now, the Information Finds You.

Understanding Evolution's Architecture A Technical Overview

Transcription:

Lessons from Building Asterisk GUIs Presented by Gaston Draque

You Finally Built an Asterisk PBX SIP IAX SIP / IAX / FAX / TDM TDM Services Queues Ringgroups DIDs Routing etc Apps Services

Asterisk can be awesome! and like all things awesome

First thing s First Why do you need a GUI?

Less can be more!

But not Always GUI Cases OEM PBX PBX Addon: Conferencing, FMC, Voicemail, ACD, IVR, CDRs Switchvox Add-on FreePBX Module Service Oriented Architecture Portal Add-ons

Niche solutions

End User Admin User GUI Technical User

What do we want from a GUI? Device Provisioning Permissions Repository Application Management (voicemail, conferencing, etc) Extension Routing Media Management Extensibility

What do we want from a GUI? Media Management

Past Examples CRM Integrated Switchboard Plugin:

Past Examples CRM Integrated Switchboard Plugin:

Past Examples Feature Rich Commercial Conference Bridge: Key Elements User identification 4 profiles : clients, agents, supervisors and admins. Conference initiation Termination (leave/kick/end) Business Process driven

Past Examples Commercial Conference Bridge:

Past Examples Commercial Conference Bridge: User Portal - Home Before conference (owner) Create conference (MySQL) Global PIN conference (MySQL) Per user PIN conference (MySQL) Send invitations Assign DID to conference (ARA) During conference (owner) List users ( online / offline ) (AMI) Kick / mute / unmute (AMI) After conference (Owner) List / search unlocked conferences Assign billing-codes Add notes

Past Examples Commercial Conference Bridge: Admin Portal (show all) After conference (Admin) List / search conferences Locked / unlocked conferences Approve billing-codes -> Lock Modify/Assign billing-codes -> Lock Send reminders to Agents Store / download Locked sessions Add notes

Lessons Learned UI Lessons Technical Lessons PM Lessons

Lessons Learned UI Lessons Technical Lessons PM Lessons

Lessons Learned UI Lessons: Simplify

Lessons Learned UI Lessons: Convention over configuration How does 'Convention Over Configuration' applies to design? Define the process and take the risk Implement industry best practices when ever possible Make standard the rule, not the exception Handle exceptions like exceptions... they are exceptions! Handle detail level wisely

Lessons Learned UI Lessons: GUI as an abstraction layer Clustering Distributed services Multi-location Multi-tenant

Lessons Learned UI Lessons: Size matters Data layer impact GUI redesign Over simplification Grouping Drill-down tools Multi-level views, keep it within the scope and maybe not enough.

Lessons Learned UI Lessons: From UID Visual Design & Branding UID Information Design Interaction Design User Interface Design

Lessons Learned UI Lessons: From UID to UCDP Business Requirements/Goals UCDP User needs Technical Feasibility User-Centered Design Process

Lessons Learned UI Lessons Technical Lessons PM Lessons

Lessons Learned Technical Lessons: General aspects When in doubt, use a database and avoid flat files Keep your development libraries small and modularized Make your code re-usable Play to Asterisk s strengths as a powerful media server Avoid excessive use of AMI Learn to leverage SIP proxies and TDM Gateways

Lessons Learned Technical Lessons: Use ARA to standardize The Asterisk dialplan is great for dev, not for the GUI ARA will force you to standardize on a dialplan structure Weight the ARA issues impact on your solution. Ie: Include context blfs/hints peer/users not kept in memory text files over ARA entries NOTE: Asterisk 10 has good news for some of this issues!

Lessons Learned Technical Lessons: Dev framework,choose wisely Lightweight MVC Framework Community Light footprint Extensibility Documentation Flexible Licensing Methodologies associated with it

Lessons Learned Technical Lessons: Example; MVC for Agile methodologies DB Models Helpers Additional Library Views Controllers

HTML + EventDrivenContent Evolution WebSockets

AJAX: PULLING Client Id, state HTTP Server DB Loop Updated state (process) Loop COMET: LONG PULLING/STREAMING Client Id, state HTTP Loop Server DB Updated state (process) Loop HTML5: WEB SOCKET Clients Action, Recipientld HTTP Server Action, Recipientld Action, Recipientld (process)

Lessons Learned Technical Lessons: WebSockets its just a round the corner WebSockets: API is being standardized by the W3C protocol is being standardized by the IETF HTML5 WebSockets over polling and long-polling Scales betters Less server resources Simplifies solution architectures Less overhead, less latency Many browsers already support it Already existing libraries and WebSockets Gateways

Lessons Learned UI Lessons Technical Lessons PM Lessons

Lessons Learned PM Lessons: Adapt PM theory to PM practice PM methodologies!= Development methodologies Some Development Methodologies are better matches for GUI development Choose Agile vs Waterfall Choose anything over Cowboy coding (but its fun isn t it!) Keep in mind, this is a UI Asterisk is the engine, lets make the driver happy, means Fixes, new features and upgrades are frequent.

Lessons Learned PM Lessons: Tools should match many requirements Repository Kind of access Government style (aka. Git does not fit all needs) Versioning model Management tools Tasks Bug tracking Documentation

Thank You! GASTON DRAQUE gdraque@eusnetworks.com www.eusnetworks.com