Documente Academic
Documente Profesional
Documente Cultură
Avaya SIP Enablement Server Personal Profile Manager Sample Application Documentation - issue 1.0 Abstract
This document describes the call-flow, functionality and implementation of a sample application that accesses the web services based Personal Profile Manager (PPM) API on the Avaya SIP Enablement Services server. PPMAPP is a web-based application that consists of HTML and Java Server Pages (JSP) scripts. The PPM API Web Services calls are made using JSP and the information obtained is displayed using HTML. Java Script tags are used to transition between pages. It is assumed that users have a working knowledge of HTML, JSP and Javascript in order to utilize this sample application.
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
1 of 14 PPMapp
Table of Contents
1. 2. 3. 4. Introduction................................................................................................................................. 3 Equipment and software used: .................................................................................................... 4 Accessing the SIP Enablement Server (SES) Web Service Definition Language File .............. 5 Using the WSDL2Java utility ..................................................................................................... 6 4.1. Creating java class files ...................................................................................................... 7 5. Installing the PPMAPP application on Tomcat .......................................................................... 8 6. Adding Files to the PPMAPP application................................................................................. 10 7. References................................................................................................................................. 13
Table of Figures
Figure 1: Network configuration for testing PPMAPP application .................................................... 3
Table of Tables
Table 1: Equipment and Software version information...................................................................... 4 Table 2: Description of PPMAPI application ................................................................................... 12
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
2 of 14 PPMapp
1. Introduction
The PPMAPP sample application demonstrates the following: 1. Use the WSDL2Java utility provided by Apache Axis to build java proxy files from the PPM WSDL file. 2. Perform Basic SSL authentication with the Personal Profile Manager (PPM) database on the SIP Enablement Services (SES) server using the PPM object. 3. Use the Contact List set of APIs exposed by the PPM web services to add, delete and view contacts for an Avaya SES user. Figure 1 below shows the network configuration for testing the PPMAPP application.
Ethernet
Figure 1: Network configuration for testing PPMAPP application The configuration shown above is used only for test purposes. A practical deployment scenario could involve the client machine in a users network accessing the web server located in a DMZ through the internet. The Avaya SES in this scenario will be located in a remote private network and accessed by the web server through a firewall device.
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
3 of 14 PPMapp
Avaya SIP Enablement Services (SES) server on a S8500B Media Server Dell Blade Server for Web Server Pentium 4 2 GB RAM 40 GB+ Hard Disk 100 MHz network interface card
Release 3.1 Windows 2000 Professional Service Pack 4 Avaya WebLM 4.0 Apache Tomcat Web Server 5.0.28
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
4 of 14 PPMapp
3. Accessing the SIP Enablement Server (SES) Web Service Definition Language File
The SES WSDL can be viewed through the web browser of any machine connected to the SES (either in a LAN or remotely) by typing: http://<IP address of the SES>/axis/services/PPM?wsdl The entire PPM interface is described in this Web Services Description Language (WSDL) document. The WSDL document lists the operations defined by the PPM interface. The parameters of each of these operations and the transport specifics are also listed as shown in below.
The PPM WSDL file is automatically deployed during the SES install process. No additional steps are necessary to configure the PPM web services post install.
KC; Reviewed: SPOC 5/2/2007 Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved. 5 of 14 PPMapp
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
6 of 14 PPMapp
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
7 of 14 PPMapp
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
8 of 14 PPMapp
Type admin in the User name: field and leave the Password: field empty. Click the OK button to login to the Tomcat manager.
The context path link to the PPMAPP application should be visible under the path column as shown below. The string in the Display Name field is entered in the <display-name> tag in the web.xml file.
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
9 of 14 PPMapp
user_actions.html None
add_contact.html
None
add_contact.jsp
setAddress setName setAlias setGroup setParentGroup setEmail setNotes setType setPhoneNumber setPrefixTelNumber
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
Continued,
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
11 of 14 PPMapp
File Name PPM API used dispcontact_delete.jsp getContactList getNoOfElements getContactInfo getName() getAddress()
delete_contacts.jsp
get_contactlist.jsp
error.jsp
Functionality This page displays the users contacts in the PPM database. The PPMSoapBindingStub object using the session.getAttribute method. The getContactList method returns the ContactListInfo object. This object contains the number of elements in the list and an array of ContactData objects. The name for each contact is obtained using the getName method and displayed on the form. The user can select a checkbox next to each name to delete that contact. The form permits selecting multiple checkboxes. Click on the Delete these contacts button to confirm. The displist form on this page will be submitted to the delete_contacts.jsp page. This page iterates through the checkboxes selected in deleteContact the above form and deletes each contact by retrieving getValue the address of each contact (passed as a hidden field from the dispcontact_delete.jsp form). A delete confirmation is displayed for each contact and the page automatically (after 1 second) displays the user_actions.html page. The get_contactlist.jsp page retrieves and displays the getContactList getNoOfElements name; email and address (handle) information for each contact. The contacts are obtained using the getContactInfo getContactList method. getName getEmail getAddress None This page is invoked from the catch block of the rest of the pages in this application. The exception message is passed to this page. The error page displays this message and automatically (after 1 second) displays the login (spim.html) page prompting the user to re-login. Table 2: Description of PPMAPI application
Cookies should be enabled on the machine accessing the PPMAPP application (through the web browser). If this is not possible due to security reasons, then the code in the .jsp pages above should be changed to support URL rewriting. This is necessary for the session object to access the PPMSoapBindingStub object in subsequent pages. Refer to your respective Web Browser vendors documentation for enabling cookies.
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
12 of 14 PPMapp
7. References
The following document can be downloaded from http://devconnect.avaya.com [1] Interface Specification Document for Personal Profile Manager Document ID: 03-601678, Issue 1, August 2006
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
13 of 14 PPMapp
2007 Avaya Inc. All Rights Reserved. Avaya and the Avaya Logo are trademarks of Avaya Inc. All trademarks identified by and are registered trademarks or trademarks, respectively, of Avaya Inc. All other trademarks are the property of their respective owners. The information provided in these Application Notes is subject to change without notice. The configurations, technical data, and recommendations provided in these Application Notes are believed to be accurate and dependable, but are presented without express or implied warranty. Users are responsible for their application of any products specified in these Application Notes.
Please e-mail any questions or comments pertaining to these Application Notes along with the full title name and filename, located in the lower right corner, directly to the Avaya DeveloperConnection Program at devconnect@avaya.com.
Solution & Interoperability Test Lab Application Notes 2007Avaya Inc. All Rights Reserved.
14 of 14 PPMapp