3 Creating WebRTC Session Controller Applications, Packages, and Criteria

This chapter explains how to create the applications, packages, and criteria that WebRTC Session Controller Signaling Engine (Signaling Engine) uses to establish and modify communication between your client applications and IMS core.

You use the WebRTC Session Controller console graphical user interface (GUI) to create and manage the applications, packages, and criteria that Signaling Controller uses to translate and modify messages between client applications and your IP Multimedia Subsystem (IMS) core.

This procedure requires a running WebLogic server, and that you know the WebLogic username and password that you created for the domain. See the discussion on getting started in WebRTC Session Controller System Administrator's Guide for instructions on creating and starting a WebLogic domain.

To establish and modify communication between your client applications and IMS core, you do the following:

Creating Criteria

Each Signaling Engine criteria contains a single Groovy script that performs all translation and processing tasks for a single type of JavaScript Object Notation (JSON) or Session Initiation Protocol (SIP) message. You must create separate criteria for all possible JSON or SIP message that your Signaling Engine implementation processes. In synchronous request/response communication, you must create a separate criteria for each request and response message.

Before creating a new criteria, look through the Groovy code in the default packages, and in the Script Library to see whether there is already some code that accomplishes what your message requires.

Criteria are applied to messages based on this information included in each criteria, such as the direction from which a message originates, the SIP method or JSON action that the criteria matches, the type of message, and an identifier for the application that the message is associated with.

To create the criteria and Groovy script processing necessary to implement your new package, access the WebRTC Session Controller console. For details on creating criteria, see the description about "Managing Package Criteria" in WebRTC Session Controller System Administrator's Guide.

Creating Packages

A package is a collection of all the criteria (Groovy scripts) necessary to translate the telecom messages in a session from JSON to SIP and back. So creating a new package really just creates a shell that you fill with criteria. This procedure assumes that you have already created the criteria required.

To create the new package, access the WebRTC Session Controller console. For details on creating criteria, see the description about "Configuring Messaging Packages" in WebRTC Session Controller System Administrator's Guide.

Creating Applications

Each application is a collection of packages that contain the criteria that translate (and probably change) WebRTC application to SIP network communication for a single program. This procedure assumes that you have already created the criteria and packages required.

Applications reference your WebLogic security groups. Create any security groups your implementation requires before following this procedure.

To create applications, access Application Profiles tab in the WebRTC Session Controller console. For details on creating and registering applications, see the description about "Managing WebRTC Session Controller Application Profiles" in WebRTC Session Controller System Administrator's Guide.

Exporting and Importing a Configuration

You can export your current configuration settings to a file or import a set of configuration settings from a file to which a configuration instance was previously saved. For details on creating and registering applications, see the description about "Exporting and Importing a Configuration" in WebRTC Session Controller System Administrator's Guide.

Debugging Groovy Script Run Time Errors

You can diagnose Groovy script problems using the stack trace in the domain_home/wsc.log file, where domain_home is the name of the WebRTC Session Controller domain. This file contains the Signaling Engine stack trace messages. You identify the individual Groovy script by searching for the individual criteria method name that contains the criteria information.

For details on debugging your groovy scripts, see the description about "Debugging Groovy Script Run Time Errors" in WebRTC Session Controller System Administrator's Guide.

About the WebRTC Session Controller Console Validation Tests

The WebRTC Session Controller console runs validation tests to confirm that your Groovy scripts, Groovy library, packages, and applications are all valid. It runs the validation tests each time you commit changes to an application, package, or criteria, or click the Validate button.

For the complete list of the error types and the messages, see "About the WebRTC Session Controller Console Validation Tests" in WebRTC Session Controller System Administrator's Guide.