Apps

Apps allow you to extend Operations Monitor's reporting capability. You can upload an app to customize the queries and report information provided by Operations Monitor. Operations Monitor provides a number of default apps, which can be accessed on this page. For information on how to develop new extension apps for Operations Monitor, see "Implementing Apps".

Note:

Apps searches are not guaranteed to be real-time without advanced hardware sizing.

Figure 3-41 Apps in Session Monitor


Apps in Session Monitor

The Apps page (see the figure) is divided into three sections:

  • The upper-left area lists Available Apps.
  • The upper-right area displays outputs of previous App Runs.
  • The bottom area displays the results of the selected App Run. It is empty when you first access the page.

App Descriptions

Apps allow you to extend Operations Monitor's reporting capability. The descriptions for the Apps:

Table 3-6 Apps and Descriptions

App Description
Call-ID Search This application takes as input the date and time boundaries such as started before and started after and the ID of the call and finds all calls with the given ID in that time span. The ID of a call can be found in the PCAP or when we expand a call in the Calls page and servers as a unique identifier for each call.
Find calls containing Identity This application takes as input the date and time boundaries such as started before and started after and the regular expression pattern to search and finds calls which contain that regular expression pattern in any leg in that time span. The regular expression match is done against the Caller and Callee column . For example for a regular expression pattern “123*”, “*123” and so on.
Calls containing keyword This application takes as input the date and time boundaries such as started before and started after and the Searched word for a call and finds all calls with the given searched word in that time span. The searched word can be a definitive word from the message flow like “BYE”, “INVITE”, “RINGING”.
Calls Count This application takes as input the date and time boundaries only started before and started after and gives the summation of all the calls run in this time frame.
Calls terminated by a given device This application takes as input the date and time boundaries started before and started after and the name of the device and finds all the calls in which the first BYE message was sent from a given device. The name of the device must be added in the Platform Device in Admin- Settings- Platform Devices.
INVITEs without SDP This application takes as input the date and time boundaries started before and started after. This app finds calls where the first invite contains no SDP offer (under invite check Accept.
INVITEs without SDP by IP This application takes as input the date and time boundaries started before and started after. This app finds IP addresses where the first invite contains no SDP offer (under invite check Accept)
Response Code Search This application takes as input the date and time boundaries started before and started afteras well as the Response code. The response code can be from any leg of the call. Response codes include values like 200, 180 and so on.
Advanced Response Code Search This application takes as input the date and time boundaries Started before and Started after and Restrict search to final response code (leave empty to match any final code)” and “Filter for the following response code in any leg (leave empty to not filter)”, This will search all calls with specified parameters in the given time frame. Response codes include values like 200, 180 and so on.
Search leg given state This application takes as input the date and time boundaries Started before and Started after and Restrict search state of the leg and filters for the following response code in any leg. State can be Finished or 200,180 etc.
One way audio calls detection This application takes as input the date and time boundaries Started before and Started after and Restrict search along with another parameter- “Consider no audio as problematic (0 or 1)”. This will search all calls having no audio(0) or having one way audio(1) in the given time frame.
Registered users This application does not take any input parameters but displays the registered users currently present in system.
User agent / codec statistics This application takes as input the date and time boundaries Started before and Started after. This app gives statistics of the user agent and the codecs used by the user.
Users which register with multiple contacts This application does not take in any input parameters but outputs the registered users who have registered with multiple contacts in the system.
Voice Quality Statistics This application takes as input the date and time boundaries onlyStarted before and Started after and returns the Voice Quality Statistics for that duration.
Voice Quality Chunks statistics This application takes as input the date and time boundaries only Started before and Started after, and returns the Voice Quality statistics for chunks (10 sec interval) in a given time duration.

Available Apps

The Available Apps table (see the following figure) contains the columns Name and Mod. time by default. The first column displays a name for each application, the second column displays each apps modification time. The Scheduled column marks apps that are scheduled to run at a certain point in time. Additionally, the Id column can be enabled, which displays a unique identifier for each app. This is useful when you want to access the application using the remote procedure call functionality described in section "Remote App Procedure Calls" of this manual.

Figure 3-42 Available Apps


Available Apps

Uploading Apps

You can upload new apps to Operations Monitor in the Available apps table. Click Upload app to open a dialog box to search for an app archive on your computer and upload it to Operations Monitor. The procedure for creating an archive is described in the section "Implementing Apps".

Caution:

When creating your own applications, or using third-party applications, test your scripts in a test environment to ensure they are safe before uploading them to your production environment. Applications approved by Oracle are safe to use in your environments. However, non-approved applications could cause security and performance issues. Oracle is not responsible for any loss, costs, or damages incurred from using your own applications, or third-party applications.

Running Apps

The Available apps section also allows you to start any app that is already present on the system. Starting an app requires you to enter any parameters that the app defines.

To start an app, select it in the table and click on the Execute app button. A dialog appears that allows you to enter the app parameters. Every app has a title parameter. The sole purpose of the title parameter is to distinguish between different app runs of the same app in the App runs table. Click Execute in the parameter entry dialog to go to the App runs table. Execution also starts when a user double-clicks one of the available apps.

There are limits for simultaneous execution of scripts and for the maximum debug output that an script can generate. They are defined by the Maximum Simultaneous Script Runs and the Maximum Script Output Size system settings. For more information, see "Maximum Simultaneous Script Runs" and "Maximum Script Output Size".

Scheduling Apps

You can also schedule a repeated execution of a given app. For more information, see "Scheduling App Execution".

The table entitled Available apps allows you to delete apps from Operations Monitor. To do this, select the app you want to delete in the table and click the Delete app button. After confirmation, the selected app is deleted from the system.

The View Schedule button displays the scheduling configuration for a given app: the cron expression which determines when this app is triggered, the e-mail address to notify, and the option to attach the result as a csv file.

View App Runs

The App Runs table (see the following table) displays four columns by default:

  • The Run title column displays the Run title parameter that was entered when starting the app.
  • The App start time column displays the start time of the app.
  • The Number of results column displays the number of results that the app reported. This column updates as the app run proceeds.
  • The Status column displays either Starting, Running or Finished depending on whether the app run is still in progress or already finished.

Two other columns can be enabled: the Id column to display the ID of each app run, and App name to show the unaltered name of the app. The Id column is useful when you want to access the results of an app using the remote procedure call functionality. For more information, see "Remote App Procedure Calls".

  • Exporting the App Runs to CSV

    The CSV export button lets you download the displayed items as a CSV file.

  • Debug App Run

    The View output action opens a window in which the console output of the selected app is shown.

  • Stopping and Removing App Runs

    The App Runs table allows you to stop an app run that is still active. To do this, select the app run you want to stop in the table and click the Stop button.

Note:

You can only stop an app run when it is in the Running state.

The App Runs table can also be used to remove app runs from the system. Select an app run in the table and click the Delete... button. You can only delete app runs that are in a Finished state.

View App Results

The lower portion of the Apps page displays result pages for app runs. The Apps page is empty when you first access it. When you double click an app run in the App Runs table, a new tab containing an app results view appears in the lower area.

App results view consists of a text display, which shows the parameters provided when starting the app, and a table containing the data rows reported by the app. The information in the table depends on the type of app that generated the results. Apps that search for calls use a similar results table to the calls table described in the section "Calls". Similar to the Recent calls table, you can double click on a row to get more detailed call information. This type of results table is shown in the following figure.

Figure 3-43 App Run Results


App Run Results

The results page varies for each app. Multiple app results can be displayed simultaneously, and a new tab is opened in the lower portion for each.

Scheduling App Execution

Apps can be scheduled to run periodically.

To set up an app schedule:

  1. Select the app from Available Apps and click the Execute App.
  2. In the App Parameters dialog box, click Execution Schedule arrow to expand and show the scheduling options (see the following figure):
    • The Schedule itself must be supplied as a cron expression. For more information, see "Cron Expressions".
    • Optionally, an email address can be provided for notification of app completion. The results of the execution may be attached to this email as a CSV file. Each execution of a scheduled app will also always appear in the View App Runs. For more information, see "View App Runs".

      Figure 3-44 App Parameters


      App Parameters

Removing an App Schedule

Once a schedule has been set it can be deleted from the schedule list view. Select the app and click the Delete apps button in the Available Apps. Scheduled apps also have the string Scheduled visible in the Scheduled column of this table. For more information, see "Available Apps".

Figure 3-45 Scheduled Apps


Scheduled Apps

Cron Expressions

Operations Monitor supports cron expressions as a means of defining your app schedules. An expression consists of 5 fields separated by white space that represent a set of times. The first field represents minutes, followed by hours, the day of the month, month, and day of the week. For example:

  • To run an app every minute use this expression:
    * * * * *
  • To run an app every 30 minutes (on the 0th and 30th minute of every hour):
    0,30 * * * *
  • And below, every Monday (2nd day of the week) at 1am:
    0, 1, * * 2

Note:

App results that include data for calls (result type "calls") remain valid and accessible only as long as the calls are accessible in the system. Once the call(s) fall out of Operations Monitor's scope, the app results which reference them will no longer be available.