Cisco Unified Application Environment Application Developer Getting Started Guide
Running and Troubleshooting Cisco Unified Application Environment Applications
Downloads: This chapterpdf (PDF - 298.0KB) The complete bookPDF (PDF - 2.93MB) | Feedback

Running and Troubleshooting Cisco Unified Application Environment Applications

Table Of Contents

Running and Troubleshooting Cisco Unified Application Environment Applications

Running the Example Application

HTTP Request Triggers the MakeCall_Tutorial Application

MakeCall is Initiated; Phone Rings

SendResponse is Initiated; HTTP Response is Sent

MakeCall_Complete Executes

Troubleshooting Your Application

Development Time Issues

Deployment Issues

Runtime Issues


Running and Troubleshooting Cisco Unified Application Environment Applications


This chapter describes the activities that occur when an application runs. It also provides basic troubleshooting help for common problems.

It contains the following sections:

Running the Example Application

Troubleshooting Your Application

Running the Example Application

This section describes and illustrates what occurs in the Cisco Unified Application Environment when running the example application created in this chapter.

HTTP Request Triggers the MakeCall_Tutorial Application

Figure 7-1 shows the sequence of activity that occurs when the HTTP Request is sent.

1. The HTTP Request is sent from a web client (such as a browser) to the HTTP Provider.

2. The HTTP request is converted to a Metreos.Providers.Http.GotRequest event and sent to the Application Runtime Environment, which in turn initiates a new script instance to handle the triggering event.

Figure 7-1 HTTP Request Triggers The MakeCall_Tutorial Application

MakeCall is Initiated; Phone Rings

Figure 7-2 shows the sequence of activity that occurs after the script is initiated.

1. The script initiates a MakeCall action. MakeCall is a provider action, so a message is sent to the SIP Provider (although it could have been the H.323, SCCP, or CTI Provider—this depends on how your application partition is configured).

2. The SIP provider then calls the first configured SIP endpoint in the SIP Call Route Group, which is always a Cisco Unified Communications Manager per deployment best practices.

3. If the number (5000, in this case) is routable, Cisco Unified Communications Manager then causes that endpoint to ring. In this case, this diagram assumes that you have a phone with line number 5000.

Figure 7-2 MakeCall Is Initiated; Phone Rings

SendResponse is Initiated; HTTP Response is Sent

Figure 7-3 shows the sequence of activity that occurs after the phone rings.

1. After the call has been initiated, SendResponse is executed. SendResponse, like MakeCall, is a provider action, so a message is sent to the HTTP Provider. Specifically, the message is a response to the HTTP request made in HTTP Request Triggers the MakeCall_Tutorial Application.

2. The HTTP response is sent back to the client.

Figure 7-3 SendResponse Is Initiated; HTTP Response Is Sent

MakeCall_Complete Executes

Figure 7-4 shows the sequence of activity that occurs after the phone is answered.

1. The phone sends SIP or SCCP signaling back to CUCM to indicate that the call is picked up.

2. Cisco Unified Communications Manager signals to the Cisco Unified Application Environment SIP Provider that the phone has been picked up.


Note Additional signaling that is not shown here takes place between Cisco Unified Application Environment, Cisco Unified Communications Manager, and the IP phone to negotiate the media streams of the call.


3. After the SIP messaging associated with a phone call being answered has completed, the SIP Provider sends a Metreos.Providers.CallControl.MakeCall_Complete event back up to the application, causing the function which handles that event to begin execution.

Figure 7-4 MakeCall_Complete Executes

Troubleshooting Your Application

This section contains error symptoms and resolutions for the more common issues you might encounter when building, deploying, and running your application.

If you cannot find a resolution for your issue here, you can pursue a resolution in one of the following ways:

Search the Cisco Unified Application Environment forums for relevant posts or post a new message to get help from other developers.

Read articles posted to the Cisco Unified Application Environment wiki.

Submit an issue in one of the following ways:

Table 7-1 Options for Submitting an Issue

Method
Description
Location

Cisco Developer Portal Issue Tracker

Both bugs and enhancement requests may be opened in the Issue Tracker. Issue tracking through the Developer Portal, just like the forums, is "best effort." There is no SLA required to post and while it may be good enough in many cases, it might not be for all.

http://developer.cisco.com/web/cdc/projects?src=/jira/browse/CUAE

Product Support

Provided by the Technical Assistance Center (TAC), specifically for upgrading and installing the Cisco Unified Application Environment, administering it, and running applications.

Contact the TAC if you have purchased a Cisco Unified Communications Essential Operate Service contract for your Cisco Unified Application Server and Cisco Unified Media Engine.

http://www.cisco.com/techsupport

Developer Support

Provided by Developer Services, specifically for problems related to developing applications, or when your applications are not operating correctly.

Contact Developer Services if you have purchased a Developer Services contract.

http://www.cisco.com/web/developer/cuae/content/support.html


Development Time Issues

Table 7-2 lists common errors, and resolution, that you might see when you build your project. These messages appear in the Output Window of the Cisco Unified Application Designer.

Table 7-2 Development Time Issues 

Symptom
Meaning
Resolution

The following message appears in the Cisco Unified Application Designer console:

Non-final action must have at least one outbound link in [Function Name]: [Action Name](Action ID)

Every branch must ultimately explicitly declare how it completes by using a final action, but at least one branch in your script does not do this.

Add an EndFunction or EndScript action to the end of the branch, after the offending action.

For more information about these actions, see the API reference for the version of the Cisco Unified Application Environment you are using.

The following message appears in the Cisco Unified Application Designer console:

E300: Missing required parameter [Parameter Name] in [Function Name]: [Action Name](Action ID)

At least one action does not specify one or more of its required parameters.

Add a value for the empty, required action parameter in the offending action.

The following message appears in the Cisco Unified Application Designer console:

E600: Compile error: Error compiling inline C# code

(more data follows—cut out for brevity)

Either a C# Action Parameter or a CustomCode action has invalid C# code.

Double-check every C# action parameter or CustomCode C# code block.

The following message appears in the Cisco Unified Application Designer console:

Duplicate branch conditions in [Function Name]: [Action Name] (Action ID)

An action has two or more branch conditions originating from it with the same label/condition.

Find the offending action, and correct the duplicate branch labels.

The following message appears in the Cisco Unified Application Designer console:

No start node in [Function Name]: Start (Start Action ID)

A start node in a function has no action located after it.

Find the offending start action, and add the relevant actions after the start node to complete the flow of logic in that function of the script.

Application Server log displays error message indicating that there is an application sessions overflow. Application cannot start a new session from that point on.

The session lingers, which causes system to run out of application session licenses.

Restart Application Server and fix application by adding "removeCuaeSession" at all the error conditions and application logic exit spots.

The following message appears in the Application Server log: Ignore unknown Etch message: _exception.

Missing event handling functions, which causes exceptions during runtime.

Implement event handlers for events delivered from Unified Application Server to Etch-based application.

You are unable to find the API methods that you want to use when working in your IDE.

Cannot find methods inside IDE while using IntelliSense.

Ensure the desired Etch IDL has been added into mixin list in project.yaml.


Deployment Issues

Table 7-3lists common errors, and resolution, that you might see when you deploy your project. These messages show up in the Output Window in the Cisco Unified Application Designer.

Table 7-3 Deployment Issues

Symptom
Meaning
Resolution

The following message appears in the Cisco Unified Application Designer console:

Deploying ...

Application Server inaccessible

The configured Cisco Unified Application Server IP address is incorrect, the Cisco Unified Application Server is not running, or networking issues are blocking communication from the Unified Application Designer to the Cisco Unified Application Server.

² Verify that the Cisco Unified Application Designer is configured to connect to the correct Cisco Unified Application Server by checking the IP address in Tools > Options > Connectivity.

² Verify that the Cisco Unified Application Server is running in the admin interface: http://<serverIPaddress>/cuaeadmin

To check status, choose Serviceability > Services.

² Verify that you can connect to the 8120 port on the Cisco Unified Application Environment. (You can do this by typing the following from the CMD prompt:
telnet <serverIPaddress>8120

The following message appears in the Cisco Unified Application Designer console:

Deploying ...

Could not log in to Application Server

The configured Cisco Unified Application Server administrative username and password is incorrect.

Double-check that the Cisco Unified Application Designer is configured with the correct administrative Username and Password. In the Unified Application Designer, choose Tools > Options > Connectivity.

The CUAE command-line tool returns a timeout message.

the Cisco Unified Application Server is inaccessible. The configured IP address and port is incorrect or there is a network issue between development machine and Cisco Unified Application Environment.

Verify the IP and port are correct and the network connectivity exists.

The CUAE command-line tool returns the following message:

Login exception: Authenticate failed for user XYZ.

The configured administrator user name and password combination is invalid.

Verify the credential is correct on target Cisco Unified Application Environment.


Runtime Issues

Table 7-4 lists common errors, and resolution, that you might see when running your project. When first attempting to run your application, select the Remote Console in the Cisco Unified Application Designer so that you can see the logs in real-time.


Note The following messages assume you have set logging to verbose for the Application Environment and Telephony Manager and that you are using SIP for the telephony protocol.


Table 7-4 Runtime Issues  

Symptom
Meaning
Resolution

The following message appears in the Application Server log:

Forwarding Metreos.CallControl.H323.MakeCall action to provider

The Cisco Unified Application Server is using the H.323 provider to process the call. While this is technically valid, the example assumes you are using SIP for telephony.

Correct the Call Route Group ID configuration on the Default partition for your application:

1. Navigate to http://<cuae-ip>/cuaeadmin > Applications > Find/List Applications.

2. Select your application.

3. In the Application Details page, select the Default partition.

4. Change the Call Route Group ID to Default SIP.

The following message appears in the Application Server log:

Configuration error: Call route group is empty or misconfigured for: MakeCall_Tutorial->Default

The Call Route Group configured on the partition must have at least one Telephony Server within it.

Add a SIP Trunk to the SIP call route group being used by the application partition.

The following message appears in the Application Server log:

Outbound call attempt to '#####' failed. Reason: Ringout

The Cisco Unified Communications Manager must have a SIP trunk defined within that correctly references the IP address of the Cisco Unified Application Server, and the number specified as the To parameter in MakeCall must be routable.

² Verify that the Cisco Unified Communications Manager has a SIP trunk configured, and that the Destination Address is the IP address of the Cisco Unified Application Server.

² Verify that the number being dialed is routable/dialable within Unified Communications Manager.

Audio Issue:

No audio is heard. In addition, if the call is left up for 12 seconds, it will hang up abruptly.

No log errors or warning occur for this issue.

The SIP Provider DefaultOutboundFromNumber must be set to a number for outbound calls to complete.

1. Navigate to http://cuae-ip/cuaeadmin > Plugins > Find/List Plugins.

2. Click the SIP Provider link.

3. Enter an number in the Default Outbound From Number field.

4. Click Save.

Application receives EtchBridge exception if invalid arguments are used in the registerApplication method. If an application profile has not been installed before calling registerApplication, the application receives a timeout or runtime exception.

Unified Application Server cannot accept the registration.

Ensure application profile has been installed on Cisco Unified Application Environment using the CUAE command-line tool.

Ensure the application, partition name, and administrator credential are correct in registrationApplication.

Turn Etch Bridge log level to verbose level and inspect the Application Server log for error information.