Thin Client Apps Made Easy: Avaya's New.NET SDK Simplifies Telephony App Development for Web-based Environments Avaya recently introduced.net developers to the new features that will be available in Application Enablement Services (AES 4.1), allowing you to take a sneak peak of its new.net Software Development Kit (SDK) for Device and Media Call Control (DMCC). You spoke, and Avaya listened. Feedback indicates that you want to know more about how you can use the same components to develop thin client applications that run in a Web browser that you use to develop the same applications in Visual Basic and C#. by Shari L. Gould More Resources Article: Take a Sneak Peek Microsoft A plethora of new features are at your.net Developers Test Drive Avaya's Latest disposal with AES 4.1, due for release in SDK the fourth quarter of this year, with the Join the Avaya DevConnect Program latest SDK from Avaya for developing Webinar: Why Upgrade to a Higher Level enterprise telephony applications for Membership? July 19, 2007, 11:30 a.m. EDT Avaya's Communication Manager (CM). You can still preview the new.net SDK as a DevConnect member, even though it's not available to everyone yet. Now we delve a little deeper into the.net SDK and AES 4.1's ability to enable you developers to create thin client apps that run in a browser in JavaScript the same way you would develop them in VB and C#. Getting Started Let's assume you already have the.net SDK installed. If you don't, refer to the first article's Getting Started section for details. The first thing you need to know is that by creating applications that run on a Web server, you do not need to install your application on every desktop that uses it. All the end-user needs to do is type in the URL where your Web page is located, and the.net components are loaded into the browser. All you need is your existing Web development environment, like Dreamweaver, Joombla, Visual Studio, or even Notepad. JavaScript communicates between the Web pages you create for your application and the server. The JavaScript library used to communicate with the.net component is provided with the SDK. Cut and Paste For those developers that are not savvy in JavaScript, or just looking for a shortcut to save some time, Avaya's made it fool-proof by providing you with sample JavaScript code for nearly every part of your application. It's practically written for you.
With your download, you get sample HTML pages that you can view in your Web browser, so now you can have a sample Web page to look at to see precisely how to initiate various parts of your application, such as start an app session, get contents of a display, push a button, or answer an incoming call. Just cut and paste. Now that the HTML and JavaScript is done for you, you can spend time developing the UI for your app and not worry about the plumbing behind it all. Figure 1 is a screen shot of a very simple thin client sample application. The screen shot was taken from an actual call while recording the conversation. This application shows a softphone being implemented in Internet Explorer. This particular sample application has the ability to not only place and receive calls, but also the ability to record the call. In addition, the application has the ability to monitor all the XML messages going between the browser (Internet Explorer) and the DMCC server. The red and green squares are lamps associated with the 10 buttons on the phone and the "4132" and "Not Used" represents the 10 buttons on the developer's phone. Figure 1. Sample Thin Client Application This sample application was written using notepad as the editor, which is the norm in 65 percent of developer environments. Case in Point Providing Web access to traditional VB and C# applications offers a new type of customer for your organization to target. For example, if your company put a kiosk for a car insurance company at a mall, you could easily provide a Web form that enables the end user to insure a new car and then quickly dial to talk to an agent. You simply place a Click to Call button on the Web page that connects the caller to an agent at the insurance company. The end user does not fumble through Web pages to find a number to call; he or she simply clicks the Click to Call button. In the car insurance kiosk example, you would create a softphone application that runs in a browser on a computer located at the mall kiosk. The end user simply accesses the Web site by typing in the URL to use the application and filling in online forms to apply for coverage. Next, he or she can click the Click to Call button on the Web page to dial an agent automatically. This thin client environment is made possible with JavaScript that allows applications like the softphone to run in remote environments when it may not have been possible otherwise. Further, maintenance and upgrades in remote environments are easier, since new versions of the application are updated on the Web server (Web page). When the end user accesses the URL, he or she downloads the latest and greatest app automatically. End users no
longer need to uninstall and then reinstall the thick client on each PC. In the past, you had to update every users' laptop in corporate mobile environment. DMCC apps that run on a PC certainly have their place, but environments like mall kiosks simply cannot implement telephony apps so easily without the ability to remotely manage and administer it. DMCC requires your apps to run in a thick client environment, and many telephony environments reap the benefits of DMCC, such as call centers. However, it does require that softphone agents running on each desktop be launched via an executable file, which is something that is not feasible in a remote environment like a softphone at a mall kiosk. The Dashboard We talked about the Dashboard as part of AES 4.1 in the last article. While it is not necessary for developing Web-based applications in.net, the Dashboard can be used to learn about DMCC capabilities. Further, the steps you need to take to make a Web app work can be prototyped into the Dashboard, allowing you to test your application before deploying it. For example, typical steps would be: Figure 2. Dashboard 1. Start a session to open the line of communication to the DMCC server. 2. Get a device ID. Basically, this is where you control which telephone extension is being used or to obtain multiple device IDs. 3. Register the device with DMCC to activate the device. For example, you can set up DMCC to notify you if the display changes on phone for example. The same process holds true with JavaScript, C# or VB. You need to realize any app you can write in C# or VB, you can write in JavaScript to run on a Web page. But, bear in mind that the sample.html pages that demonstrate all of the interfaces to the DMCC component only run when used via Internet Explorer. You can think of this as the Dashboard application only running in Internet Explorer. The IE version won't have all of the nifty features of the C# version of the Dashboard, such as automatically highlighting fields and integrated help, though. It will demonstrate, however, all of the capabilities of AES 4.1 and.net for Web development.
You will find a link for each example of.html code that, and when clicked, it will show you the actual Jscript code necessary to perform the operation you want the end user to perform. For example, if you want to see the code needed to push a button on the phone, all you need to do is find that example on the sample web page, and then click the "See the code" link. Figure 3. See the JavaScript Code Again, you're getting a sneak peak, so keep in mind that development of the dashboard.html page is still in progress. So, the end product may look a bit different from what you see in the screen shots here. The first screen shot is the main page. On the top of the page you will see seven areas of the DMCC that can be selected: Session: This area has all the commands associated with sessions for example starting a session, stopping a session, and configuring monitors. Device: This area has all the commands related to devices specifically, getting and releasing a device. (See Figure 4) Phone: This area has all the commands related to phones for example, registering and unregistering a phone; getting the current contents of the display; and pushing a button. Configuring the monitors such as getting notified when the lamp or display changes. (See Figure 5) Media: This section has all the commands associated with media for example, playing a.wav file on the call or recording the call. (See Figure 6) Call Info: This section has information on commands related to Call Information. (See Figure 7) Call Control: This section shows all the capabilities related to third party call control for example, MakeCall, Forwarding, Hold Call, and Retrieve Call. (See Figure 8) XML Trace: This section demonstrates the capability of logging the XML messages that are going to and from the DMCC Server. (See Figure 9) Coming Soon AES 4.1 is expected to be generally available in the fourth quarter 2007, but the DMCC.NET/C# software development kit (SDK) is ready for you to test out right now as a DevConnect member. Here are some additional new features you can expect when AES 4.1 is officially released. AES 4.1 touts third-party call control support for session initiation protocol (SIP) endpoints, as well as support for Microsoft OCS 2007. You'll also find security enhancements, including secure clients, as well as API support for 508 compliance. Your end users can look forward to click-to-call in MOC, which uses SmartTags;
escalating instant messaging (IM) to a conference call, sharing presence information between phone and MOC; and call control capabilities, such as Hold and Transfer. Here's the bottom line with the.net SDK's thin client model: IT organizations reap the benefits of the thin client model that the.net release brings in terms of ease of maintenance and deployment. Developers get the convenience of using the identical components with.net as they use with VB and C#. Shari L. Gould has more than 16 years of journalism and technical writing experience. Shari has written for numerous leading publications throughout her career, most recently Software Development Times and its various publications, and had an article hand picked by Sun Microsystems for inclusion in its Solaris Developer Connection. She also has more than 10 years experience working with high-tech companies documenting everything from network designs and installations, through software design and APIs, to user interfaces. Shari currently is pursuing her Master's degree in Criminal Justice, specializing in Information Security.