Zdenek Nejedly, Campus Services Rasim Duric, Lelio Fulgenzi, Deborah MacDougall, Networking Services Computing & Communications Services University of.

Slides:



Advertisements
Similar presentations
Using the Self Service BMC Helpdesk
Advertisements

Web Services and AIXM. Introduction Subramanyam “Subbu” Nadavala Contractor, L-3 Communications FAA Air Traffic Organization (ATO) Information Technology.
BASIC CRYPTOGRAPHY CONCEPT. Secure Socket Layer (SSL)  SSL was first used by Netscape.  To ensure security of data sent through HTTP, LDAP or POP3.
DT228/3 Web Development WWW and Client server model.
Ellucian Mobile: Don’t text and drive, kids!
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Technical Brief v1.0. Communication tools that broadcast visual content directly onto the screens of computers, using multiple channels and formats Easy.
Server-Side vs. Client-Side Scripting Languages
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
Introduction to Web Database Processing
Introduction to Web Interface Technology (CSE2030)
Senior Design Project 2004/2005 Web Enabled Calling Number Delivery Daniel St. Clair Barron Shurn Professor Soules 10/28/2004.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Introduction to Web Interface Technology (CSE2030)
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
MCDST : Supporting Users and Troubleshooting a Microsoft Windows XP Operating System Chapter 15: Internet Explorer and Remote Connectivity Tools.
SIP-based Application Development SIP International 2004.
Application Standards for ‘Push’ Content and Streaming Media Hadi Partovi Microsoft Corporation.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
PKI Network Authentication Dartmouth Applications Robert Brentrup Educause/Dartmouth PKI Summit July 27, 2005.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
Understanding and Managing WebSphere V5
Enterprise Resource Planning
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Managing Client Access
Module 4 Managing Client Access. Module Overview Configuring the Client Access Server Role Configuring Client Access Services for Outlook Clients Configuring.
INTRODUCTION TO WEB DATABASE PROGRAMMING
IT 210 The Internet & World Wide Web introduction.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Module 14: Configuring Print Resources and Printing Pools.
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Advanced Web Forms with Databases Programming Right from the Start with Visual Basic.NET 1/e 13.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
© 2009 Research In Motion Limited Advanced Java Application Development for the BlackBerry Smartphone Trainer name Date.
Computer Emergency Notification System (CENS)
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services BOF This is a proposed new working group coming out of the Grid Computing Environments Research Group, as an outgrowth of their investigations.
1 Welcome to CSC 301 Web Programming Charles Frank.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
Integrating and Troubleshooting Citrix Access Gateway.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Web Design and Development. World Wide Web  World Wide Web (WWW or W3), collection of globally distributed text and multimedia documents and files 
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Introduction and Principles Web Server Scripting.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Web Services Using Visual.NET By Kevin Tse. Agenda What are Web Services and Why are they Useful ? SOAP vs CORBA Goals of the Web Service Project Proposed.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
IPS Infrastructure Technological Overview of Work Done.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
Ben - Gurion University Department Of Communication Systems Engineering DNS For Cell Phones Yoav Peer, Eugene Volchek Instructor: Dr. Chen Avin.
START Application Spencer Johnson Jonathan Barella Cohner Marker.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
ArcGIS for Server Security: Advanced
Java Web Services Orca Knowledge Center – Web Service key concepts.
Polycom UC Software Summary
Web Programming Language
WEB SERVICES.
PHP / MySQL Introduction
Presentation transcript:

Zdenek Nejedly, Campus Services Rasim Duric, Lelio Fulgenzi, Deborah MacDougall, Networking Services Computing & Communications Services University of Guelph IP Phone Services: Integration of Campus IT Services with IP Phones at the University of Guelph

IP Phone Services IP Phone Services : Principles & technologies Case studies/sample apps: challenges & solutions J2EE framework: XML object generation, identification & authentication modules

VOIP deployment at UG 2002: CCS tests 2003: Active deployment to business and residence clients starts 2003 Fall: development of first IP services starts 2004 September: deployment of about 7200 units completed More details in "VOIP at Guelph: 4 years on..." talk by Lelio and Drew

IP Phone Services: Principles, technologies, devices

Based on web technologies XML messages sent over HTTP Any server-side platforms (J2EE, ASP/.NET, php) Other APIs: Java Telephony API IP Phone Services

Includes XML browser and a simple web server

IP Services Request Flow Two kinds of requests: 1.Client (User or Phone) initiated (pull) User via the Directories/Services button Phone via Idle URL settings 2.Server initiated (push) –requires Basic Authentication of the pushing server

1.Client (User or Phone) initiated (pull) IP Services Request Flow

2. Server initiated (push)

Messages: XML Objects All data (text to be displayed, button actions, links/URLs) packaged in Cisco pre-defined XML objects Phone’s browser interprets the XML and displays lists, menus, soft keys No client-side scripting

XML Object Examples CiscoIPPhoneText, CiscoIPPhoneMenu, CiscoIPPhoneInput, CiscoIPPhoneDirectory, CiscoIPPhoneImage, CiscoIPPhoneExecute, CiscoIPPhoneResponse, CiscoIPPhoneError, and more… My Directory Good bye….. Exit SoftKey:Exit 3

Implementation Examples: 1. Campus Directory (integration with LDAP)

Campus Directory Phone directory based on the campus LDAP Client dependent search scope and presentation (staff vs. students in residences) Packaged solution (ASP/COM) not fully extensible -> need for a custom solution Development goals: –Extensible framework –Complete control over the LDAP interface –OS independent – suitable for mixed environment –Interoperability with other/future company applications Solution: J2EE servlet-based framework

Campus Directory

Demonstration …

Campus Directory – lessons learned Scarce UI resources, e.g., Soft Keys – additional functionality makes existing features less accessible -> Requirements management and usability testing important. The phone often fails silently and errors are difficult to debug -> Regression testing essential. Implementation differences between firmware versions and different IP Phone models -> phone model aware applications.

Implementation Examples: 2. My Directory (client authentication, RDBMS, cooperation with portals)

My Directory -User-editable directory a.k.a. speed dial -Customization & Privacy -> user authentication -Authentication via phone keypad tedious - -> minimize the login/logout frequency -Security -> do not expose the Call Manager (packaged solution is based on the web access to the CCM)

My Directory

Demonstration of speed dial, contact management (add new, edit existing, delete)

Lessons learned & solutions -Persistent cookies not supported and the phone runs on DHCP -> client management on the server by MAC -Phone identification -> query the phone’s web server to get MAC or Phone Number

Device ID & Single Sign On

Phone or Browser? Use IP Phone services where appropriate – phone is always on but provides only limited User Interface resources. Infrequently used options waste UI resources Use web browser for UI-intensive tasks – input facilitated via portlet designed under uPortal portlet

Implementation Examples: 3. Push2Phone (Push technology, Device account/CCM authentication)

Push2Phone -Push text and audio to the IP Phones as needed -Emergency notifications, system management alerts, user support -Message delivery independent of user settings -Problem: Server pushing content to the phone must provide credentials of the user assigned to the phone – these are not known!

Push2phone Authorization Default model – server must know the user’s credentials Modified model – a proxy-authorization module supports global admin credentials

System Architecture

Summary: Problems & Solutions

Summary Challenges: –Limited screen capabilities and controls (software and hardware) –Additional features may complicate existing options –Intensive data input – use web apps –No persistent cookies – manage the persistence on the server, e.g. by MAC address –Minimize user authentication – implement a flavour of SSO –To avoid having to manage user credentials implement authentication proxy Troubleshooting: –difficult debugging of invalid XML –For protocol debug use for example JMeter (in place of a packet monitor) Implementation: –J2EE servlets & JSPs, MVC for portlet –Case studies: Campus Dir, My Dir, Push2Phone –

Dream IP Phone Service Write down a brief description of your dream IP Phone Service and submit it along with your name. You can win a prize – popular vote or random draw.