Oracle® Communications Services Gatekeeper

SDK User's Guide

Release 5.1

E37529-01

June 2013

Oracle Communications Services Gatekeeper SDK User's Guide, Release 5.1

E37529-01

Copyright © 2010, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Contents

Preface

- Audience

- Documentation Accessibility

- Related Documents

1 Installing the SDK

- Introduction

- Supported Platforms and Modes

- Pre-Installation Tasks

- Installing in GUI Mode

- Installing in Console Mode

- Installing in Silent Mode

- Uninstalling the SDK

2 Using the Application Test Environment

- About the ATE

- Supported Communication Services

- What You Can Do in the ATE

- Basic Testing

- Test with Virtual Communication Service Configuration Settings

- Test with Account Credentials

- Test Policy Enforcement

- Substituting the ATE´s Endpoints in the Application

- Substituting Credentials in the Application

- Starting the ATE

- Starting the ATE on UNIX

- Starting the ATE on Windows

- Starting the ATE on Mac OS X

- Stopping the ATE

- ATE Overview

- Setting Up and Using Map Elements

- Adding and Using Phone Elements

- Adding a Phone Element

- Changing a Phone Element´s Properties

- Removing a Phone Element

- Sending an SMS from a Phone Element

- Sending an MMS from a Phone Element

- Sending a Binary SMS from a Phone Element

- Sending an Example Message from a Phone Element

- Reading a Phone Element´s Received Messages

- Deleting a Phone Element´s Messages

- Setting a Phone Element´s Status

- Reading a Phone Element's Third Party Call Status

- Adding and Using Mobile Elements That Are Not Phones

- Adding and Using Circular Notification Area Elements

- Adding a Circular Notification Area

- Changing a Circular Notification Area´s Properties

- Removing a Circular Notification Area

- Displaying a Custom Map

- Configuring, Starting and Stopping the VCS

- Starting/Stopping a VCS

- VCS MBean Object and Class Names

- Configuring VCS Settings

- Configuring the Short Messaging VCS

- Configuring the Multimedia Messaging VCS

- Configuring the Terminal Location VCS

- Configuring the Terminal Status VCS

- Configuring the Payment VCS

- Configuring the Third Party Call VCS

- Configuring the Binary Short Messaging VCS

- Troubleshooting

- Simple Mobile-Terminated Test

- Simple Mobile-Originated Test

- Managing Accounts

- Managing Service-Level Agreements

- Managing Value Enforcements

- Managing Rate Enforcements

- Monitoring Payment Accounts

- Example Module

3 Customizing the Application Test Environment

- About Customizing the ATE

- The Startup Configuration File

- Example Startup Configuration File

- Order of Configuration Elements

- When Configuration Elements Are Read

- Customizing General Characteristics

- Customizing a VCS

- Showing/Hiding a VCS Module

- Changing a VCS Title

- Reconfiguring the Default VCS MBean Attributes

- Customizing the Account Manager

- Showing and Hiding the Account Manager

- Creating Accounts

- Customizing the SLA Manager

- Showing and Hiding the SLA Manager

- Creating Policy Enforcements

- Showing And Hiding Payment Accounts Panels

A ATE Endpoints

- ATE Endpoints for SOAP-Based Interfaces

- Session Manager

- Parlay X 2.1 Short Messaging Service/SMPP

- Parlay X 2.1 MultiMedia Messaging Service

- Parlay X 2.1 Terminal Location

- Parlay X 2.1 Terminal Status

- Parlay X 3.0 Payment

- Parlay X 2.1 Third Party Call

- EWS Binary SMS

- ATE Endpoints for RESTful Interfaces

- Session Manager

- Short Messaging

- Multimedia Messaging

- Terminal Location

- Terminal Status

- Payment

- Third Party Call

- Binary SMS

- ATE Endpoints for Example Communication Service

B VCS Exception Codes

- Short Messaging Exception Codes

- SendSms.sendSms

- SendSms.getSmsDeliveryStatus

- ReceiveSms.getReceivedSms

- SmsNotificationManager.startSmsNotification

- Multimedia Messaging Exception Codes

- SendMessage.sendMessage

- SendMessage.getMessageDeliveryStatus

- ReceiveMessage.getMessage

- ReceiveMessage.getReceivedMessage

- MessageNotificationManager.startMessageNotification

- MessageNotitifcationManager.stopMessageNotification

- Terminal Location Exception Codes

- TerminalLocation.getLocation

- TerminalLocation.getTerminalDistance

- TerminalLocationNotificationManager.startGeographicalNotification

- TerminalLocationNotificationManager.startPeriodicNotification

- TerminalLocationNotificationManager.endNotification

- Terminal Status Exception Codes

- TerminalStatus.getStatus

- TerminalStatus.getStatusForGroup

- TerminalStatusNotificationManager.startNotification

- TerminalStatusNotificationManager.endNotification

- Third Party Call Exception Codes

- ThirdPartyCallImpl.cancelCallRequest

- ThirdPartyCallImpl.endCall

- ThirdPartyCallImpl.getCallInformation

- ThirdPartyCallImpl.makeCall

- ThirdPartyCallImpl.sendMessage

- ReceiveMessage.makeCall

- Payment Exception Codes

- AmountCharging.ChargeAmount

- AmountCharging.RefundAmount

- AmountCharging.ChargeSplitAmount

- VolumeCharging.ChargeVolume

- VolumeCharging.RefundVolume

- ReserveAmountCharging.ReserveAmount

- ReserveAmountCharging.ReserveAdditionalAmount

- ReserveAmountCharging.ChargeReservation

- ReserveAmountChargingReleaseReservation

- VolumeCharging.ChargeSplitVolume

- ReserveVolumeCharging.ReserveVolume

- ReserveVolumeCharging.ReserveAdditionalVolume

- ReserveVolumeCharging.ChargeReservation

- ReserveVolumeCharging.ReleaseReservation

- Binary SMS Exception Codes

- SendBinarySms.sendMessage

- BinarySmsNotificationManager.startMessageNotification

Preface

This book describes the Oracle Communications Services Gatekeeper Software Development Kit (SDK). The SDK provides a test environment that can be used to test applications on a simulation of Services Gatekeeper.

Audience

This document is intended for software developers for testing applications that interface with telecom networks through Services Gatekeeper.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documents

For more information, see the following documents in the Oracle Communications Services Gatekeeper documentation set:

- Oracle Communications Services Gatekeeper Accounts and SLAs Guide

- Oracle Communications Services Gatekeeper Application Developer's Guide

- Oracle Communications Services Gatekeeper Communication Service Guide

- Oracle Communications Services Gatekeeper Platform Development Studio Developer's Guide

- Oracle Communications Services Gatekeeper RESTful Application Developer's Guide

1 Installing the SDK

This chapter contains instructions for installing the Oracle Communications Services Gatekeeper Software Development Kit (SDK).

The SDK is downloaded and installed separately from Oracle Communications Services Gatekeeper. You do not need to install Services Gatekeeper to install and run the SDK.

These instructions assume that you have downloaded the SDK and saved it to a local directory, sdk_install_dir.

Introduction

The Oracle Communications Services Gatekeeper SDK provides an Application Test Environment (ATE).

The ATE allows application developers who are creating applications that run on Oracle Communications Services Gatekeeper to test their applications without having access to an actual Services Gatekeeper installation.

The ATE contains a set of virtual communication services that simulate the communication services provided by Services Gatekeeper.

Supported Platforms and Modes

The SDK is supported on the following operating systems:

- Windows XP and Windows 7

- Redhat Linux, Version 5

- Mac OS X 10.6

The installer can be invoked in the graphical user interface (GUI), console, or silent mode on all operating systems. The default is GUI mode.

Silent mode is for installing duplicate installations on multiple machines without responding to prompts.

On Windows and Linux you can use the platform-specific installer or the generic installer. The Windows and Linux installers include a bundled Java Runtime Environment ("JRE 160_18") and do not require setting any environment variables.

You must use the generic installer on Mac OS X, and you can use it optionally on Windows and Linux. The generic installer requires that a JRE be installed on your system and that the JAVA_HOME system variable be set to its path. The version must be JDK1.6.0_04 or higher for the SDK to run properly.

You can also download the installer files in a ZIP file. Downloading and saving the files as a ZIP file makes it easier to repackage and redistribute the SDK.

Pre-Installation Tasks

There are no pre-installation tasks for Windows and Linux.

The Mac OS X SDK installer expects an rt.jar file in JAVA_HOME/jre/lib/. Because this file does not exist on Mac OS X, you need to perform some setup tasks before starting the installer.

Before installing on Mac OS X, open a command window and run the following commands:

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home

mkdir $JAVA_HOME/jre

mkdir $JAVA_HOME/jre/lib

touch $JAVA_HOME/jre/lib/rt.jar

Installing in GUI Mode

This section describes how to install the SDK in GUI mode on all platforms.

To install the SDK in GUI mode:

1. From sdk_install_dir, do one of the following:

- To start the Windows installer, enter:
ocsg_sdk500_win.exe [-mode=gui]

- To start the Linux installer, enter:
./ocsg_sdk500_linux.bin

- To start the generic installer on Windows or Linux, enter:
java -jar ocsg_sdk500_generic.jar [-mode=gui]

- To start the generic installer on Mac OS X, enter:
java -Dos.name=unix -jar ocsg_sdk500_generic.jar [-mode=gui]

You must use the generic installer to install the SDK on Mac OS X and explicitly pass the operating system (UNIX) as a command-line argument.

After you start the installer, the Choose Middleware Home Directory window appears.

The Middleware home directory contains the JRE and related support files for the SDK.

2. Do one of the following:

- To install into an existing Middleware home:

1. Select Use an existing Middleware Home.

2. From the list of existing Middleware home directories, select a directory.

3. Click Next.
The Java virtual machine (JVM) Selection window appears.

- To install into a new Middleware home:

1. Select Create a new Middleware Home.

2. In the Middleware Home Directory field, enter the path for the new Middleware home directory.

3. Click Next.
The JVM Selection window appears.

3. Do one of the following:

Note:
If you are using the Windows or Linux installer, selection in the JVM Selection window specifies whether to use the Java Runtime Environment (JRE) bundled with the SDK or to use a local JVM that is already installed on your machine.
There is no bundled JRE with the generic installer. If you are using the generic installer, you must enter a local JVM in this step. The JDK version must be JDK1.6.0_04 or higher.

- To accept the default JRE, click Next.
The Choose Product Installation Directories window appears.

- To select a bundled JRE, if there is more than one

1. Select the check box next to the bundled JRE that you want the SDK to use.

2. Click Next.
The Choose Product Installation Directory window appears.

- To select a local JVM:

1. Click Browse.

2. Navigate to the home directory of your local JRE.

3. Select the local JRE directory.
The selected directory appears checked in the Local JVM field.

4. Click Next.
The Choose Product Installation Directory window appears.

4. In the Product Installation Directories field, enter the path of the product installation directory.
The product installation directory contains the SDK package.

5. Click Next.
The SDK is installed.

When installation is complete, the Installation Complete window appears.

6. Click Done.
The installer exits.

Installing in Console Mode

This section describes how to install the SDK in console mode on all platforms.

To install the SDK in console mode:

1. From sdk_install_dir, do one of the following:

- To start the Windows installer, enter:
ocsg_sdk500_win.exe -mode=console

- To start the Linux installer, enter:
ocsg_sdk500_linux.bin -mode=console

- To start the generic installer on Windows and Linux, enter:
java -jar ocsg_sdk500_generic.jar -mode=console

- To start the generic installer on Mac OS X, enter:
java -Dos.name=unix -jar ocsg_sdk500_generic.jar -mode=console

You must use the generic installer to install the SDK on Mac OS X and explicitly pass the operation system (UNIX) as a command-line argument.

2. At the Choose Middleware Home Directory prompt, do one of the following:

- To use an existing Middleware home directory, do the following:

1. Enter the number next to the existing directory that you want to use as Middleware home.

2. Enter Next.

- To create a new Middleware home directory:

1. Enter 1.

2. Enter Next.

3. At the Enter new Middleware Home prompt, enter the path to the new Middleware home directory or accept the default.

4. Enter Next.

3. At the JVM Selection prompt, do one of the following:

- To use the default bundled JRE:
Enter Next.

- To enter a new JVM:

1. Enter 2.

2. At the Enter New Local Java Home prompt, enter the path of the JVM for the SDK to use.

3. Enter Next.

Note:
There is no bundled JRE with the generic installer. If you are using the generic installer, you must enter a new JVM in this step. You can use the Browse button to navigate to the path of your installed JRE. The JDK version must be JDK1.6.0_04 or higher.

4. At the Product Installation Directory prompt, enter the product installation directory:

1. Enter the path you want to use as the new product installation directory or accept the default.

2. Enter Next.

The SDK is installed. You will see the Congratulations! Installation is complete. message when the installation is complete.

Installing in Silent Mode

This section describes how to install the SDK in silent mode on all platforms.

Use silent mode for installing duplicate installations on multiple machines.

This is accomplished through a configuration file called silent.xml that you create. You then specify the silent.xml file as a parameter when you start the installer in silent mode.

When silent mode is used, the installation program does not display any options during the installation process.

In the silent.xml file, you set the values for the directories that the installer normally prompts for as <data-value> elements. Table 1-1 lists the directory names as they must be specified in the <data-value> elements.

Table 1-1 Directory names in silent.xml file

Name in silent.xml File

Meaning

BEAHOME

Full path name to the Middleware Home directory

OCSGSDK_INSTALL_DIR

Full path name to Product Installation directory

LOCAL_JVMS

Full path name to local JVM directory for the SDK to use. If not specified, the JRE bundled with the SDK is used.

The following is a sample silent.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<!--
Values for silently installing the SDK
-->

<bea-installer>
<input-fields>
<data-value name="BEAHOME" value="D:\OCSG\sdk"/>
<data-value name="OCSGSDK_INSTALL_DIR" value="D:\OCSG\sdk\sdk"/>
<data-value name="LOCAL_JVMS" value="C:\oracle\java\jdk160_05">
</input-fields>
</bea-installer>

To install the SDK in silent mode:

1. Create a silent.xml file similar to the example above.

2. Save the silent.xml file in sdk_install_dir.

3. From sdk_install_dir, do one of the following:

- To start the Windows installer, enter:
ocsg_sdk500_win.exe -mode=silent -silent_xml=silent.xml

- To start the Linux installer, enter:
ocsg_sdk500_linux.bin -mode=silent -silent_xml=silent.xml

- To start the generic installer on all Windows or Linux, enter:
java -jar ocsg_sdk500_generic.jar -mode=silent -silent_xml=silent.xml

- To start the generic installer on Mac OS X, enter:
java -Dos.name=unix -jar ocsg_sdk500_generic.jar -mode=silent -silent_xml=silent.xml

You must use the generic installer to install the SDK on Mac OS X and explicitly pass the operation system (UNIX) as a command-line argument.

The installation proceeds with no prompts.

Uninstalling the SDK

On Windows, you can uninstall the SDK using the Uninstall OCSG SDK menu item on the Windows Start menu.

On all platforms, you can run the uninstall program on the command line from Middleware_Home.

To uninstall the SDK from the command line:

1. Do one of the following:

- On Windows, enter MIDDLEWARE_HOME/utils/uninstall/uninstall.exe

- On Linux and Mac OS X, enter MIDDLEWARE_HOME/utils/uninstall/uninstall.sh

The Welcome window appears.

2. Click Next.
The Choose Components window appears.

3. Verify that the Oracle Communications Services Gatekeeper SDK check box is selected.

4. Click Next.
The uninstall program starts and the Uninstalling Oracle Communications Services Gatekeeper SDK window appears.

When the uninstallation process is complete, the program displays Uninstall Complete.

5. (Optional) If you wish to see a list of the files that were not removed, click Details. You can remove these files manually.

6. Click Done.
The installer exits.

2 Using the Application Test Environment

The Application Test Environment (ATE) is a tool that lets you test your applications on a simulation of Oracle Communications Services Gatekeeper.

About the ATE

The ATE hosts a set of virtual communication services (VCSs) that correspond to many of the communication services provided by Services Gatekeeper.

You can develop applications that require interaction with Services Gatekeeper (for tasks such as opening sessions, sending and receiving messages, and examining delivery reports) through the VCSs without having to connect to the network operator´s Services Gatekeeper installation. When the time comes to test and later deploy the application with a real Services Gatekeeper installation, you need only to change a few URLs and authentication credentials in the application.

The ATE supports both Simple Object Access Protocol (SOAP) and Representational State Transfer (RESTful) application interfaces.

For information about the SOAP application interface, see Application Developer´s Guide. You can also access the Parlay X 2.1 specifications at

ftp://ftp.3gpp.org/Specs/archive/29_series/29.199-04/29199-04-650.zip

and the Parlay X 3.0 specifications at

ftp://ftp.3gpp.org/Specs/archive/29_series/29.199-02/29199-02-740.zip

For information abut the RESTful application interface, see RESTful Application Developer´s Guide.

Supported Communication Services

The ATE supports the following VCSs:

- Session Manager

- Short Messaging

- MultiMedia Messaging

- Terminal Location

- Terminal Status

- Payment/Diameter

- Third Party Call

- Binary Short Messaging

What You Can Do in the ATE

Using the ATE, you can:

- Test the basic functionality of your application

- Test the application's behavior with different configuration settings

- Test the application's behavior with different authentication credentials

- Test the application's behavior with policy restrictions

Basic Testing

This section provides a high-level workflow for performing basic testing.

To perform basic testing:

1. Set the endpoints in your application to point to the ATE.
See "Substituting the ATE´s Endpoints in the Application" for more information.

2. Change the credentials in the headers of your application's requests either to the default credentials or to those provided to you by the network operator.

See "Substituting Credentials in the Application" for more information.

3. Start the ATE.
See "Starting the ATE" for more information.

4. Add some elements to the ATE map or use existing elements.

By default, a mobile terminal element with the address "tel:1234" is provided in the default configuration. Your application can send messages to and receive messages and notifications from mobile terminals on the map. You can also verify whether a terminal has entered or left a defined notification area.

See "Setting Up and Using Map Elements" for more information.

5. Verify that the VCSs that your application uses are started.
They should be started by default, but if they are not, start them. See "Starting/Stopping a VCS" for more information.

6. Start your application.

7. (Optional) If your application uses the SOAP-based application interfaces and you want to see the SOAP content for each VCS request, do the following:

1. In the ATE, select Settings from the File menu.
The Settings dialog box appears.

2. Select the Print SOAP content for each VCS request check box.
The SOAP content is displayed in the command window from which you started the ATE. You must have started the ATE from a command window to use this option.

8. Use the application to send and receive messages and notifications to and from the elements that you created in step 4.

9. Check results in the ATE (to verify that messages were received) and in your application.

Test with Virtual Communication Service Configuration Settings

To test your application's behavior with different configuration settings:

1. Configure each VCS that corresponds to a communication service that your application uses.
See "Configuring VCS Settings" for more information.

2. Repeat the steps outlined in Basic Testing with different VCS configuration settings.

Test with Account Credentials

To test requests with credentials that are different from the defaults:

1. Set up one or more accounts using the Account Manager.
See "Managing Accounts" for more information.

2. Change the credentials in the headers of your application's requests to the credentials of the accounts that you set up in the ATE.

3. Repeat the steps outlined in Basic Testing with the credentials of your ATE accounts.

Test Policy Enforcement

To test simple policy enforcements:

1. Set up one or more value and rate enforcements using the SLA Manager.
See "Managing Service-Level Agreements" for more information.

2. Repeat the basic testing outlined in Basic Testing by sending requests that violate the SLA enforcements that you set up in the ATE.

Substituting the ATE´s Endpoints in the Application

To use the ATE, you must change the endpoints in your application to point to the ATE rather than to Services Gatekeeper.

See Appendix A, "ATE Endpoints" for the list of ATE endpoints.

For information about Services Gatekeeper endpoints for the SOAP interfaces, see Application Developer's Guide. For information about Services Gatekeeper endpoints for RESTful interfaces, see RESTful Application Developer's Guide.

Substituting Credentials in the Application

By default, the ATE enforces security.

Applications sending requests to the VCS must supply a user name/password combination in the SOAP header or Hypertext Transfer Protocol (HTTP) basic authentication credentials that correspond to the application´s account in the ATE.

The default credentials are:

- User Name=domain_user

- Password=domain_user

Your network operator may have set up a special ATE account for your application and configured your ATE for those credentials.

You can also create your own accounts. See "Managing Accounts" for more information.

Starting the ATE

The ATE is a standalone application. It is not necessary to install Services Gatekeeper to use the ATE.

Starting the ATE on UNIX

To start the ATE on UNIX:

1. Change directory to the SDK root directory.

2. At a command prompt, enter run.sh.

Starting the ATE on Windows

To start the ATE on Windows, do one of the following

- To start the ATE from the Start menu, select Oracle Communications Services Gatekeeper, then select SDK.

- To start the ATE from a command prompt, change directory to the SDK root directory and enter run.cmd.

Starting the ATE on Mac OS X

To start the ATE on Mac OS X:

1. Change directory to the SDK root directory.

2. Enter run.sh.

Stopping the ATE

To stop the ATE:

In the ATE window, select Exit from the File menu.

ATE Overview

The default configuration on startup resembles Figure 2-1. Your ATE may look different depending on how it has been customized by the network operator.

Figure 2-1 ATE

The upper-left panel is the elements panel. In the Elements tab of this panel, you can create and configure elements representing mobile terminals that your application can send messages to and receive messages and notifications from. These elements are persistent. You can also create notification areas that your application can monitor. In the Messages tab of this panel, you can see a log of all the messages and notifications received by a VCS during the current session.

The upper-right panel is the map panel. You can place elements created in the elements panel on the map and drag them to another location on the map. You can also send messages from some elements and change the status of an element by right-clicking it on the map. If a notification area has been configured to monitor the location of any of the mobile terminals on the map, it will signal when a terminal has entered or left the area, depending on the configuration.

The lower-left panel is the VCS panel. Each tab accesses a different VCS, which simulates an actual communication service in Services Gatekeeper. You can display hidden VCS tabs by clicking the arrows in the tab region of the VCS panel. Each module, except the Session Manager, has two tabs: Controls and Configuration. In the Controls tab, you can stop and start the VCS module. The Configuration tab provides some configuration options, which vary for each VCS.

The Session Manager has a single panel from which you can start and stop the session manager.

The lower-right panel is the account manager/SLA manager/payment panel. In the Account Manager tab, you can set up accounts for your application to use. In the SLA Manager tab, you can set up simple enforcements based on values in a request or the rate of requests. In the Payment Account and Payment Account Detail tabs, you can monitor charging activity resulting from your application's requests in the Payment VCS.

You can hide and show these individual panels by clicking the small triangles at the edges of the panels. You can also resize the entire window and the individual panels.

Setting Up and Using Map Elements

The ATE provides three graphic elements to test applications:

- Phone

- Mobile elements that are not phones (truck)

- Circular notification area

You add elements from the elements panel. After you have added elements to the map, you can move them by dragging around the map. Figure 2-2 shows an elements panel containing a a phone element, a circular notification area element, and a truck element.

Figure 2-2 Elements Panel

If the elements panel is not currently displayed, you can display it.

To display the elements panel:

1. Click one of the small black triangles at the edge of one of the panels that is displayed.

2. Click the Elements tab if it is not already selected.

Adding and Using Phone Elements

The phone element represents a mobile terminal that can send and receive messages. You use a phone element to test how your application handles incoming and outgoing messages to and from mobile phones.

Every phone has an address, a position, and a status.

Adding a Phone Element

To add a phone to the map from the elements panel:

1. Click the + symbol in the bottom left corner of the elements panel.
The Add Map Element dialog box appears.

2. From the menu, select Phone.

3. Click OK.
The Properties dialog box appears, with some default values.

4. In the address field, enter a value that is unique in the ATE in the tel: address format: for example tel: 1234.

5. From the status menu, select the status of the phone. Valid values are Busy, Reachable and Unreachable.

6. If desired, set the position of the phone by entering values in the longitude, latitude, and altitude fields.
For these values, the ATE considers a maximum precision of four positions after the decimal point.

You can also set the latitude and longitude by dragging the phone element across the map after it has been added.

Changing the phone element's position in the Properties dialog box may cause the phone to move off the map. You can still access the phone from the elements panel, even when it is not visible on the map.

7. Click OK.
The phone is added. If its position is within the coordinates of the map, it appears on the map.

Changing a Phone Element´s Properties

To change a phone element´s properties:

1. Access the phone´s properties by doing one of the following:

- In the elements panel, double-click the phone element.

- In the elements panel, select the phone element and click the pencil symbol in the bottom left corner of the elements panel.

The Properties dialog box appears.

2. Enter the values that you want to change.
See "Adding a Phone Element" for information about the individual fields.

3. Click OK.

Removing a Phone Element

To remove a phone, do one of the following:

- In the map, right-click on the phone and select Remove.

- In the elements panel, select the phone and click the - symbol in the bottom left corner of the elements panel.

Sending an SMS from a Phone Element

You can send an Short Message Service (SMS) message from a phone element that is on the map.

To send an SMS message:

1. Right-click the phone element that is sending the message and select Send SMS.
The SmsMessage dialog appears.

2. In the sourceAddress field, enter the address of the terminal sending the message.
The default is the phone element that you clicked, but you can enter a different address in this field.

3. In the destinationAddress field, enter the terminal/short code of the terminal that will receive the message.

4. In the message field, enter the text of the message.

5. Click OK.

Sending an MMS from a Phone Element

You can send an Multimedia Messaging Service (MMS) message from a phone element that is on the map.

To send an MMS message:

1. Right-click the phone element that is sending the message and select Send MMS.
The MmsMessage dialog appears.

2. In the sourceAddress field, enter the address of the terminal sending the message.
The default is the phone element that you clicked, but you can enter a different address in this field.

3. In the destinationAddress field, enter the terminal/short code of the terminal that will receive the message.

4. In the subject field, enter the subject line of the message.

5. In the priority field, enter the priority of the message.
This can be any text.

6. Click OK.

Sending a Binary SMS from a Phone Element

You can send a Binary SMS from a phone element that is on the map.

The binary data must be in hexadecimal format.

To send a Binary SMS:

1. Right-click the phone element that is sending the message and select Send Binary SMS.
The SmsBinaryMessage dialog appears.

2. In the sourceAddress field, enter the address of the terminal sending the message.
The default is the phone element that you clicked, but you can enter a different address in this field.

3. In the destinationAddress field, enter the terminal/short code of the terminal that will receive the message.

4. In the byteMessage field, enter message data formatted according to the TP-User Data (TP-UD), excluding the TP-User-Data-Header--Indicator (TP UDHI).

5. In the dcs_hex field, enter the data encoding schema used to encode the binary data.

Table 2-1 Data Encoding Schemes

Bits 7 6 5 4 3 2 1

Meaning

0 0 0 0 0 0 0 0

SMSC Default Alphabet

0 0 0 0 0 0 0 1

IA5 (CCITT T.50)/ASCII (ANSI X3.4)

0 0 0 0 0 0 1 0

Octet unspecified (8-bit binary)

0 0 0 0 0 0 1 1

Latin 1 (ISO-8859-1)

0 0 0 0 0 1 0 0

Octet unspecified (8-bit binary)

0 0 0 0 0 1 0 1

JIS (X 0208-1990)

0 0 0 0 0 1 1 0

Cyrllic (ISO-8859-5)

0 0 0 0 0 1 1 1

Latin/Hebrew (ISO-8859-8)

0 0 0 0 1 0 0 0

UCS2 (ISO/IEC-10646)

0 0 0 0 1 0 0 1

Pictogram Encoding

0 0 0 0 1 0 1 0

ISO-2022-JP (Music Codes)

0 0 0 0 1 0 1 1

reserved

0 0 0 0 1 1 0 0

reserved

0 0 0 0 1 1 0 1

Extended Kanji JIS(X 0212-1990)

0 0 0 0 1 1 1 0

KS C 5601

0 0 0 0 1 1 1 1

reserved

1 0 1 1 1 1 1 1

reserved

1 1 0 0 x x x x

GSM MWI control - see [GSM 03.38]

1 1 0 1 x x x x

GSM MWI control - see [GSM 03.38]

1 1 1 0 x x x x

reserved

1 1 1 1 x x x x

GSM message class control - see [GSM 03.38]

For more information about data encoding. see the data_encoding section of the SMPP v 3.4 specification.

6. In the protocolId_hex field, enter the protocol identifier.
The protocol identifier specifies the higher layer protocol being used or indicates networking with a certain type of telematic device. For more information, see 3GPP TS 23.040 V6.5.0, Technical realization of the Short Message Service (SMS) at

http://www.3gpp.org/ftp/Specs/html-info/23040.htm

7. Click OK.

Sending an Example Message from a Phone Element

This is identical to the procedure for sending an SMS.

See "Sending an SMS from a Phone Element" for more information.

Reading a Phone Element´s Received Messages

If a phone element has received messages, from another element on the map or from your application, a number next to the phone element indicates the number of messages in its inbox.

To read a phone element´s received messages:

- Right-click the phone element and select Read Messages.
The phone element´s messages are displayed.

You can also view a log of the messages received by all the phone elements in the Messages tab of the elements panel.

Deleting a Phone Element´s Messages

To delete all of a phone element´s messages:

1. Right-click the phone element for which you want to delete messages and select Delete Messages.
The Delete Messages dialog box appears.

2. Select Yes.

To delete a selected message:

1. Right-click the phone element and select Read Messages.
The phone element´s messages are displayed.

2. Select the message that you want to delete.

3. Click the trash icon in the lower right corner of the message window.
The message is deleted.

Setting a Phone Element´s Status

To set a phone element´s status:

1. Right-click the phone element in the map.

2. Select Set Status.
A StatusMessage menu appears, displaying a status menu.

3. In the status menu, select the status of the phone. Valid values are Busy, Reachable and Unreachable.

You can also set a phone element´s status in the phone element´s Properties dialog box. See "Changing a Phone Element´s Properties" for more information.

Reading a Phone Element's Third Party Call Status

The Third Party Call VCS logs the call status of successful third party calls.

To read the log of third party calls:

1. Right-click the phone element on the map.

2. Select Read Call Status . . .

The Call Information window appears.

Figure 2-3 Third Party Call Log

The three status conditions that can be logged for successful third party calls are:

- CallInitial: The call has been place but not yet connected.

- CallConnected: The call has connected.

- CallTerminated: The call has terminated.

If the caller or callee terminal status is Busy or Unreachable, the third party call is not established and not recorded in the log. See "Setting a Phone Element´s Status" for information about setting the terminal status.

The call log holds a maximum of ten calls. If more than ten calls are made, calls are automatically deleted from the log on a first-in first-out (FIFO) basis. The user can also manually delete a call from the log by selecting it and then clicking trash icon in lower left corner of the Call Information window.

Adding and Using Mobile Elements That Are Not Phones

The truck element symbolizes a mobile terminal that is not a phone. Typically it is used to represent a vehicle that contains a flat panel capable of receiving and displaying messages to a driver, but it can be used to represent other mobile devices as well.

A truck element has the same characteristics as a phone element.

To add, remove, configure, and use a truck element, follow the instructions for phone elements in Adding and Using Phone Elements.

Adding and Using Circular Notification Area Elements

The circular notification area element represents the geographic area for which the application wishes to receive notifications when a mobile terminal enters or leaves the area. The ATE supports multiple notification areas on the same map. Notification areas can overlap.

Adding a Circular Notification Area

To add a circular notification area to the map:

1. Click the + symbol in the bottom left corner of the elements panel.
The Add Map Element dialog box appears.

2. Select Circular Notification Area from the menu.

3. Click OK.
The Circular Notification Area Properties dialog box appears, with some default values.

4. In the id field, enter a unique identifier for the notification area.

5. In the addresses field, enter a comma-separated lists of the addresses for which notification is requested. The format is "tel:1234,tel:2345,tel:3456, . . .".

6. In the trigger field, specify whether notification is requested when terminals enter the area or when they leave the area. Valid values are MS_ENTERING and MS_LEAVING.

7. If desired, set the position of the area by entering values in the longitude and latitude fields. These coordinates represent the center of the notification area.
For these values, the ATE considers a maximum precision of four positions after the decimal point.

You can change the latitude and longitude of a notification area by dragging the area element across the map after it has been created.

Changing the position may cause the notification area to move off the map. You can still access the notification area from the elements panel, even when it is not visible on the map.

8. If desired, set the size of the notification area by entering a value in the radius field.
The ATE considers a maximum precision of four positions after the decimal point.

9. If desired, enter the frequency (in seconds) at which periodic location notifications should be sent to the application in the interval field.

10. If desired, enter the maximum duration (in seconds) for a notification request in the duration field.

11. If desired, enter the maximum number of notifications to be sent to the application in the count field. This value represents the number of notifications sent in total, not the number of notifications per mobile terminal address.

Changing a Circular Notification Area´s Properties

To change a notification area´s properties:

1. To access the notification area´s properties do one of the following:

- Double-click the notification area´s element in the elements panel.

- Select the notification area´s element in the elements panel and click the pencil symbol in the bottom left corner of the elements panel.

The Properties dialog box appears.

2. Enter the values that you want to change.
See "Adding a Circular Notification Area" for information about the individual fields.

Removing a Circular Notification Area

To remove a circular notification area, do one of the following:

- In the map, right-click on the edge of the circular notification area and select Remove.

- In the elements panel, select the circular notification and click the - symbol in the bottom left corner of the elements panel.

Displaying a Custom Map

You can substitute a map of your choice for the default map.

The map must be in BMP, JPEG, or PNG format.

You need to know the geographic coordinates of at least two diagonally-opposite corners of the map to be able to set the map´s latitude and longitude ranges.

For the latitude and longitude values that define the edges of the map, the ATE considers a maximum precision of four positions after the decimal point.

Figure 2-4 Custom Map with Coordinates Displayed

If the map panel is not currently displayed, you can display it by clicking one of the small black triangles at the edge of one of the panels that is displayed.

You add a custom map from the map panel.

To display a custom map:

1. Click the following symbol, which appears in the lower-right corner of the map panel.

The Map Properties dialog box appears.

2. In left Longitude field, enter the lowest longitude value for an east/west edge of the map.

3. In the right Longitude field, enter the highest longitude for the other east/west edge of the map.

4. In the left Latitude field, enter the lowest latitude value for a north/south edge of the map.

5. In the right Latitude field, enter the highest latitude value for the other north/south edge of the map.

6. If you want the values of the coordinates set in the preceding steps to be displayed in the map, check the Show Ranges check box.

7. Select the Custom Image option.
A file browser appears.

8. Navigate to the file that contains your map image.

9. Select the map image file.

10. Click OK.
The custom map appears in the map panel.

You can return to the default map by selecting the Default Image option in the Map Properties dialog box.

Any elements created after the substitution of a custom map will have their default coordinates adjusted to the coordinates of the new map.

Configuring, Starting and Stopping the VCS

You manipulate the VCS used by your application in the VCS panel.

Figure 2-5 shows the VCS panel with the Short Messaging/Controls tab selected.

Figure 2-5 VCS Panel

If the VCS panel is not currently displayed, you can display it by clicking one of the small black triangles at the edge of one of the panels that is displayed.

Each individual VCS is represented by a tab in the VCS panel. Choose the tabs that correspond to the services used by your application to access a particular VCS´s settings.

Starting/Stopping a VCS

By default, all VCSs are started when the ATE starts.

You can stop and restart a VCS using the Start and Stop buttons that appear in the Session Manager tab and in the Control sub-tabs displayed for the other VCSs.

VCS MBean Object and Class Names

If you want to connect your application to a VCS programmatically, you need to know the full paths of the MBean object and class names.

To view the object name and class name of any VCS:

1. Click a VCS tab.

2. Click the Configuration tab.

3. Click any attribute or operation in the VCS tab.
A panel appears displaying fields for configuration.

4. Click this icon, which appears at the top of the configuration panel when an operation or attribute is selected:

A window displaying the VCS´s object name and class name appears.

Configuring VCS Settings

This section describes the attributes that you can configure and the operations you can perform in the ATE for a specific VCS.

These settings are for the purpose of testing the application´s behavior in the ATE and do not necessarily represent attributes and operations in Services Gatekeeper or in the application.

Configuring the Short Messaging VCS

To configure the Short Messaging VCS:

1. In the VCS panel, click the Short Messaging tab.
The Short Messaging panel appears.

2. Click the Configuration tab.
The Short Messaging VCS´s list of configuration options appears.

3. Select the operation that you want to perform.
A panel displaying fields for the operation´s input parameters and, if appropriate, a field for the operation´s output appears.

4. Enter any input parameters required by the operation.
Operations and parameters are listed below.

5. Click the green triangle, which performs the operation.

The Short Messaging VCS supports operations for configuring how offline notifications are handled.

An offline notification is a message received by the ATE when the application is offline. The ATE saves the message. When the application comes online and polls for mobile-originated messages, the ATE forwards the saved messages to the application if offline notification is enabled.

disableReceiveSms

Disables offline notification of a received SMS.

If offline notification is disabled, the ATE does not save or forward mobile-originated messages received while the application was offline.

Table 2-2 Parameters for disableReceiveSms

Parameter

Description

Correlator

The id value returned by the corresponding enableReceiveSms operation.

enableReceiveSms

Enables offline notification of a received SMS addressed to a specified shortcode.

The ATE notifies the application when it has received a message addressed to the specified shortcode in which the message contains a match to the specified criteria. If no criteria are specified, the ATE forwards all messages received by the specified shortcode while the application was offline.

Table 2-3 Parameters for enableReceiveSms

Parameter

Description

Shortcode

Destination address to which the message was sent.

Criteria

Optional. Text to match in the message. If the text matches, the application receives the notification.

listOfflineNotifications

Displays a list of registered offline notifications.

Configuring the Multimedia Messaging VCS

To configure the Multimedia Messaging VCS:

1. In the VCS panel, click the Multimedia Messaging tab.
The Multimedia Messaging panel appears.

2. Click the Configuration tab.
The Multimedia Messaging VCS´s list of configuration options appears.

3. Select the operation that you want to perform.
A panel displaying fields for the operation´s input parameters and, if appropriate, a field for the operation´s output appears.

4. Enter any input parameters required by the operation.
Operations and parameters are listed below.

5. Click the green triangle, which performs the operation.

The Multimedia Messaging VCS supports operations for configuring how offline notifications are handled.

An offline notification is a message received by the ATE when the application is offline. The ATE saves the message. When the application comes online and polls for mobile-originated messages, the ATE forwards the messages to the application if offline notification is enabled.

disableReceiveMms

Disables off-line notification of a received MMS.

If offline notification is disabled, the ATE does not save or forward mobile-originated messages received while the application was offline.

Table 2-4 Parameters for disableReceiveMms

Parameter

Description

Correlator

The value returned by the corresponding enableReceiveMms operation.

enableReceiveMms

Enables off-line notification of a received message sent to a specified short code. This is used by applications that poll for mobile-originated messages.

The ATE notifies the application when it has received a message addressed to the specified shortcode in which the message contains a match to the specified criteria. If no criteria are specified, the ATE forwards all messages received by the specified shortcode while the application was offline.

Table 2-5 Parameters for enableReceiveMms

Parameter

Description

Shortcode

Destination address to which the message was sent.

Criteria

Optional. Text in the message to match against. If the text matches the first word in the message, the application receives the notification.

AppInstanceID

Application instance identifier of the application instance receiving the notification.

listOfflineNotifications

Displays a list of registered offline notifications.

Configuring the Terminal Location VCS

To configure the Terminal Location VCS:

1. In the VCS panel, click the Terminal Location tab.
The Terminal Location panel appears.

2. Click the Configuration tab.
The Terminal Location VCS´s list of configuration options appears.

3. Click the attribute that you want to configure.
A panel displaying the attribute´s check box or field appears.

4. Set the attribute.
Attributes for the Terminal Location VCS are listed below.

5. If you want to restore all the settings to their default values, do the following:

1. Click the resetToDefault operation.
The operation´s panel appears.

2. Click the green triangle in the panel, which re-sets the attributes to their default values.

The Terminal Location VCS supports the following attributes:

AltitudeAlwaysAvailable

If selected, altitude information is always available for all location responses.

AltitudeSometimesAvailable

If selected, altitude information is sometimes available for some or all location responses.

GeographicalNotificationAvailable

If selected, notifications can be set up based on geographical coordinates.

MaximumAddresses

Maximum number of addresses for which a notification can be requested.

MaximumCount

Maximum number of notifications that can be requested.

If zero or blank, there is no maximum. In this case, select UnlimitedCountAllowed also.

MaximumNotificationDuration

Maximum amount of time (in seconds) for which a notification can be set up.

MaximumNotificationFrequency

Maximum rate of notification delivery. Can also be viewed as the minimum interval (in seconds) between notifications.

MinimumAcceptableAccuracy

Minimum distance from the terminal that the application considers useful. The unit applies to distance (for example, meters or feet).

MinimumAccuracy

Minimum distance from the terminal for which the application wishes to receive location information. The unit applies to distance (for example, meters or feet).

MinimumTrackingAccuracy

Minimum tracking accuracy refers to the accuracy of the tracking technology, not to the accuracy of the notification area. For example, a low value is appropriate to a device tracking a person entering a building, while a high value would be appropriate to a device tracking a plane landing in a city.

The unit applies to distance (for example, kilometers or feet).

PeriodicNotificationAvailable

If selected, periodic notification can be set up for a set of terminals at an application-defined interval.

UnlimitedCountAllowed

If selected, an unlimited notification count is allowed.

Configuring the Terminal Status VCS

To configure the Terminal Status VCS:

1. In the VCS panel, click the Terminal Status tab.
The Terminal Status panel appears.

2. Click the Configuration tab.
The Terminal Status VCS´s list of configuration options appears.

3. Click the attribute that you want to configure.
A panel displaying the attribute´s check box or field appears.

4. Set the attribute.
Attributes for the Terminal Status VCS are listed below.

5. If you want to restore all the settings to their default values:

1. Click the resetToDefault operation.
The operation´s panel appears.

2. Click the green triangle in the panel, which re-sets the attributes to their default values.

The Terminal Status VCS supports the following attributes:

BusyAvailable

If selected, busy can be returned as a status.

If not checked and the application includes the busy criterion in a Start Notification request, the client is not notified of the terminal's busy status and the VCS throws a policy exception.

MaximumAddresses

Maximum number of addresses for which a notification can be set up or statuses be retrieved.

MaximumCount

Maximum number of notifications that can be requested.

If zero or blank there is no maximum. In this case, select UnlimitedCountAllowed also.

MaximumNotificationDuration

Maximum amount of time (in seconds) for which a notification can be set up.

MaximumNotificationFrequency

Maximum rate of notification delivery. Can also be viewed as the minimum interval (in seconds) between notifications.

UnlimitedCountAllowed

If selected, an unlimited notification count is allowed.

Configuring the Payment VCS

To configure the Payment VCS:

1. In the VCS panel, click the Payment tab.
The Payment panel appears.

2. Click the Configuration tab.
The Payment VCS´s list of configuration options appears.

3. Click the attribute that you want to configure.
A panel displaying the attribute´s check box or field appears.

4. Set the attribute.
Attributes for the Payment VCS are listed below.

5. Select the operation that you want to perform.
A panel displaying fields for the operation´s input parameters and, if appropriate, a field for the operation´s output appears.

6. Enter any input parameters required by the operation.
Operations and parameters are listed below.

7. Click the green triangle, which performs the operation.

The Payment VCS supports the following attributes:

ExpiredTime

Duration of a reservation, in milliseconds.

The default is -1, which indicates that no duration is set.

SplitSupport

If checked, the chargeSplitAmount request is supported.

SplitNumbers

Maximum number of end users that can be charged in a single chargeSplitAmount request.

The Payment VCS supports the following operations:

createUserAccount

Creates a user account.

Table 2-6 Parameters for createUserAccount

Parameter

Description

username

User name for the account

originalAmount

Original amount of money in the account

listAllReservationRecords

Lists all the reservation records.

listAllUserAccounts

Lists all the user accounts.

listReservationRecord

Lists the reservation record detail for the specified session.

Table 2-7 Parameters for listReservationRecord

Parameter

Description

reservatiionID

Reservation ID for the reservation records to be described

listUserAccount

Lists user account information, including the account's current balance and original amount, for the specified account.

Table 2-8 Parameters for listUserAccount

Parameter

Description

userID

UserID for the account to be described

listUserChargeRecord

Lists the charge record detail for the specified account.

Table 2-9 Parameters for listUserChargeRecord

Parameter

Description

userID

User ID for the charge record to be described

refreshPaymentUI

Refreshes the Payment VCS user interface.

resetToDefault

Resets all the Payment VCS settings to their default values.

Configuring the Third Party Call VCS

To configure the Third Party Call VCS:

1. In the VCS panel, click the Third Party Call tab.
The Third Party Call panel appears.

2. Click the Configuration tab.
The Third Party Call VCS´s list of configuration options appears.

3. Click the attribute that you want to configure.
A panel displaying the attribute´s check box or field appears.

4. Set the attribute.
Attributes for the Third Party call VCS are listed below.

5. If you want to restore all the settings to their default values:

1. Click the resetToDefault operation.
The operation´s panel appears.

2. Click the green triangle in the panel, which re-sets the attributes to their default values.

The Third Party Call VCS supports the following attributes:

ChargingAllowed

If selected, charging can be applied to calls.

StatusRententionTime

The length of time, in seconds, to retain status after the call has terminated.

Configuring the Binary Short Messaging VCS

To configure the Binary Short Messaging VCS:

1. In the VCS panel, click the Binary Short Messaging tab.
The Binary Short Messaging panel appears.

2. Click the Configuration tab.
The Binary Short Messaging VCS´s configuration option appears.

3. Click the green triangle, which performs the operation.

The Binary Short Messaging VCS supports the following operation.

listOfflineNotifications

Displays a list of registered offline notifications.

An offline notification is a message received by the ATE when the application is offline. The ATE saves the message. When the application comes online and polls for mobile-originated messages, the ATE forwards the saved messages to the application if offline notification is enabled.

Troubleshooting

If your application does not perform as expected (for example, your messages and notifications are not received), check the exceptions thrown by the failing operation.

Exceptions with an SVC prefix indicate an error against the service. Exceptions with a POL prefix indicate a violation of a policy enforcement. See "Managing Service-Level Agreements" for information about setting policy enforcements in a VCS.

See Appendix B, "VCS Exception Codes" for the lists of exception codes for each VCS.

Simple Mobile-Terminated Test

A simple example is to test a Send Sms request from your application to a phone element in the ATE.

To test Send Sms:

1. In your application, change the endpoint for the Send Sms request to point to the ATE.
If you are using the SOAP interface, see Table A-5, "Endpoints for SOAP SendMessage Interface" for the endpoint. If you are using the RESTful interface, see Table A-21, "Endpoints for RESTful Send SMS Operation".

2. Start the SDK.

3. Add a phone element to the map.
See "Adding a Phone Element" for information about adding a phone element.

4. Click the Short Messaging VCS tab to verify that the Short Messaging VCS is running. Click the Start button if it is not running.

5. Start the application.

6. From the application, send an SMS to the phone element.

7. Read the received message in the ATE.
See "Reading a Phone Element´s Received Messages" for more information.

If the message text does not appear in the ATE, check the exceptions associated with the Send Sms request to identify the source of the problem. See "Short Messaging Exception Codes" for more information.

You can use this procedure as a general outline for testing mobile-terminated requests.

Simple Mobile-Originated Test

A simple example is to test a Receive Sms request by sending an SMS from a phone element in the ATE to an address in your application.

To test Receive Sms:

1. In your application, change the endpoint for the Receive Sms request to point to the ATE.
If you are using the SOAP interface, see Table A-7, "Endpoints for SOAP ReceiveMessage Interface" for the endpoint. If you are using the RESTful interface, see Table A-24, "Endpoints for RESTful Get Received SMS Operation".

2. Start the SDK.

3. Add a phone element to the map.
See "Adding a Phone Element" for information about adding a phone element.

4. Click the Short Messaging VCS tab to make sure that the Short Messaging VCS is running. Click the Start button if it is not running.

5. Start the application.

6. From the phone element, send an SMS to an address defined in the application.

7. Fetch the SMS in the application using the Receive Sms request.
If the message is not available in the application, check the exceptions associated with the Receive Sms request to identify the source of the problem. See "Short Messaging Exception Codes" for more information.

You can use this procedure as a general outline for testing mobile-originated requests.

Managing Accounts

The ATE is configured with a default application account: domain_user/domain_user.

You can remove this default account.

You can also set up additional accounts.

To set up an account:

1. In the account manager/sla manager panel, click the Account Manager tab.

2. Click the + symbol.
A new row for the account information appears with the default values name/password.

3. Overwrite the name with the account´s user name in the User Name field.

4. Overwrite the password with the account´s password in the Password field.
The account is set up. An application should pass the user name/password values for its account before it submits a request to a secure VCS.

To modify an account´s user name or password:

1. In the account manager/sla manager panel, click the Account Manager tab.

2. Overwrite the values that you want to change.

To remove an account:

1. In the account manager/sla manager panel, click the Account Manager tab.

2. Select the account that you want to remove.

3. Click the - symbol.
The account is removed.

Managing Service-Level Agreements

You can set up simple service-level agreement (SLA) enforcement for VCS requests to use in your tests. The ATE supports two types of enforcement:

- Value enforcement: rejects a request based on a specific value in the request; for example: the subject of an SMS contains the string "foo"

- Rate enforcement: rejects a request based on a rate value: for example, a specified number of requests per minute

To enable/disable simple SLA enforcement:

1. In the account manager/sla manager panel, click the SLA Manager tab.

2. Do one of the following:

- To enable SLA enforcement, select the Enable SLA enforcements check box.

- To disable SLA enforcement, select the Disable SLA enforcements check box.

All SLA enforcements set up for the VCS are either enabled or disabled as a group. You cannot selectively enable or disable a subset of them.

Managing Value Enforcements

To set up a value enforcement:

1. In the account manager/sla manager panel, click the SLA Manager tab.

2. Click the Value Enforcements tab.

3. Click the + symbol.

4. In the Path field, enter the element in the VCS request against which the value will be enforced; for example: SendMessage.subject, SendMessage.charging.currency, GetLocation.maximumAge. No spaces are permitted in the Path field.
If you do not know the exact name of the element, click the magnifying glass icon next to the Path field. A browser appears in which you can locate the path by expanding the entry for the appropriate service.

Figure 2-6 Browser for Element Paths

5. From the Operation menu, select the operation to be applied. Valid values are: CONTAINS, DOES_NOT_CONTAIN.

6. In the Value field, enter the value against which the element will be tested.

Figure 2-7 shows two value enforcements in the SLA Manager. The first allows messages in which the subject contains the word urgent. The second allows messages in which the charging currency does not contain renminbi.

Figure 2-7 SLA Manager Value Enforcements Tab

To modify a value enforcement:

1. In the account manager/sla manager panel, click the SLA Manager tab.

2. Overwrite the values that you want to change.

To remove a value enforcement:

1. In the account manager/sla manager panel, click the SLA Manager tab.

2. Click the Value Enforcements tab.

3. Select the value enforcement that you want to remove.

4. Click the - symbol.
The enforcement is removed.

Managing Rate Enforcements

To set up a rate enforcement:

1. In the account manager/sla manager panel, click the SLA Manager tab.

2. Click the Rate Enforcements tab.

3. Click the + symbol.

4. In the Request Name field, select the request for which the enforcement will be enforced. No spaces are permitted in the Request field.

5. In the Request Count field, enter an integer representing the maximum number of requests allowed in a specified time period.

6. In the Time Amount field, enter an integer representing the time period against which the request count is applied.

7. From the Time Unit menu, select the unit of time to which the time amount applies. Valid values are SECONDS, MINUTES, or HOURS.

Figure 2-8 shows a rate enforcement in the SLA Manager. It allows a maximum of 5 sendSms requests every 10 seconds.

Figure 2-8 SLA Manager Rate Enforcements Tab

Monitoring Payment Accounts

You can test the charging functionality in your application by monitoring changes in the Payment Account and Payment Account Detail tabs.

To test charging:

1. Create one or more subscriber accounts using the createUserAccount operation in the Payment VCS. See "createUserAccount" for more information.

Or use a default account displayed in the Payment Account tab. The Payment VCS creates a subscriber account for every phone element in the ATE.

2. In your application, charge and refund the subscriber accounts created in step 1 using various Payment requests such as chargeAmount, refundAmount, and chargeSplitAmount.

3. Click the Payment Account tab.
The amounts in the Credits column reflect the resulting balance of the charges and refunds made by the application for each account.

4. Click the Payment Account Detail tab.
Each charge and refund made by the application against subscriber accounts is logged here.

Example Module

A VCS example module is deployed in the SDK.

You can find it in the ocsg_sdk_5.1/lib/modules subdirectory of your SDK installation.

3 Customizing the Application Test Environment

This chapter describes how to customize the application test environment (ATE) in Oracle Communications Services Gatekeeper Software Development Kit (SDK) using a configuration file.

About Customizing the ATE

Network operators can use a startup configuration file to create a custom version of the ATE that reflects the services and defaults that they want to expose to application developers.

For information on incorporating new custom communication services into the ATE, see the "Virtual Communication Service Module for the ATE" section in the "Extending the ATE and the PTE" chapter in Platform Developer Studio Developer's Guide. That section describes the Java classes generated for the ATE's virtual communications services.

The Startup Configuration File

To customize the ATE, create a configuration file that defines the version that you will distribute. This configuration sets the appearance of the ATE on its initial startup.

To customize the ATE:

1. Create a file named startup-configuration.xml.

2. Save this file in the product installation directory of the ATE.

If a startup-configuration.xml file exists in the product installation directory of the ATE, the ATE takes on the appearance and behavior configured by the elements in this file. Elements not included in this configuration file retain their default appearance and behavior.

If no startup-configuration.xml file exists in the product installation directory directory, the entire default configuration is used.

You can use a different filename for startup-configuration.xml by overriding the oracle.ocsg.pte.startup.config system property.

Example Startup Configuration File

The following is a sample startup-configuration.xml file that you can use as a basis for creating your own. The rest of this chapter explains the various elements in detail.

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.oracle.com/ns/ocsg/50/at">

<general>
<title>A new title for the ATE</title>
<version>7.0</version>
<copyright>(c) 2010 My Company</copyright>
<icon>anewicon.gif</icon>
</general>

<account visible="true">
<users>
<user name="domain_user" password="domain_user"/>
<user name="bob" password="foo"/>
</users>
</account>

<sla visible="true">
<enforcements enabled="true">
<value path="sendMessage.subject" operation="contains" value="world"/>
<value path="sendMessage.charging.currency" operation="does_not_contain" value="euro"/>
<request name="sendSms" count="5" timeAmount="10" timeUnit="seconds"/>
</enforcements>
</sla>

<payment visible="false"/>

<vcs>
<mbeans>
<mbean name="px21_tl" attribute="MaximumCount" value="7"/>
</mbeans>
<visible>
<module className="oracle.ocsg.pte.impl.vcs.sessionmanager.SessionManagerModule" title="Session Manager"/>
<module className="oracle.ocsg.pte.impl.vcs.px21_sms.SmsModule" title="Short Messaging"/>
<module className="oracle.ocsg.pte.impl.vcs.px21_tl.TerminalLocationModule" title="Terminal Location"/>
</visible>
</vcs>

</config>

Order of Configuration Elements

The top-level configuration elements must appear in the order in which they appear in the example.

The order is:

1. <general>

2. <account>

3. <sla>

4. <payment>

5. <vcs>

When Configuration Elements Are Read

The ATE reads most configuration elements when the ATE starts.

Exceptions are the data elements: <users> inside the <account> element and <enforcements>, inside the <sla> element. The ATE reads <users> and <enforcements> only on installation of the ATE.

To circumvent this restriction to change the data elements without reinstalling the ATE:

1. Stop the ATE.

2. Delete the sdk_home_dir/product_installation_dir/runtime/pte.dat file.

3. Edit the startup-configuration.xml file with your changes.

4. Save the file.

5. Start the ATE.

Customizing General Characteristics

You can change the following general characteristics of the ATE in the <general> element in the startup-configuration.xml file.

- title

- version

- copyright

- icon

The title, version, and icon appear in the ATE title bar and in the About window accessed from the ATE´s Help menu item.

The copyright appears in the About window.

To customize general characteristics of the ATE:

1. Create a <general> element in the startup-configuration.xml file, or use an existing <general> element.

2. Do any or all of the following:

- To change the title of the ATE, create a <title> element inside the <general> element and enter your title for the ATE between the <title> element's delimiters.

- To change the version of the ATE, create a <version> element inside the <general> element and enter your version string between the <version> element's delimiters.

- To change the copyright of the ATE, create a <copyright> element inside the <general> element and enter your copyright string between the <copyright> element's delimiters.

- To change the icon of the ATE, create an <icon> element inside the <general> element and enter the name of the icon image file between the <icon> element's delimiters.
Store the icon image in the ATE root directory, which is the same directory that contains the startup-configuration.xml file.

3. Save the file.

Any elements that you do not specify remain unchanged from the default ATE.

The following is a sample <general> element.

<general>
<title>A new title for the ATE</title>
<version>7.0</version>
<copyright>(c) 2010 My Company</copyright>
<icon>anewicon.gif</icon>
</general>

Customizing a VCS

You can customize a virtual communication service (VCS) in the following ways:

- Show or hide a VCS module.

- Change the title that appears on a VCS´s tab in the VCS panel.

- Set your own defaults for the VCS MBean attribute values.

You configure these customizations in the <vcs> element in the startup-configuration.xml file.

Showing/Hiding a VCS Module

By default, all VCSs are invisible in the ATE.

To show a VCS module:

1. Create a <vcs> element in the startup-configuration.xml file, or use an existing <vcs> element.

2. Create a <visible> element inside the <vcs> element, or use an existing <visible> element.

3. For each VSC module that you want to show, insert a <module> element inside the <visible> element.

Each <module> element has an attribute for:

- The class name of the VCS in the className attribute

- The title that you want to appear on the VCS´s tab in the title attribute

Table 3-1 lists the class names of the VCS modules. These are the valid values for the className attribute.

Table 3-1 VCS Class Names

VCS

Class Name

Session Manager

oracle.ocsg.pte.impl.vcs.sessionmanager.SessionManagerModule

Short Messaging

oracle.ocsg.pte.impl.vcs.px21_sms.SmsModule

Multimedia Messaging

oracle.ocsg.pte.impl.vcs.px21_mms.MmsModule

Terminal Location

oracle.ocsg.pte.impl.vcs.px21_tl.TerminalLocationModule

Terminal Status

oracle.ocsg.pte.impl.vcs.px21_ts.TerminalStatusModule

Payment

oracle.ocsg.pte.impl.vcs.px30_payment.ParlayX30PaymentModule

Third Party Call

oracle.ocsg.pte.impl.vcs.px21_tpc.ThirdPartyCallModule

Binary Sms

oracle.ocsg.pte.impl.vcs.binarysms.BinarySmsModule

Example

oracle.ocsg.pte.example.vcs.ExampleModule

4. Save the file.

Any VCS that you do not specify in the <visible> element remains hidden.

To hide a VCS module, delete its <module> element.

The following <vcs> element example shows the Session Manager, Short Messaging, and Terminal Location VCSs in the ATE. All the other VCSs remain hidden.

<vcs>
<visible>
<module    className="oracle.ocsg.pte.impl.vcs.sessionmanager.SessionManagerModule" title="Session Manager"/>
<module className="oracle.ocsg.pte.impl.vcs.px21_sms.SmsModule" title="Short Messaging"/>
<module className="oracle.ocsg.pte.impl.vcs.px21_tl.TerminalLocationModule" title="Terminal Location"/>
</visible>
</vcs>

The <visible> elements are applied each time the ATE starts up.

Changing a VCS Title

You can display a different title on a VCS tab by changing the title attribute of the <module> element inside the <visible> element.

To change the title of a VCS tab, specify a different value for the title attribute of the VCS module that you want to change inside the <module> element. See step 3 in Showing/Hiding a VCS Module.

The following example sets the title on the Short Messaging VCS tab to SMS.

<vcs>
<visible>
<module className="oracle.ocsg.pte.impl.vcs.px21_sms.VCSSmsModule" title="SMS"/>
</visible>
</vcs>

Reconfiguring the Default VCS MBean Attributes

The MBean attributes that are settable in the VCS are configured with default values when the ATE starts. You can change these default values in your custom configuration.

To reconfigure a default VCS MBean attribute:

1. Create a <vcs> element in the startup-configuration.xml file, or use an existing <vcs> element.

2. Create an <mbeans> element inside the <vcs> element, or use an existing <mbeans> element.

3. For every attribute for which you want to change the default value, insert an <mbean> element inside the <mbeans> element.

Each <mbean> element has

- A name attribute for the MBean name of the VCS.

- An attribute attribute for the VCS attribute.

- A value attribute for the default value.

Table 3-2 lists the valid MBean name values for the name attribute for VCS modules that support configurable attributes.

Table 3-2 VCS MBean Names

VCS

MBean Name

Terminal Location

px21_tl

Terminal Status

px21_ts

Payment

px30_payment

Third Party Call

px21_tpc

Valid values for the attribute attribute are the names displayed in the Configuration tab of the VCS in the ATE. Some VCSs do not have any configurable attributes.

4. Save the file.

Attributes that you do not specify in an <mbean> element retain their default values.

The application developer can modify these defaults from the Configuration tab of a visible VCS for the duration of an ATE session, but those changes do not persist. The next time the ATE starts up, the default values configured in the startup-configuration.xml file are used.

The following example sets the default value for the Terminal Location VCS´s MaximumCount attribute to 7 and the default value for the Terminal Status VCS´s NotificationFrequency attribute to 8.

<mbeans>
<mbean name="px21_tl" attribute="MaximumCount" value="7"/>
<mbean name="px21_ts" attribute="NotificationFrequency" value="8"/>
</mbeans>

Customizing the Account Manager

The ATE is configured with a default account that applications use to access the VCS. The credentials for this account are:

- User Name=domain_user

- Password=domain_user

The user name and password are included in the SOAP header or HTTP basic authentication credentials in the application's requests.

Showing and Hiding the Account Manager

By default, the default account is visible in the Account Manager when the ATE starts.

You can configure whether the Account Manager panel should be displayed or hidden.

To show or hide the Account Manager panel:

1. Create an <account> element in the startup-configuration.xml file, or use an existing <account> element.

2. Do one of the following:

- To hide the Account Manager panel, set the <account> element's visible attribute to false.

- To show the Account Manager panel, set the <account> element's visible attribute to true.

3. Save the file.

Creating Accounts

You can create additional accounts for applications to use as credentials for requests sent to a VCS.

To create an account:

1. Create an <account> element in the startup-configuration.xml file, or use an existing <account> element.

2. Create a <users> element inside the <account> element, or use an existing <users> element.

3. For every account that you want to create, insert a <user> element inside the <users> element.
Each <user> element has a name attribute for the user name and a password attribute for the password.

4. Save the startup-configuration.xml file.

The following example creates two application accounts and hides the Account Manager panel. Applications can send requests using either set of credentials.

<account visible="false">
<users>
<user name="dev1" password="plm9zaq"/>
<user name="dev2" password="cde4rfv"/>
</users>
</account>

Accounts are read when the ATE is installed. See "When Configuration Elements Are Read" for more information.

Customizing the SLA Manager

You can customize the following characteristics of the VCS's service level agreement (SLA) Manager:

- Show or hide the SLA Manager

- Provide default value enforcements

- Provide default rate enforcements

By default, the SLA Manager panel is visible when the ATE starts.

Showing and Hiding the SLA Manager

To show or hide the SLA Manager panel:

1. Create an <sla> element in the startup-configuration.xml file, or use an existing <sla> element.

2. Do one of the following:.

- To hide the SLA Manager panel, set the <sla> element's visible attribute to false

- To show the SLA Manager panel, set the <sla> element's <visible> attribute to true.

3. Save the file.

Creating Policy Enforcements

You can provide policy enforcements in the ATE to test how applications handle policy restrictions. These restrictions would be enforced by actual service-level agreements when the application is deployed.

To create policy enforcements:

1. Create an <sla> element in the startup-configuration.xml file, or use an existing <sla> element.

2. Create an <enforcements> element inside the <sla> element, or use an existing <enforcements> element.

3. Do one of the following:

- To enable all enforcements, set the enabled attribute of the <enforcements> element to true.

- To disable all enforcements, set the enabled attribute of the <enforcements> element to false.

You cannot enable or disable individual enforcements.

4. For every value enforcement, create a <value> element inside the <enforcements> element.
Set the path, operation, and value attributes of the <value> element to define the value enforcement. See "Managing Value Enforcements" for more information about these attributes.

5. For every rate enforcement, create a <request> element inside the <enforcements> element.
Set the name, count, timeAmount, and timeUnit attributes of the <request> element to define the rate enforcement. See "Managing Rate Enforcements" for more information about these attributes.

6. Save the file.

The following example creates two value enforcements and one rate enforcement, enables those enforcements, and shows the SLA Manager in the ATE.

<sla visible="true">
<enforcements enabled="true">
<value path="sendMessage.subject" operation="contains" value="world"/>
<value path="sendMessage.charging.currency" operation="does_not_contain" value="euro"/>
<request name="sendSms" count="5" timeAmount="10" timeUnit="seconds"/>
</enforcements>
</sla>

When the SLA Manager panel is visible, the application developer can create additional value and rate enforcements that apply for the duration of the session. The developer can also modify or delete the enforcements that are currently configured. Any modifications the application developer makes are applicable only for the duration of the SDK session. Only those enforcements configured in the startup-configuration.xml file are persistent when the ATE is restarted.

Enforcements are read when the ATE is installed. See "When Configuration Elements Are Read" for more information.

Showing And Hiding Payment Accounts Panels

You can configure whether the Payment Account and Payment Account Detail panels should be displayed or hidden.

These panels are treated as a unit, which means that you must hide both panels or show both panels.

To show or hide the Payment Account and Payment Account Detail panels:

1. Create a <payment> element in the startup-configuration.xml file, or use an existing <payment> element.

2. Do one of the following:.

- To hide the Payment Account and Payment Account Detail panels, set the <payment> element's visible attribute to false.

- To show the Payment Account and Payment Account Detail panels, set the <payment> element's visible attribute to true.

A ATE Endpoints

This appendix lists the endpoints needed to point your application towards the ApplicationTest Environment (ATE) in Oracle Communications Services Gatekeeper.

When you specify the ATE endpoints in your application, replace ate_host with the host name or IP address of the machine running the ATE.

ATE Endpoints for SOAP-Based Interfaces

This section lists the ATE endpoints that correspond to Oracle Communications Services Gatekeeper endpoints for SOAP-based application interfaces.

See Application Developer's Guide for information about the Services Gatekeeper endpoints.

Session Manager

Table A-1 Endpoints for SOAP SessionManager Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/session_manager/SessionManager

ATE

http://ate_host:13444/jaxws/SessionManager

Parlay X 2.1 Short Messaging Service/SMPP

Table A-2 Endpoints for SOAP SendSms Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/sms/SendSms

ATE

http://ate_host:13444/jaxws/vcs/px21_sms/SendSms

Table A-3 Endpoints for SOAP ReceiveSms Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/sms/ReceiveSms

ATE

http://ate_host:13444/jaxws/vcs/px21_sms/ReceiveSms

Table A-4 Endpoints for SOAP SmsNotificationManager Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/sms/SmsNotificationManager

ATE

http://ate_host:13444/jaxws/vcs/px21_sms/SmsNotificationManager

Parlay X 2.1 MultiMedia Messaging Service

Table A-5 Endpoints for SOAP SendMessage Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/multimedia_messaging/SendMessage

ATE

http://ate_host:13444/jaxws/vcs/px21_mms/SendMessage

Table A-6 Endpoints for SOAP MessageNotificationManager Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/multimedia_messaging/MessageNotificationManager

ATE

http://ate_host:13444/jaxws/vcs/px21_mms/MessageNotificationManager

Table A-7 Endpoints for SOAP ReceiveMessage Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/multimedia_messaging/ReceiveMessage

ATE

http://ate_host:13444/jaxws/vcs/px21_mms/ReceiveMessage

Parlay X 2.1 Terminal Location

Table A-8 Endpoints for SOAP TerminalLocation Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/terminal_location/TerminalLocation

ATE

http://ate_host:13444/jaxws/vcs/parlayx21/terminal_location/TerminalLocation

Table A-9 Endpoints for SOAP TerminalLocationNotificationManager Interface

Destination

Endpoint

Services Gatekeeper

http:/host:port/parlayx21/terminal_location/TerminalLocationNotificationManager

ATE

http://ate_host:13444/jaxws/vcs/parlayx21/terminal_location/TerminalLocationNotificationManager

Parlay X 2.1 Terminal Status

Table A-10 Endpoints for SOAP TerminalStatus Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/terminal_location/TerminalStatus

ATE

http://ate_host:13444/jaxws/vcs/parlayx21/terminal_status/TerminalStatus

Table A-11 Endpoints for SOAP TerminalStatusNotificationManager Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/terminal_location/TerminalStatus

ATE

http://ate_host:13444/jaxws/vcs/parlayx21/terminal_status/TerminalStatusNotificationManager

Parlay X 3.0 Payment

Table A-12 Endpoints for SOAP Payment AmountCharging Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx30/payment/AmountCharging

ATE

http://ate_host:13444/jaxws/vcs/parlayx30/payment/AmountCharging

Table A-13 Endpoints for SOAP Payment ReserveAmountCharging Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx30/payment/ReserveAmountCharging

ATE

http://ate_host:13444/jaxws/vcs/parlayx30/payment/ReserveAmountCharging

Table A-14 Endpoints for SOAP Payment VolumeCharging Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx30/payment/VolumeCharging

ATE

http://ate_host:13444/jaxws/vcs/parlayx30/payment/VolumeCharging

Table A-15 Endpoints for SOAP Payment ReserveVolumeCharging Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx30/payment/ReserveVolumeCharging

ATE

http://ate_host:13444/jaxws/vcs/parlayx30/payment/ReserveVolumeCharging

Parlay X 2.1 Third Party Call

Table A-16 Endpoints for SOAP Third Party Call Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/parlayx21/third_party_call/ThirdPartyCall

ATE

http://ate_host:13444/jaxws/vcs/parlayx21/third_party_call/ThirdPartyCall

EWS Binary SMS

Table A-17 Endpoints for EWS Binary SMS Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/ews/binary_sms/BinarySms

ATE

http://ate_host:13444/jaxws/vcs/ews/binary_sms/BinarySMS

Table A-18 Endpoints for EWS Binary SMS Notification Manager Interface

Destination

Endpoint

Services Gatekeeper

http://host:port/ews/binary_sms_notification/BinarySmsNotificationManager

ATE

http://ate_host:13444/jaxws/vcs/ews/binary_sms/BinarySMSNotificationManager

ATE Endpoints for RESTful Interfaces

This section lists the ATE endpoints that correspond to Services Gatekeeper endpoints for RESTful application interfaces.

See RESTful Application Developer's Guide for information about the Services Gatekeeper endpoints.

Session Manager

Table A-19 Endpoints for RESTful Get Session Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sessions

ATE

http://ate_host:13444/rest/session_manager/sessions

Table A-20 Endpoints for RESTful Get Session Remaining Lifetime, Destroy a Session Operations

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/session/${sessionId}

ATE

http://ate_host:13444/rest/session_manager/session/${sessionId}

Short Messaging

Table A-21 Endpoints for RESTful Send SMS Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/messages

ATE

http://ate_host:13444/rest/sms/messages

Table A-22 Endpoints for RESTful Send SMS Logo Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/logos

ATE

http://ate_host:13444/rest/sms/logos

Table A-23 Endpoints for RESTful Send SMS Ringtone Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/ringtones

ATE

http://ate_host:13444/rest/sms/ringtones

Table A-24 Endpoints for RESTful Get Received SMS Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/receive-messages/${registrationIdentfier}

ATE

http://ate_host:13444/rest/sms/receive-messages/${registrationIdentfier}

Table A-25 Endpoints for RESTful Get SMS Delivery Status Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/delivery-status/${requestIdentfier}

ATE

http://ate_host:13444/rest/sms/delivery-status/${requestIdentifier}

Table A-26 Endpoints for RESTful Start Sms Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/notification/

ATE

http://ate_host:13444/rest/sms/notification

Table A-27 Endpoints for RESTful Stop Sms Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/sms/notification/${correlator}

ATE

http://ate_host:13444/rest/sms/notification/${correlator}

Multimedia Messaging

Table A-28 Endpoints for RESTful Send Message Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/messages/

ATE

http://ate_host:13444/rest/multimedia_messaging/messages

Table A-29 Endpoints for RESTful Get Received Messages Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/receive-messages/

ATE

http://ate_host:13444/rest/multimedia_messaging/receive-messages

Table A-30 Endpoints for RESTful Get Message Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/message/${messageRefIdentifier}

ATE

http://ate_host:13444/rest/multimedia_messenging/message/${messageRefIdentifier}

Table A-31 Endpoints for RESTful Get Message Delivery Status Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/delivery-status/${requestIdentifier}

ATE

http://ate_host:13444/rest/multimedia_messenging/delivery-status/${requestIdentifier}

Table A-32 Endpoints for RESTful Start MMS Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/notification

ATE

http://ate_host:13444/rest/multimedia_messenging/notification

Table A-33 Endpoints for RESTful Stop MMS Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/multimedia_messaging/notification/${correlator}

ATE

http://ate_host:13444/rest/multimedia_messenging/notification/${correlator}

Terminal Location

Table A-34 Endpoints for RESTful Get Location Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_location/location?query=${query}

ATE

http://ate_host:13444/rest/terminal_location/location

Table A-35 Endpoints for RESTful Get Terminal Distance Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_location/distance?query=${query}

ATE

http://ate_host:13444/rest/terminal_location/distance

Table A-36 Endpoints for RESTful Start Periodic Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_location/periodic-notification

ATE

http://ate_host:13444/rest/terminal_location/periodic-notification

Table A-37 Endpoints for RESTful Start Geographic Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_location/geographic-notification

ATE

http://ate_host:13444/rest/terminal_location/geographic-notification

Table A-38 Endpoints for RESTful End Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_location/notification/${correlator}

ATE

http://ate_host:13444/rest/terminal_location/notification/${correlator}

Terminal Status

Table A-39 Endpoints for RESTful Get Status Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_status/status?query=${query}

ATE

http://ate_host:13444/rest/terminal_status/status

Table A-40 Endpoints for RESTful Start Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_status/status-notification

ATE

http://ate_host:13444/rest/terminal_status/status-notification

Table A-41 Endpoints for RESTful End Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/terminal_status/notification/${correlator}

ATE

http://ate_host:13444/rest/terminal_status/notification/${correlator}

Payment

Table A-42 Endpoints for RESTful Charge Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/charge-amount

ATE

http://ate_host:13444/rest/payment/charge-amount

Table A-43 Endpoints for RESTful Refund Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/refund-amount

ATE

http://ate_host:13444/rest/payment/refund-amount

Table A-44 Endpoints for RESTful Charge Split Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/charge-split-amount

ATE

http://ate_host:13444/rest/payment/charge-split-amount

Table A-45 Endpoints for RESTful Reserve Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/reserve-amount

ATE

http://ate_host:13444/rest/payment/reserve-amount

Table A-46 Endpoints for RESTful Reserve Additional Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/reserve-additional-amount

ATE

http://ate_host:13444/rest/payment/reserve-additional-amount

Table A-47 Endpoints for RESTful Charge ReservationOperation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/charge-reservation

ATE

http://ate_host:13444/rest/payment/charge-reservation

Table A-48 Endpoints for RESTful Release Reservation Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/release-reservation

ATE

http://ate_host:13444/rest/payment/release-reservation

Table A-49 Endpoints for RESTful Charge Amount Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/charge-amount

ATE

http://ate_host:13444/rest/payment/charge-amount

Table A-50 Endpoints for RESTful Volume Charging Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/volume-charging

ATE

http://ate_host:13444/rest/payment/volume-charging

Table A-51 Endpoints for RESTful Reserve Volume Charging Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/payment/reserve-volume-charging

ATE

http://ate_host:13444/rest/payment/reserve-volume-charging

Third Party Call

Table A-52 Endpoints for RESTful Make Call Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/third_party_call/calls

ATE

http://ate_host:13444/rest/third_party_call/calls

Table A-53 Endpoints for RESTful Get Call Information Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/third_party_call/call/${callIdentifier}

ATE

http://ate_host:13444/rest/third_party_call/call/${callIdentifier}

Table A-54 Endpoints for RESTful Cancel Call Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/third_party_call/cancel-call/${callIdentifier}

ATE

http://ate_host:13444/rest/third_party_call/cancel-call/${callIdentifier}

Table A-55 Endpoints for RESTful End Call Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/third_party_call/end-call/${callIdentifier}

ATE

http://ate_host:13444/rest/third_party_call/end-call/${callIdentifier}

Binary SMS

Table A-56 Endpoints for RESTful Send Binary SMS Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/binary_sms/messages

ATE

http://ate_host:13444/rest/binary_sms/messages

Table A-57 Endpoints for RESTful Start Binary SMS Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/binary_sms/notification

ATE

http://ate_host:13444/rest/binary_sms/notification

Table A-58 Endpoints for RESTful Stop Binary SMS Notification Operation

Destination

Endpoint

Services Gatekeeper

http://host:port/rest/binary_sms/notification/${correlator}

ATE

http://ate_host:13444/rest/binary_sms/notification/${correlator}

ATE Endpoints for Example Communication Service

The ATE provides the following endpoints to test the communications service example that is provided for platform development. This example is described in Platform Development Studio Developer's Guide, another document in this set.

Table A-59 Endpoint for Platform Development Studio Example Send Data Interface

Destination

Endpoint

ATE

http://ate_host:13444/jaxws/SendData

Table A-60 Endpoint for Platform Development Studio Example Notification Manager Interface

Destination

Endpoint

ATE

http://ate_host:13444/jaxws/NotificationManager

B VCS Exception Codes

This appendix lists the exceptions codes generated by the ATE VCSs in Oracle Communications Services Gatekeeper Software Development Kit.

Exceptions with an SVC prefix indicate an error against the service. Exceptions with a POL prefix indicate a violation of a policy enforcement. See the Oracle Communications Services Gatekeeper SDK User's Guide section Managing Service-Level Agreements for information about setting policy enforcements in the VCS.

Short Messaging Exception Codes

The following exceptions are generated by the Short Messaging VCS.

SendSms.sendSms

SendSms.sendSms

Exception ID: SVC0001

Exception Type: service error

Cause: Any problem sending the sms.

SendSms.getSmsDeliveryStatus

SendSms.getSmsDeliveryStatus

Exception ID: SVC0002

Exception Type: invalid input error

Cause: No delivery status available for the given request identifier.

ReceiveSms.getReceivedSms

ReceiveSms.getReceivedSms

Exception ID: SVC0001

Exception Type: service error

Cause: Any problem retrieving an sms.

SmsNotificationManager.startSmsNotification

SmsNotificationManager.startSmsNotification

Exception ID: SVC0005

Exception Type: duplicate correlator

Cause: Duplicate correlator used when starting a notification.

Multimedia Messaging Exception Codes

The following the exceptions are generated by the Multimedia Messaging VCS.

SendMessage.sendMessage

SendMessage.sendMessage

Exception ID: SVC0001

Exception Type: service error

Cause: Any problem sending the mms.

SendMessage.getMessageDeliveryStatus

SendMessage.getMessageDeliveryStatus

Exception ID: SVC0002

Exception Type: invalid input error

Cause: The requestIdentifier is invalid.

ReceiveMessage.getMessage

ReceiveMessage.getMessage

Exception ID: SVC0002

Exception Type: invalid input error

Cause: The messageRefIdentifier is invalid.

ReceiveMessage.getReceivedMessage

ReceiveMessage.getReceivedMessages

Exception ID: SVC0002

Exception Type: invalid input error

Cause: The registrationIdentifier is invalid.

MessageNotificationManager.startMessageNotification

MessageNotificationManager.startMessageNotification

Exception ID: SVC0005

Exception Type: duplicate correlator

Cause: The same correlator is registered multiple times.

MessageNotitifcationManager.stopMessageNotification

MessageNotificationManager.stopMessageNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: The correlator is invalid.

Terminal Location Exception Codes

The following exceptions are generated by the Terminal Location VCS.

TerminalLocation.getLocation

TerminalLocation.getLocation

Exception ID: SVC0002

Exception Type: invalid input error

Cause: Address is null.

TerminalLocation.getLocation

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No terminal with specified address.

TerminalLocation.getLocationForGroup

Exception ID: POL0003

Exception Type: too many addresses error

Cause: Too many addresses specified.

TerminalLocation.getLocation

Exception ID: POL0230

Exception Type: requested accuracy not supported

Cause: The requestedAccuracy or acceptableAccuracy is too low.

TerminalLocation.getTerminalDistance

TerminalLocation.getTerminalDistance

Exception ID: SVC0002

Exception Type: invalid input error

Cause: Address is null, or latitude is not in [-90, 90] range, or longitude is not in [-180, 180] range.

TerminalLocation.getTerminalDistance

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No terminal with specified address.

TerminalLocationNotificationManager.startGeographicalNotification

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: No callback endpoint or correlator provided, or latitude is not in [-90, 90] range, or longitude is not in [-180, 180] range.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No valid addresses provided.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: SVC0005

Exception Type: duplicate correlator

Cause: The same correlator is registered multiple times.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0003

Exception Type: too many addresses error

Cause: Too many addresses provided.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0004

Exception Type: unlimited notifications not supported

Cause: Count equals zero.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0005

Exception Type: too many notifications requested

Cause: Count is too high.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0009

Exception Type: invalid frequency error

Cause: Invalid frequency requested.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0230

Exception Type: requested accuracy not supported

Cause: The requestedAccuracy or acceptableAccuracy is too low.

TerminalLocationNotificationManager.startGeographicalNotification

Exception ID: POL0231

Exception Type: geographic notification error

Cause: Geographic notification is not available.

TerminalLocationNotificationManager.startPeriodicNotification

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: No callback endpoint or correlator provided.

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No terminal with specified address.

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: SVC0005

Exception Type: duplicate correlator

Cause: The same correlator is registered multiple times.

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: POL0003

Exception Type: too many addresses error

Cause: Too many addresses provided.

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: POL0009

Exception Type: invalid frequency error

Cause: Invalid frequency requested.

TerminalLocationNotificationManager.startPeriodicNotification

Exception ID: POL0232

Exception Type: periodic notification error

Cause: Periodic notification is not available.

TerminalLocationNotificationManager.endNotification

TerminalLocationNotificationManager.endNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: Invalid correlator.

Terminal Status Exception Codes

The following exceptions are generated by the Terminal Status VCS.

TerminalStatus.getStatus

TerminalStatus.getStatus

Exception ID: SVC0002

Exception Type: invalid input error

Cause: Address is null.

TerminalStatus.getStatus

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No valid addresses provided.

TerminalStatus.getStatusForGroup

TerminalStatus.getStatusForgroup

Exception ID: SVC0002

Exception Type: invalid input error

Cause: Address is null.

TerminalStatus.getStatusForGroup

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No valid addresses provided.

TerminaStatus.getStatusForGroup

Exception ID: POL0003

Exception Type: too many addresses error

Cause: Too many addresses provided.

TerminalStatusNotificationManager.startNotification

TerminalStatusNotificationManager.startNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: No callback endpoint or correlator provided, or latitude is not in [-90, 90] range, or longitude is not in [-180, 180] range.

TerminalStatusNotificationManager.startNotification

Exception ID: SVC0004

Exception Type: invalid address error

Cause: No valid addresses provided.

TerminalStatusNotificationManager.startNotification

Exception ID: SVC0005

Exception Type: duplicate correlator

Cause: The same correlator is registered multiple times.

TerminalStatusNotificationManager.startNotification

Exception ID: POL0003

Exception Type: too many addresses error

Cause: Too many addresses provided.

TerminalStatusNotificationManager.startNotification

Exception ID: POL0004

Exception Type: unlimited notifications not supported

Cause: Count equals zero.

TerminalStatusNotificationManager.startNotification

Exception ID: POL0005

Exception Type: too many notifications requested

Cause: Count is too high.

TerminalStatusNotificationManager.startNotification

Exception ID: POL0009

Exception Type: invalid frequency error

Cause: Invalid frequency requested.

TerminalStatusNotificationManager.startNotification

Exception ID: POL0200

Exception Type: busy criterion not supported

Cause: isBusyAvailable is set to false and criteria include busy.

TerminalStatusNotificationManager.endNotification

TerminalStatusNotificationManager.endNotification

Exception ID: SVC0002

Exception Type: invalid input error

Cause: No valid correlator provided.

Third Party Call Exception Codes

The following exceptions are generated by the Third Party Call VCS.

ThirdPartyCallImpl.cancelCallRequest

ThirdPartyCallImpl.cancelCallRequest

Exception ID: SVC0002

Exception Type: invalid input value for call identifier

Cause: Call identifier is null.

ThirdPartyCallImpl.cancelCallRequest

Exception ID: SVC0260

Exception Type: call already connected

Cause: The specified call has already connected and can not be canceled.

ThirdPartyCallImpl.endCall

ThirdPartyCallImpl.endCall

Exception ID: SVC0002

Exception Type: invalid input value for call identifier

Cause: Call identifier is null.

ThirdPartyCallImpl.endCall

Exception ID: SVC261

Exception Type: call already terminated

Cause: The specified call has already terminated.

ThirdPartyCallImpl.getCallInformation

ThirdPartyCallImpl.getCallInformaton

Exception ID: SVC0001

Exception Type: service error

Cause: Called party or callee party status is invalid.

ThirdPartyCallImpl.getCallInformaton

Exception ID: SVC0002

Exception Type: invalid input value for call identifier

Cause: Call identifier is null.

ThirdPartyCallImpl.makeCall

ThirdPartyCallImpl.makeCall

Exception ID: SVC0002

Exception Type: invalid input value for call identifier

Cause: Call identifier is null.

ThirdPartyCallImpl.sendMessage

ThirdPartyCallImpl.sendMessage

Exception ID: SVC0001

Exception Type: service error

Cause: Called party or callee party status is invalid.

ReceiveMessage.makeCall

ReceiveMessage.makeCall

Exception ID: SVC0004

Exception Type: invalid input value

Cause: Called party or callee party address is invalid.

Payment Exception Codes

The following exceptions are generated by the Payment VCS.

AmountCharging.ChargeAmount

AmountCharging.ChargeAmount

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

AmountCharging.ChargeAmount

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

AmountCharging.ChargeAmount

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

AmountCharging.RefundAmount

AmountCharging.RefundAmount

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

AmountCharging.RefundAmount

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

AmountCharging.RefundAmount

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

AmountCharging.ChargeSplitAmount

AmountCharging.ChargeSplitAmount

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

AmountCharging.ChargeSplitAmount

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

AmountCharging.ChargeSplitAmount

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

AmountCharging.ChargeSplitAmount

Exception ID: SVC0271

Exception Type: invalid sum of percent allocations

Cause: The sum of the percentage allocations does not equal 100.

AmountCharging.ChargeSplitAmount

Exception ID: POL0250

Exception Type: too many end-user identifiers

Cause: The number of end-user identifiers exceeds defined policy.

AmountCharging.ChargeSplitAmount

Exception ID: POL0251

Exception Type: split charging not supported

Cause: Split charging is not supported by defined policy.

VolumeCharging.ChargeVolume

VolumeCharging.ChargeVolume

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

VolumeCharging.ChargeVolume

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

VolumeCharging.RefundVolume

VolumeCharging.RefundVolume

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

VolumeCharging.RefundVolume

Exception ID: SVC0270

Exception Type: charge failed

Cause: The refund of the volume charge failed.

ReserveAmountCharging.ReserveAmount

ReserveAmountCharging.ReserveAmount

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveAmountCharging.ReserveAmount

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

ReserveAmountCharging.ReserveAmount

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

ReserveAmountCharging.ReserveAdditionalAmount

ReserveAmountCharging.ReserveAdditionalAmount

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveAmountCharging.ReserveAdditionalAmount

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

ReserveAmountCharging.ReserveAdditionalAmount

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

ReserveAmountCharging.ChargeReservation

ReserveAmountCharging.ChargeReservation

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveAmountCharging.ChargeReservation

Exception ID: SVC0007

Exception Type: invalid charging information

Cause: The charging information is invalid.

ReserveAmountCharging.ChargeReservation

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

ReserveAmountChargingReleaseReservation

ReserveAmountCharging.ReleaseReservation

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

VolumeCharging.ChargeSplitVolume

VolumeCharging.ChargeSplitVolume

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

VolumeCharging.ChargeSplitVolume

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

VolumeCharging.ChargeSplitVolume

Exception ID: SVC0271

Exception Type: invalid sum of percent allocations

Cause: The sum of the percentage allocations does not equal 100.

VolumeCharging.ChargeSplitVolume

Exception ID: POL0250

Exception Type: too many end-user identifiers

Cause: The number of end-user identifiers exceeds defined policy.

VolumeCharging.ChargeSplitVolume

Exception ID: POL0251

Exception Type: split charging not supported

Cause: Split charging is not supported by defined policy.

ReserveVolumeCharging.ReserveVolume

ReserveVolumeCharging.ReserveVolume

Exception ID: SVC0001

Exception Type: service error

Cause: Any problem reserving the charge volume.

ReserveVolumeCharging.ReserveVolume

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveVolumeCharging.ReserveVolume

Exception ID: POL0001

Exception Type: policy error

Cause: Policy error

ReserveVolumeCharging.ReserveAdditionalVolume

ReserveVolumeCharging.ReserveAdditionalVolume

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveVolumeCharging.ChargeReservation

ReserveVolumeCharging.ChargeReservation

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

ReserveVolumeCharging.ChargeReservation

Exception ID: SVC0270

Exception Type: charge failed

Cause: The charge failed.

ReserveVolumeCharging.ReleaseReservation

ReserveVolumeCharging.ReleaseReservation

Exception ID: SVC0002

Exception Type: invalid input value

Cause: The user ID or some other parameter value is invalid.

Binary SMS Exception Codes

The following exceptions are generated by the Short Messaging VCS.

SendBinarySms.sendMessage

SendBinarySms.sendMessage

Exception ID:

Exception Type:

Cause: Any problem sending the binary SMS.

BinarySmsNotificationManager.startMessageNotification

BinarySmsNotificationManager.startMessageNotification

Exception ID:

Exception Type: duplicate correlator

Cause: Duplicate correlator used when starting a notification.

BinarySmsNotificationManager.stopMessageNotification

Exception ID:

Exception Type: invalid correlator

Cause: The correlator is invalid.

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2014, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.