This chapter describes how to use Session Design Center (SDC) resources in Oracle Communications Evolved Communications Application Server (OCECAS).
For an overview of OCECAS resources, see "About Resources" in Oracle Communications Evolved Communications Application Server Concepts.
OCECAS resources consist of data that you can use in control flows. These resources consist of data sets, announcements, notifications, and web services. Table 3-1 describes the four categories into which resources are divided:
Table 3-1 OCECAS Resource Categories
Resource Category | Description |
---|---|
General |
The General resource category consists of the Locales data set. Locales serve to identify the location and language for originating and terminating endpoints in a call. See "Working with Locales" for more information. |
Media |
The Media resource category consists of media resources, which are announcements, and the servers where they reside. See "Working with Media Resources and Servers" for more information. |
Numbers |
The Numbers category consists of prefix trees, including the default CountryCodePrefixTree, which maps global prefixes and country codes. See "Working with Prefix Trees" for more information. |
Templates |
The Templates category consists of the following types of templates:
See "Working with Templates" for more information. |
Locales are used to specify the language used in media resources such as announcements. A locale consists of a country code and a language code and also identifies the originating or terminating location in a voice call or multimedia session.
The VoLTE and VoWiFi application supports a default set of locales. To access the default locales, select View Application Configuration on the SDC home screen, then click the Resources tab and select Locales in the General category.
Each locale consists of the following data elements:
Name
The name of the language, such as Japanese. The name also allows for regional differentiation, such as Spanish (Mexico), Spanish (Guatemala), Spanish (Colombia) and so on.
Description
The description entry allows for a more detailed description of the locale.
Language code
The two letter language code that specifies the language, regardless of region. For example, es is the language code for Spanish, including Spanish (Mexico), Spanish (Guatemala), Spanish (Colombia) and so on. The language code is based on the ISO 639 standard.
Country code
The two letter country code, for example, MX for Mexico, GT for Guatemala, JP for Japan, and so on. The country code is based on the ISO 3166 standard.
You can add a locale to a change set that is not yet deployed.
To add a locale to a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the General category, click Locales.
This displays the set of existing locales.
Click New.
A dialog box opens, containing the fields Name, Description, Language Code, and Country Code.
Enter the information required to define the locale.
Click Save.
OCECAS requires a media server from which it can access media resources, such as the announcements it must play to the parties in a call session. The VoLTE and VoWiFi application provides sample media resources that are associated with a sample media server named VoLTE. To use these samples you must first configure them for your site. For example, you must update the driver of the example media server to match what you have. You must also update the .wav file locations of the sample media resources to match your actual media server configuration
To add a media server, see "Adding a Media Server to a Change Set" for more information.
To add needed announcements and store them on a media server, see "Adding a Media Resource to a Change Set" for more information.
A media resource is used when the control flow for a call session initiates it.
To initiate the use of a media resource in a control flow, add either the Start Playing Media or Start Recording Media Activity. These Activities require you to specify a session endpoint, which is one of the following: Initiating Endpoint, Destination Endpoint, Event Source or Conference Endpoint. To play an announcement to the caller who started the session, for example, select Initiating Endpoint. You must also specify a language by entering it, or by requesting the program to select it from context. In the latter case, OCECAS uses the language parameter that is configured in the user profile under /UserData/Subscriber/Profile in the user database repository. Additionally, you select a media resource from the list of available media resources and specify how long the resource must play.
At run-time the request that is sent to the media server is constructed from the selected endpoint, the user's chosen language, and the configuration of the selected media resource. The list of .wav files specified for the user's language (locale) is sent to the media server in the request. The media server responds by playing the specified .wav files to the user.
As for recording a message, you might want to record a greeting message when your are unable to answer a call. You could also want to record a notification when you start a conference to tell callers what the conference is about?
OCECAS provides the following sample media resources:
HoldMusic
VoLTE Hold Music announcement
ICBMessage
VoLTE Incoming Call Barred Message announcement
OCBMessage
VoLTE Outgoing Call Barred Message announcement
SessionEndedMessage
VoLTE Session Ended Message announcement
To use these sample resources, you must update the definitions to apply to your site. See "About the Media Resource Data" for more information.
To add a media resource to a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Media Resource.
The page displays the set of default media resources that are available.
Click New.
A dialog box opens.
Enter the required information in the dialog box. See "About the Media Resource Data".
Click Save.
Table 3-2 lists the data required to define a media resource.
Table 3-2 Media Resource File Data
Entry | Description |
---|---|
Name |
A required field. Enter a unique name. |
Description |
Enter a description of the media resource. |
Resource Type |
Specify the resource type as one of the following:
|
Media Server |
The name of the media server. See "Adding a Media Server to a Change Set" for information on adding a media server. OCECAS includes a sample media server called VoLTE that you can use as an example. |
Each media resource has zero or more parameters that you populate when you use the resource in a control flow. Consequently, when you create the resource, each parameter is a placeholder so you only need to specify its name and type, along with an optional description. The control flow editor allows you to specify a value for each parameter when you select the resource within a control flow.
Table 3-3 lists the entries to define a media resource parameter:
Table 3-3 Media Resource Parameters
Entry | Description |
---|---|
Name |
A unique parameter name. |
Data Type |
The parameter's data type. Select one of the following types:
|
Description |
A description of the parameter. |
You must also specify the locales that the media resource supports. For each locale you specify an ordered list of media files that will be played to the user when the media resource is used. The locale is selected at run-time based on user preference; if not known, the Default locale is selected. See "Media Files for Media Resources" for more information.
For each locale, you specify a list of URIs. The media server uses the URI to locate a file or resource to play. Each URI is configured as a combination of a protocol that you select from a drop-down list and a body that you enter, which names the file.
The supported protocols associated with the retrieval of the resource are:
file://, to use with a resource on the file system of the media server.
http://, to use with a resource to be retrieved over HTTP by the media server.
https://, to use with a resource to be retrieved over HTTPS by the media server.
data://, to use data URI encoding scheme to include snippets of data directly. For information about the URI data encoding scheme, see
other://, to use when you specify the entire URI, including the protocol.
OCECAS forms the URI by combining the selected protocol with the text that you enter in the body (which names the file). For example, selecting file:// and entering //hello/there.wav
, results in the URI: file:////hello/there.wav
. For other://, if you specify text in the body as xyz://joe@bloggs.com/foo
, then the uri will be xyz://joe@bloggs.com/foo
.
At run-time the locale is selected based on user preference; if not known the Default locale is selected.
To view the setup for a media resource:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Media Resource.
The page displays the set of available media resources.
Click the entry for the resource.
A dialog box opens.
Update the data in the dialog box. See "About the Media Resource Data".
Click Save.
OCECAS does not deliver a media server. However, it organizes the media servers you configure into groups.
In order to enable media resources to be played to users, you need to integrate the media servers you want to use with OCECAS. To do so, determine the appropriate driver string and URI from your media server vendor. OCECAS provides a sample media server named VoLTE with a sample configuration consisting of Jsr309TestDriver as the driver and a sample environment with URI configured as file:test/driver. It uses the following context map to specify the location:
domain_home/MediaServer/Production/VoLTE
where, domain_home specifies the runtime domain in your installation.
Table 3-4 lists the data required to define a media server.
Field | Entry | Description |
---|---|---|
Details |
Name |
A required field. Enter a unique name. |
Details |
Description |
Enter a description. |
Driver |
Interface type |
Select:
|
Environments |
All (Default) |
The list of environments specified for this server. To add an environment:
Use the trash can icon to delete a row entry. |
Parameters |
Collect |
To add a Collect parameter:
Use the trash can icon to delete a row entry. OCECAS provides the following Collect parameters:
|
Parameters |
Play |
To add a Play parameter:
Use the trash can icon to delete a row entry. OCECAS provides the following Play parameters:
|
Parameters |
Record |
To add a Record parameter:
Use the trash can icon to delete a row entry. OCECAS provides the following Record parameters:
|
Parameters |
Conference |
To add a Conference parameter:
Use the trash can icon to delete a row entry. OCECAS provides the following Conference parameters:
|
To add a media server to a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Media Server.
The page displays the set of default locales.
Click New.
A dialog box opens.
In the dialog box configure the media server data. See "About the Media Server Data".
Click Save.
To view the setup of a media server for a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Media Server.
The page displays the set of default locales.
In the Name column, locate the entry for the resource. Click the entry.
A dialog box opens.
In the dialog box update the media server configuration. See "About the Media Server Data".
Click Save.
Prefix trees in OCECAS contain mappings between global prefixes and country codes.
OCECAS provides a default prefix tree, CountryCodePrefixTree. This tree is located at /PrefixTree/Global/CountryCodePrefixTree
. Each branch in this tree consists of a three-letter country code and its dialing code prefix. For example, ALB: 355 represents the country calling code for Albania.
Prefix tree data is stored in the sdc_service_data table in the management domain (the Session Design Center domain).
A prefix can include multiple countries. For example, the prefix 1 includes the USA, Canada, Puerto Rico, and the Dominican Republic. CoutryCodePrefixTree displays the following for Puerto Rico.
PRI : No prefix
Eastern : 1787
Western : 1939
In this case, the prefix 1 is built into the full prefixes for the children Eastern and Western.
Table 3-5 lists the data required to define a prefix tree.
Entry | Description |
---|---|
Name |
Required. Enter a unique name for the prefix tree. |
Key |
Enter the key. The default entry is /PrefixTree/Global. This is the service data key. An entry with the same key value is also stored in the sdc_external_concept table and is accessible when you reference the prefix tree in an Activity. |
Description |
Enter a description for the prefix tree. |
Prefix Tree |
The prefix tree with its branches. You can add branches to the prefix tree. See "Adding to a Prefix Tree". |
To create a custom prefix tree for a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the Numbers category, click Prefix Trees.
The page displays the defined prefix trees.
Click New.
A dialog box opens.
In the dialog box enter the prefix tree information as described in "About the Prefix Tree Data".
Click Save.
You can create a new branch for a prefix tree and you can append a new child to a branch.
To append a new branch to prefix tree:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the Numbers category, click Prefix Trees.
The page displays the defined prefix trees.
To access a specific prefix tree, click on its name under Name.
Click the + sign next to the Prefix Tree icon at the top of the tree.
Tip:
You must move the cursor over the Prefix Tree icon for + and - signs to appear.The Append a New Branch dialog box opens.
In the Branch Name field, enter the name for the new branch.
Do one of the following:
Leave Prefix Digits empty to create a branch with no prefix. Do this if you want to add children with unique new prefixes to the new branch.
Or
Enter a prefix for the branch in the Prefix Digits field.
Click Append.
Click Save.
To append a new child to an existing prefix branch:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the Numbers category, click Prefix Trees.
The page displays the defined prefix trees.
To access a specific prefix tree, click on its name under Name.
In the prefix tree, locate the branch to which you want to append a child.
Click the + sign next to the branch.
Tip:
You must move the cursor over the branch for + and - signs to appear.The Append a New Branch dialog box opens.
In the Branch Name field, enter the name for the new child branch.
Do one of the following:
Leave Prefix Digits empty to create a branch with no prefix. Do this if you want to add one or more children with unique prefixes to the new branch.
Or
Enter a prefix for the branch in the Prefix Digits field.
Note:
If the parent has a prefix, the child prefix is appended. For example, if the parent has a prefix of 3 and you enter 16, the prefix for the child will be 316.Click Append.
Click Save.
You can remove a branch from a prefix tree. When you do so, OCECAS removes all the children of that branch.
To remove a branch and all of its children from a prefix tree:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Prefix Trees.
The page displays the defined prefix trees.
To access a specific prefix tree, click on its name under Name.
In the prefix tree, locate the branch that you want to remove.
Click the - icon next to the branch.
Tip:
You must move the cursor over the branch for + and - signs to appear.A dialog box opens to confirm that you want to remove the specified branch.
Click Remove.
OCECAS supports the use of templates to build the message bodies of outgoing messages. All Activities associated with an outgoing message reference a message template. You can create templates to generate the message structure, and use the Activities in the control flow to determine when messages are sent.
A web service is treated as template because a web service location is closely tied to the message content. The template, therefore, defines the message body, but also aspects of the message destination.
Message templates are stored as service data. OCECAS groups templates in logical sets in an hierarchy, making them easy to locate. Each template describes a single message. The data includes the user-friendly name given to the template, the parent template set, the message body determined by the locale, and the message type such as plain text, or XML.
You can configure an Activity by update the templates it uses at runtime. The variable parts inserted at runtime are identified by name and type, such as string and a description. A runtime check verifies the content of the message body. Use the control flow editor to create them at the point of use.
OCECAS provides a default notification template called AccessTransferInformation. Example 3-1 shows the template definition.
Example 3-1 Default Notification Template Syntax
<?xml version="1.0" encoding="UTF-8"?> <SRVCC-infos> <SRVCC-info ATCF-Path-URI="{$ATCFPathUri}"> <ATU-STI>{$AtuSti}</ATU-STI> <C-MSISDN>{$CMsisdn}</C-MSISDN> </SRVCC-info> </SRVCC-infos>
Here:
ATCF-Path-URI is the ATCF path URI
ATU-STI is the address of the SCC application server
C-MSISDN is the correlation Mobile Station International Subscriber Directory Number (MSISDN) for the sessions associated with this user.
In runtime, the access transfer information sent from an example SRVCC application server to the access transfer control function (ATCF) contains the following:
All Activities associated with an outgoing message reference a message template. You can create a Notification template through the All Resources menu
Table 3-6 lists the data required to define a notification.
Table 3-6 Notification Template Data
Field | Entry | Data |
---|---|---|
Details |
Name |
A required field. Enter a unique name. |
Details |
Description |
Enter a description. |
Parameters |
Name |
Each notification definition may have zero or more parameters that will be used by a control flow to populate a locale specific template Enter a unique name. |
Parameters |
Data Type |
Select the data type for this resource from String, Integer, Float, Boolean, Date, MapArray, StringArray, Integer Array, and FloatArray. |
Parameters |
Description |
Enter a description for the parameter. |
Locales |
Locales that the resource supports |
The list of locales. The first entry in the list is Default. Each locale is configured with a template that is used by a control flow to generate the contents of an end user notification. Click on a locale listed under Locales. Update the template definition. To add another locale:
|
To add a notification template to a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Notifications.
The page displays the set of notification templates.
Click New.
A dialog box opens.
In the dialog box configure the notification template data. See "About the Notification Template Data".
Click Save.
To update a notification template to a change set:
Select the change set. See "Locating and Viewing Details for a Change Set".
On the page for the change set, click All Resources.
In the displayed selection, click Notifications.
The page displays the set of notification templates.
Click on the notification template.
A dialog box opens.
In the dialog box update the notification template data. See "About the Notification Template Data".
Click Save.
The need to query external data sources using standard methods of exchanging information, such as SOAP or JSON, is fairly common. For example, you might need to affect session flow by querying for information on another system regarding products or subscribers. You might, for example, have a service that requires you to securely authenticate a credit card payment. Or you might have a location server that you can query to find out where a call originated and you want to use that to determine the location where the call should be terminated.
By creating web service templates, you can access services that are implemented on external servers and map data to and from a session. When you successfully create a web service template, it becomes available as a selection for an Activity that requires a web service template, such as the Run Web Service Activity.
You can create a Web Service template either by creating the template manually or by importing a WSDL file.
To create a Web Service template manually:
Select the change set. See "Locating and Viewing Details for a Change Set".
Click the All Resources tab.
On the All Resources menu, click Web Services.
On the Web Services templates page, click New to create a new template.
A dialog displays with links for three pages: Details, Parameters, and Template.
On the first page, Details, enter a name for the template and, optionally, a description.
Click Parameters to enter any template parameters.
These parameters specify the variable parts to be completed when the Run Web Service Activity is selected and configured in a control flow.
Click New and then enter a name, data type, and description for the parameter. For example:
Name: key
Data Type: String
Description: The value to search for
Repeat step 7 for each template parameter that you need to enter.
Note:
To delete a parameter, click the trash-can icon next to that row.Click Template to enter the web service template. For example:
<myService> <key xsi:type='xsd:string'>{$key}</key> <text xsi:type='xsd:string'>{$text}</text> </myService>
Click Save to save the template.
Note:
You can click Save at any time while creating a template to save what you have defined.You can also create a Web Service template by importing a WSDL file to the server.
To import a WSDL file to create a Web Service template:
Select the change set. See "Locating and Viewing Details for a Change Set".
Click the All Resources tab.
On the All Resources menu, click Import WSDL.
In your file system, locate the .wsdl file that you want to import and click Import WSDL.
The name of the imported WSDL file, along with it's size, status and time of day are listed on the page.
The names of the services made available are displayed under the WEB SERVICES category in the Changes panel.