The Dashboard
One of the key selling points for the .NET SDK is that it allows you to build DMCC applications very quickly. One way is with the Dashboard. The control panel, or the Dashboard, provides a series of tabs that allow you to easily control application development using DMCC. It is also very useful for helping you new developers get up to speed on writing DMCC applications. The Dashboard provides you with information about the capabilities of DMCC and helps guide you through the API calls that you would do in order to write your applications.
The Dashboard makes development easier by highlighting parameters that are required when you initiate certain features within the Dashboard, such as Start Application Session. Tool tips guide you through the process as well, explaining each field. If the tool tips are not enough then you can click on the "?" followed by the button of interest. More detailed help will be presented and you will be given the option to launch Internet Explorer and be taken directly to an Avaya Web site which has detailed information about that particular method. From there you can further explore the online documentation of the API.
Let's talk about the tabs in the Dashboard.
Main Tab
The Main tab allows you to register services and extensions. Buttons on this tab allow you to start, stop, and reset an application session, get and release a device identification, start and stop monitoring of listed IDs, register and unregister terminals, reconnect a session, and stop the auto keep-alive feature. The buttons that apply to certain functionality are enabled, so you'll know what buttons are required. Buttons that are disabled are not applicable to the task at hand.
Call Control, Phone Commands, and Link and Call Information Tabs
Next, the Call Control tab allows you to set and maintain third-party call control features. In DMCC 4.1, you will be able to designate the third-party device ID and control SIP endpoints. You can also do third-party call control on H.323 and DCP (non IP) endpoints. In the Phone Commands tab, you can designate a button number on the phone and determine the status details of that particular button. The Link and Call Information tab allows you to click the Call Information button to retrieve just that, call information, as well as link status.
Server Media and Client Media Tabs
On the Main page, you can set the Media Control mode to either Server Mode, Client Mode, or No Media. If you set the Media Control mode to Server Mode, you can use the Server Media tab to record .wav files and play them back on specified devices. You must first register devices, get device IDs and click the Start Recording button on the Main tab. In Client mode, managed in the Client Media tab, you can track and record incoming RTP/RTCP data to be delivered to the RTP IP address you designate in the Main tab.
Automated Testing Tab
No app is complete, whether you like it or not, without testing. Automated testing allows you to repeat a set of previously executed commands that were done in the Dashboard. These commands can be saved into a script file and loaded later. For example, you could have a script that does the following:
- Starts an application session
- Gets a Device Id for two extensions (such as 1001, 1002)
- Configures the appropriate monitors for those extensions
- Registers the extensions
- Goes off hook on 1001 and dials 1002
- Have 1002 Answer the call
- Have 1002 and 1001 hang up
In some cases, the automated testing capability could be used to do a rough prototype of a feature without having to write a single line of code.
The .NET SDK logs all commands you've executed. If you highlight them in the left pane, click the Perform Highlighted Actions button, the Dashboard automatically executes the code to test it. The Event pane tells what events occurred during the execution. Even better, you can save the file and reuse the script to execute later, maybe building prototype features.
Hard-core Coders
Recent Avaya surveys indicate that some 65 percent of you develop on DMCC using straight .XML and C++ code. Now you don't have to log into a server and search the log files to debug your apps. The .XML editor is right there in the Dashboard, showing you the raw code going to and from the server. You can edit .XML code directly from the Dashboard. This feature alone could cut their development time in half.
You can write raw .XML code in the Dashboard's right pane as well. Even better, from Visual Studio 2005, you can add code snippets, which Visual Studio imports from the .NET API. It allows you to have Visual Studio automatically generate .NET (C# and Visual Basic) code for you. Simply right click, select a method from the list box, double-click, and the associated code displays.
The End Point
A plethora of tools are at your disposal, but there's still more. Web-based help, discussion forums, embedded documentation in the Dashboard, code snippets, and sample applications written in C# and VB are included in the SDK for you. And, for inquiring minds, thin clients possibilities exist with the .NET API. For example, you could create a fully-functional softphone running in Internet Explorer. Cutting edge stuff.
Take advantage of this opportunity to get a sneak peek at the latest Avaya SDK, free of charge. There's one catch. Avaya wants your feedback on your experience with the .NET SDK. You can put your two-cents' worth in by accessing Avaya's DevConnect .NET discussion forums.