A System for Auto-Provisioning VOIP Telephones for Asterisk



Similar documents
Running Asterisk in a Corporate Environment: a Beginner s Tale

Mediatrix 3000 with Asterisk June 22, 2011

Configuring the Cisco SPA8800 IP Telephony Gateway in an Asterisk Environment

Micronet VoIP Solution with Asterisk

Applications between Asotel VoIP and Asterisk

Unicorn60x0 IP ANALOG GATEWAY ASTERISK CONFIGURATION

Basic configuration of the GXW410x with Asterisk

Using Polycom KIRK Wireless Server 300 or 6000 with Asterisk

Overview of Asterisk (*) Jeff Gunther

Setup the Asterisk server with the Internet Gate

Yealink Phones User Guide Bicom Systems

NOC Workshop VoIP in the NOC labs SANOG10

Asterisk: The Open Source PBX Solution Adam Olson Systems and network administrators typically deal with

Configuration Notes 290

Quick Installation Guide

Technical Bulletin Using Polycom SoundPoint IP and Polycom SoundStation IP Phones with Asterisk

Grandstream Networks, Inc. UCM6510 Basic Configuration Guide

TEL 500 WRITE UP WEEK 8 FREE PBX SIP LAB SUBMITTED TO: PROF. RONNY BULL BY: ANUSHA ALIGAPALLY

Atcom MP01 and Elastix Server

TEL 500. Voice Communications. Week 1 Write Up. Session Initiation Protocol Lab. Submitted To: Prof Ronny Bull. By: Sai Sharan Korvi

Grandstream Networks, Inc.

Embedded Asterisk. A Crazy Man s Approach to VoIP. Terry Dunlap. 5/12/2007 terrydunlap.com

Asterisk Business Edition TM Digium Partner Certification

Abstract. Avaya Solution & Interoperability Test Lab

How to Provision a Polycom Phone

SIP Trunk 2 IP-PBX User Guide Asterisk. Ver /08/01 Ver /09/17 Ver /10/07 Ver /10/15 Ver1.0.

System Admin Module User Guide. Schmooze Com Inc.

Grandstream Networks, Inc.

Trixbox. by MATT FLORELL and JAMES PEARSON

NodePhone Business Trunks User Manual

DUNDi, So Easy A Caveman Could Do It!

Figure The scenario

Polycom Phones User Guide Bicom Systems

Using DUNDi with a Cluster of Asterisk Servers! General Description and Scope

Setup Guide: on the MyNetFone Service. Revision History

AGILE SIP TRUNK IP-PBX Connection Manual (Asterisk)

Asterisk SIP Trunk Settings - Vestalink

Snom 720 and Elastix Server

Cisco 7940 How To. (c) Bicom Systems

Registering with Cisco UCM

AGILE SIP TRUNK IP- PBX Connection Manual (Asterisk, Trixbox)

Configuring the Avaya B179 SIP Conference Phone with Avaya Aura Communication Manager and Avaya Aura Session Manager Issue 1.0

Elastix Server VoIP Intercom Setup Guide

Software Based VoIP Lab A step by step guide to setting up and configuring an IP-PBX. Donal O Connor DNET 4 donaloconnor@gmail.com

VOIP with Asterisk & Perl

Grandstream Networks, Inc. Asterisk PBX Configuration Guide GXP21xx IP Phone/GXP1450 IP Phone

VoIP Security Management

DHCP Option 66 Auto Provisioning Guide

Ryan Brown October 9, 2004 The Burgh Live, LLC. Voice over IP using Asterisk (*)

Allo PRI Gateway and Elastix Server

VoIP Intercom and Cisco Call Manager Server Setup Guide

Quick Installation Guide

VoIP Workshop PacNOG3

Quick Provisioning Guide for Third-Party PBX

Skype connect and Asterisk

Asterisk. Michael Kershaw

IP Talk Hosted VoIP Solutions Small Office/Home Office (SOHO) Setup Guide

Hanlong Technology Co., Ltd

VOIP (Voice Over Internet Protocol) Hacking-Fake Calling

PBX Manager Portal v2.0

2010 MegaPath Inc. All rights reserved. Confidential and Proprietary 2

Deployment Guide for the Polycom SoundStructure VoIP Interface for Cisco Unified Communications Manager (SIP)

ASTERISK & PHP. Hans-Christian Otto International PHP Conference 2010 SE Berlin, June 1, 2010

ACD Automatic Call Distribution

Telephony with an Asterisk phone system

LABORATORIUM 1 Setup and basic configuration of Asterisk BPX on Linux

NAGARJUNA KARNATI. NCS416/TEL500 Lab. Lab Write-Up (8) [FreePBX SIP lab write-up]

Allow Auto Answer by Call-Info: No Yes. Turn off speaker on remote disconnect: No Yes

How To Use 1Bay 1Bay From Awn.Net On A Pc Or Mac Or Ipad (For Pc Or Ipa) With A Network Box (For Mac) With An Ipad Or Ipod (For Ipad) With The

Quick Installation Guide. Overview. PLANET VIP-156/VIP-156PE/VIP-158 Quick Installation Guide

Asterisk & ENUM. Extending the Open Source PBX. Michael Haberler, IPA Otmar Lendl, nic.at

Test on IX130 Performance

Mesh Potato Small Enterprise / Campus Network. User Guide

VERALAB LDAP Configuration Guide

Implementation of a Fully Functional VoIP Server Inside of a Campus Network

Fig. Setting up of a VoIP call. Fig. Experimental setup

Aastra 55i How To. (c) Bicom Systems

TEL-500 Project Report. Auto-Dialler System. Voice Communications. Done By: - AKASH ANANTHANARAYANAN SANJEEVAKUMAR DEVARAJA

Cisco CallManager configuration for BLU-103

Abstract. Avaya Solution & Interoperability Test Lab

TEL 500 VOICE COMMUNICATIONS PROJECT REPORT IMPLEMENTATION OF SMALL CALL CENTER WITH AUTO ATTENDENT AND QUEUES SUBMITTED TO: RONNY L.

Backing Up and Restoring Data

IP-PBX Quick Start Guide

Introduction. What is DUNDi? Configuring Asterisk for use with DUNDi

Cisco Unified Communications Manager 5.1 SIP Configuration Guide

Business VoIP Solution Training 04/2009

Asterisk Cluster with MySQL Replication. JR Richardson Engineering for the Masses

NET UX Series with Microsoft Lync 2010 and CyberData VoIP Intercom

Grandstream Networks, Inc. GXP-1450 GXP-2100 GXP-2110 GXP-2120

Internet telephony Asterisk system.

CRA 210 Analog Telephone Adapter 3 Ethernet Port + 2 VoIP Line + 1 PSTN Line

Configuring an IP (SIP) Polycom Soundstation on the Avaya IP Office

VoIPon Tel: +44 (0) Fax: +44 (0)

Configuring the Dolby Conference Phone with Cisco Unified Communications Manager

CyberData VoIP V2 Speaker with VoIP Clock Kit Configuration Guide for OmniPCX Enterprise

ASTERISK. Goal. Prerequisites. Asterisk IP PBX Configuration

Open Directory. Contents. Before You Start 2. Configuring Rumpus 3. Testing Accessible Directory Service Access 4. Specifying Home Folders 4

Transcription:

A System for Auto-Provisioning VOIP Telephones for Stephen Uhler Sun Microsystems Laboratories Stephen Uhler 2005, Sun Microsystems Sun Labs (1/20)

Outline What is auto-provisioning? Why do I need it? What phones do I use? Design choices Implementation Stephen Uhler 2005, Sun Microsystems Sun Labs (2/20)

What is Auto-provisioning? Take a new VOIP phone out of the box Hand it to a new, relocated, or temporary employee, with simple instructions Send them off Stephen Uhler 2005, Sun Microsystems Sun Labs (3/20)

Why do I Need it? Dozens of new interns every quarter The office over there is better than mine Just me, and I already have a day job Stephen Uhler 2005, Sun Microsystems Sun Labs (4/20)

What Phone to Choose? Stephen Uhler 2005, Sun Microsystems Sun Labs (5/20)

What Phone to Choose? Every phone is configured differently We need to pick one model for simplicity (sanity) We have a nice* corporate LAN environment Phones need rational network configuration Polycom IP500/IP501 Acceptable quality Too hard to configure manually Possible to provision via the network Stephen Uhler 2005, Sun Microsystems Sun Labs (/20)

Design Choices Static -vs- realtime Extension assignment User authentication File layout/structure Naming the phones Stephen Uhler 2005, Sun Microsystems Sun Labs (7/20)

DHCP server The Pieces FTP boot/configuration server Corporate LDAP authentication service IVR (extensions.conf) Provisioning (AGI) Stephen Uhler 2005, Sun Microsystems Sun Labs (8/20)

Configuration Files extensions.conf #include poly/extensions.conf #include poly/provision.conf sip.conf #include poly/poly_*.conf voicemail.conf sip_notify.conf Stephen Uhler 2005, Sun Microsystems Sun Labs (9/20)

Pre Provisioning - summary DHCP ftpd 1 2 3 4 Configuration 5 7 1) Request DHCP address 2) Supply network parameters, including ftp boot server 3) Request phone configuration using MAC address 4) Request SIP configuration, create as needed using MAC to derive name 5) Update software (if needed) ) Reload SIP configuration 7) Register with Stephen Uhler 2005, Sun Microsystems Sun Labs (10/20)

Pre Provisioning - DHCP configuration DHCP ftpd 1 2 3 4 Configuration 5 7 class "mac-address-match" { match substring(hardware, 1, 3) ; } option tftp-server-name code = text ; option tftp-server-address code 150 = ip-address ; subclass "mac-address-match" 00:04:f2 { option tftp-server-address 152.70.7.50 ; option tftp-server-name "152.70.7.50" ; } Stephen Uhler 2005, Sun Microsystems Sun Labs (11/20)

Pre Provisioning FTPd changes DHCP ftpd 1 2 3 4 Configuration 5 7 Security Assign/accept passwords Only deliver phone files out of a specific directory Dynamic Content Create or obtain sip.conf entries Map sip.conf to phone XML files Notify of new phones Stephen Uhler 2005, Sun Microsystems Sun Labs (12/20)

Pre Provisioning config generation DHCP ftpd 1 2 3 4 Configuration 5 7 3) 0004f2011c9.cfg? 4) poly/poly_c9.conf [poly_c9] username=[poly_c9] secret= ***** context=unprovisioned 5) 0004f2011c9.cfg <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="phone-c9.cfg, sip.cfg" LOG_FILE_DIRECTORY="logs"/> 5) phone-c9.cfg <phone_c9> <reg reg.1.userid= poly_c9 reg.1.secret= ***** /> </phone_c9> Stephen Uhler 2005, Sun Microsystems Sun Labs (13/20)

Pre Provisioning asterisk notification DHCP ftpd 1 2 3 4 Configuration 5 7 ) asterisk -rx "sip reload extensions.conf [unprovisioned] include=test_numbers include=allow_provisioning Stephen Uhler 2005, Sun Microsystems Sun Labs (14/20)

Post Provisioning summary 7 LDAP 2 1 3 4 5 Configuration ftpd 1) Call 11, collect employee credentials 2) Verify credentials, collect employee information 3) Assign extension, update phone configuration 4) Confirm new settings to user 5) Reboot the phone ) Fetch new phone parameters 7) Send email confirmation to user and administrator Stephen Uhler 2005, Sun Microsystems Sun Labs (15/20)

Post Provisioning extensions.conf 7 LDAP 2 1 3 4 5 Configuration ftpd [provision] exten => s,1,playback(provision/welcome) exten => s,2,background(provision/enter_id) exten => _X,1,read(id); got 1 st digit, get the rest exten => _X,2,Setvar(id=${EXTEN}${id}) exten => _X,3,Playback(provision/entered_ok?) exten => _X,4,saydigits(${id}) exten => _X,5,Goto(provision-2,s,1) [provision-2] exten => s,1,playback(provision/ok_then_1) exten => 1,1,agi(provision ${CHANNEL},${id}) exten => 1,2,Gotoif($[${found} = 1]?20:30) exten => 20,1,Playback(provision/welcome2) exten => 20,2,Saydigits(${extension}) exten => 20,3,Playback(provision/bye) Stephen Uhler 2005, Sun Microsystems Sun Labs (1/20)

Post Provisioning provision AGI 7 LDAP 2 1 3 4 5 Configuration ftpd Verify AGI arguments employee-id channel Retrieve employee data email, name, manager Choose an extension Create config files from templates sip.conf extensions.conf voicemail.conf Reload asterisk configurations Reboot the phone (via sip info) Send verification email Set employee data into channel variables Stephen Uhler 2005, Sun Microsystems Sun Labs (17/20)

Post Provisioning config templates 7 LDAP 2 1 3 4 5 Configuration ftpd sip.conf template ; Modified by auto-provision: $date [poly_$id] type=friend secret=$pass host=dynamic mailbox=$ext callerid=$display <$ext> dtmfmode=rfc2833 context=$context Stephen Uhler 2005, Sun Microsystems Sun Labs (18/20)

Un-provisioning - summary 4 1 2 3 Configuration ftpd 5 5 1) Call 11, collect admin credentials 2) Modify Configuration, reload 3) reboot the phone 4) Send email confirmation to administrator 5) Fetch new phone parameters Stephen Uhler 2005, Sun Microsystems Sun Labs (19/20)

Summary Statistics FTPd additions: < 300 lines of TCL provision agi: < 250 lines of TCL dialplan additions: < 75 lines Conclusions Need corporate wide employee pin I should have picked better phone names Works swell, integrates gracefully with changes to config files made by hand Stephen Uhler 2005, Sun Microsystems Sun Labs (20/20)