119
Ericsson Composition Engine, Advanced Composition Editor User's Guide USER INSTRUCTIONS 198 17-CXP 904 0086/21 Uen G

Ericsson Composition Engine, Advanced Composition … · Introduction 1 Introduction This document describes how to use the Advanced Composition Editor (ACE) in detail. 1.1 Document

  • Upload
    lecong

  • View
    230

  • Download
    5

Embed Size (px)

Citation preview

Ericsson Composition Engine, AdvancedComposition Editor User's Guide

USER INSTRUCTIONS

198 17-CXP 904 0086/21 Uen G

Copyright

© Copyright Ericsson AB 2008-2010. All rights reserved.

Disclaimer

No part of this document may be reproduced in any form without the writtenpermission of the copyright owner.

The contents of this document are subject to revision without notice due tocontinued progress in methodology, design and manufacturing. Ericsson shallhave no liability for any error or damage of any kind resulting from the useof this document.

Trademark List

Ericsson is a trademark of Telefonaktiebolaget LM Ericsson.

All trademarks are properties of their respective owners.

198 17-CXP 904 0086/21 Uen G | 2010-10-27

Contents

Contents

1 Introduction 1

1.1 Document Purpose and Scope 1

1.2 Prerequisites 1

1.3 Typographic Conventions 1

2 Advanced Composition Editor 3

2.1 ACE Perspective 3

2.2 Preferences 4

2.3 ACE Explorer 6

2.4 Service Editor 34

2.5 Skeleton Elements 39

2.6 Skeleton Editor 56

3 Service Composition 67

3.1 Common Actions 67

3.2 Composition Session 79

3.3 Response Handling 80

3.4 Parameter Handling 81

3.5 Invocation of Remote SIP Services 82

3.6 Web Service Triggered Skeleton Design 82

3.7 Statistics 84

4 Appendix A Constraints Overview 87

4.1 SS7 specific properties 87

4.2 WS Specific Properties 88

5 Appendix B Call Parameters Overview 91

5.1 SS7 Specific Call Parameters 91

5.2 WS Call Parameter 94

6 Appendix C Error Codes 97

7 Appendix D Service Types 101

7.1 SIPService 101

7.2 WS IN Service Type 102

7.3 WS OUT Service Types 103

198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

7.4 DBService Service Type 104

8 Appendix E Examples 109

8.1 Accessing Response from Service 109

9 Appendix F Deployment of Services on target system 111

9.1 Changing internal URLs for WsService and RestService 111

Glossary 113

Reference List 115

198 17-CXP 904 0086/21 Uen G | 2010-10-27

Introduction

1 Introduction

This document describes how to use the Advanced Composition Editor (ACE)in detail.

1.1 Document Purpose and Scope

This document contains a detailed description of the graphical user interfaceused to create and maintain Skeletons and Service Descriptions. Backgroundinformation and information about creating constituent services is availablein Reference [2].

1.2 Prerequisites

In order to follow this guide it is assumed that the prerequisites of Reference [2]are fulfilled.

1.3 Typographic Conventions

Typographic Conventions are shown in Table 1

Table 1 Typographic Conventions

Type Description Convention

User Input A command that you must enterin a Command Line Interface(CLI) exactly as written.

cd $HOME

CommandVariables

Command variables, the valuesof which you must supply.

<home_directory>

GUI Objects GUI objects, such as menus,fields, and buttons.

On the File menu, click Exit.

Key Combinations Key combinations. Press Ctrl+X to delete the selectedvalue.(1)

System Elements Command, parameter, program,path, and directory names

The files are located in E:\Test.

The files are located in/opt/ericsson/bin.(2)

1198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Table 1 Typographic Conventions

Type Description Convention

Output Information Text displayed by the system System awaiting input

Code Examples Code examples stat char* months[]=\

{”Jan”,”Feb”}(3)

(1) The plus sign (+) indicates that you must press the keys simultaneously.(2) The use of the forward slash (/) is for Unix systems, PC systems use the backslash (\).(3) The back slash (\) is used to show where long lines are split.

2 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

2 Advanced Composition Editor

In this chapter the features of the Advanced Composition Editor are described.

2.1 ACE Perspective

The ACE Eclipse perspective consists of the following:

• ACE Explorer view

• ACE Console view

• Service Editor

• Skeleton Editor

• Properties

• Outline

These elements are described further on in this document. An overview of thegeneral layout in the Eclipse IDE is depicted in Figure 1.

Additionally ACE produces its own logging output in an own instance of theEclipse Console named “ACE Console”.

Figure 1 Advanced Composition perspective

3198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.1.1 Open the ACE Perspective

1. In Eclipse select Window → Open Perspective → Other...

2. Select ACE → OK

2.2 Preferences

Several GUI settings and program behaviors can be set at Preferences window(see Figure 2). For opening in Eclipse follow the instructions.

1. Select Window → Preferences

2. Select and open Advanced Composition Editor (ACE) branch at the leftside of the appearing Preferences window

Figure 2 Preferences

2.2.1 Logging

Open Advanced Composition Editor (ACE) → Logging leaf at the left sideof the Preferences window. The logging settings of the ACE Console canbe modified here.

4 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 3 Logging Preferences

The ACE tool distinguish four levels of log severities:

ERROR "Errors only" radio button in Figure 3

WARNING "Errors and warnings" radio button in Figure 3

INFO "Errors, warnings and information messages"radio button in Figure 3

DEBUG "Errors, warnings, info- and debug messages"radio button in Figure 3

You can determine which severity levels to monitor in the ACE Console. Thefollowing five options are available:

1. Turn off logging functionality

• Deselect the Logging active checkbox.

2. Show only ERROR messages

• Set the Logging active checkbox to checked and choose Errors onlyoption at the appearing group selector.

5198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

3. Show ERROR and WARNING messages

• Set the Logging active checkbox to checked and choose Errors andwarnings option at the appearing group selector.

4. Show ERROR, WARNING and INFO messages

• Set the Logging active checkbox to checked and choose Errors,warnings and information messages option at the appearing groupselector.

5. Show all messages (ERROR, WARNING, INFO, DEBUG)

• Set the Logging active checkbox to checked and choose Errors,warnings, info- and debug messages option at the appearing groupselector.

By default the ACE Console shows ERROR and WARNING messages. Thisoption also can be activated by pushing Restore Defaults button on thePreferences window.

2.3 ACE Explorer

2.3.1 Node types

ACE offers the possibility to connect to the target environment and the ServiceComposition Environment. To reduce the risk of faults and to enhance rapiddevelopment, some restrictions applicable for the target environment do notappear in the Service Composition Environment. Also the menus offered in theACE in both situations are slightly different. The distinction is obtained from thenode itself. Therefore no settings are required in the node definitions in ACE.

2.3.2 Add New Node

In order to connect to a specific remote Java EE application server nodehosting the Advanced Composition components a new node needs to be addedto the ACE explorer.

1. Add New Node icon on the ACE Explorer header bar as shown in Figure 4.

6 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 4 Add new node in ACE Explorer

2. Enter a name for the new node and connectivity credentials (Address, port,name and password for a user with administrative rights) in the New Nodewindow as shown in the example of Figure 5.

Figure 5 New Node window

3. Enable the new created node by selecting the node name in the ACEExplorer, right click to open the menu (see Figure 6) and select EnableNode.

7198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 6 Node menu for disabled nodes

Figure 7 Node menu for enabled nodes

4. If the user name or the password is incorrect in node settings anauthentication dialog appears according to Figure 8, where user can typein new user name and password.

Note: User name and password given in this window will not affect thenode settings!

Note: It is highly recommended to click on Cancel and modify thenode settings, than to login via the Authentication window, dueto security reasons!

8 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 8 Authentication window

5. If user do not provide new credentials in the authentication dialog, a dialoginforms the user that the node settings have to be changed to be able toenable the node again as show in Figure 9.

Figure 9 Authentication error

6. After enabling the node a connection to the specified node is establishedand the stored Skeletons and Service Descriptions are retrieved from theService Repository belonging to this node. An example of an enabled nodeis shown in Figure 10.

Figure 10 Enable node

9198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.3.3 Modify Node Settings

In case the connectivity credentials for an existing node in the ACE Explorerhave to be modified, the following steps have to be executed.

1. Verify that the node to be modified is in a disabled state. In case the nodeis enabled, select the node name in the ACE Explorer, right click to openthe menu (see Figure 7) and select Disable Node.

2. Select the node name in the ACE Explorer, right click to open the menu(see Figure 6) and select Settings.

3. Modify the node configuration settings in the Node Settings window andenable the node again as described in Section 2.3.2 Add New Node onpage 6.

2.3.4 Delete Node

In case a node needs to be deleted from the ACE Explorer perform thefollowing steps.

1. Verify that the node to be deleted is in a disabled state, see Section 2.3.3on page 10 for details.

2. Select the node name in the ACE Explorer, right click to open the menu(see Figure 6) and select Delete.

Figure 11 Delete a node

3. Confirm node deletion from model by selecting Yes on the appearingdialogue window.

2.3.5 Service Repository

This section describes the individual features for the Service Repository partof the ACE Explorer.

10 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

All actions described require the node to be enabled.

Figure 12 Service Repository menu on Development nodes

Figure 13 Service Repository menu on Target nodes

11198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.3.5.1 Refresh Service Repository

In order to fetch the latest state of Skeletons and Service Descriptions the ACEExplorer can be refreshed by selecting the Service Repository element, rightclick to open the menu (Figure 12 in case of Development nodes and Figure 13in case of Target nodes) and select Refresh.

2.3.5.2 Import (Only on Development nodes)

Import operation is used for uploading a complete and valid set of services andskeletons from an XML file to the target system.

In order to import composition data from an XML file the following steps mustbe performed in the ACE Explorer:

1. Right click on Service Repository row of the active node to open thepopup menu (see Figure 12) and select Import....

2. First step of Import dialogue window appears, where a previously exportedXML file should be selected at first by clicking on the Browse... button asshown in Figure 14. Click Next > after a valid XML file was selected

12 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 14 Import wizard

3. After preprocessing the selected XML file, the retrieved tree of availableservices and skeletons will be visible on the second page of the wizard.

The tree selection may contain compositions that already exist in therepository. The repository elements can not be replaced by executingImport operation, so that those duplicated elements must be deselected asdepicted in Figure 15. Click Next > after the preferred Items were selected

13198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 15 Duplicated elements in Import wizard

4. When every duplicated compositions have been removed from theselection, the Import operation may be continued to the next step, byclicking on the Next > button.

5. On the third page of Import activation status of each composition can bemodified, as shown in Figure 16. Active status of compositions dependson the check boxes in front of them. In case if the check box is checkedimported composition will de active after import procedure. User is allowedto step back and modify the selection in the first step.

Note: Only selected Skeletons appear on the third page, becauseServices do not have activation status!

14 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 16 Third page of Import

6. When activation status was set for all of the skeletons Import procedurecan executed by clicking on the Finish button

7. When import finished result can be shown as depicted in Figure 17.

15198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 17 Import result window

2.3.5.3 Import and Deploy (Only on Target nodes)

Import & deploy operation is used for uploading a complete and valid set ofservices and skeletons from an XML file to the target system.

In order to import and deploy composition data from an XML file the followingsteps must be performed in the ACE Explorer:

1. Right click on Service Repository row of the active node to open thepopup menu (see Figure 13) and select Import and Deploy....

2. First page of Import and Deploy wizard appears, where a previouslyexported XML file should be selected at first by clicking on the Browse...button as shown in Figure 18.

16 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 18 Import and Deploy wizard

3. After preprocessing the selected XML file, the retrieved tree of availableservices and skeletons will be visible on the second page of the dialoguewindow.

The tree selection may contain compositions that already exist in therepository. The repository elements can not be replaced by executingImport and Deploy operation, so that those duplicated elements must bedeselected as depicted in Figure 19.

17198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 19 Duplicated elements in Import and Deploy wizard

4. When every duplicated compositions have been removed from theselection, the Import and Deploy operation may be continued to the nextstep, by clicking on the Next > button.

5. On the third page of Import and Deploy activation status of eachcomposition can be modified, as shown in Figure 20. Active status ofcompositions depends on the check boxes in front of them. In case if thecheck box is checked imported composition will de active after importprocedure. User is allowed to step back and modify the selection in thefirst step.

Note: Only selected Skeletons appear in the second step, becauseServices do not have activation status!

18 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 20 Second step of Import and Deploy window

6. When activation status was set for all of the skeletons Import and Deployprocedure can executed by clicking on the Finish button.

7. When import finished result can be shown as depicted in Figure 17.

2.3.5.4 Export

The already existing services and skeletons in a repository can be exportedto a static XML file. The generated XML files can be used for sharing therepository structure between independent application servers or repositories(e.g.: troubleshooting on a tester system).

In order to export repository data from an active node the following steps mustbe performed in the ACE Explorer:

1. Right click on Service Repository row of the active node to open thepopup menu (see Figure 12 for Development nodes and Figure 13 forTarget nodes) and select Export....

19198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2. Export repository wizard appears where the desired list of availableskeletons and services can be chosen for exporting (Every repositoryelements are selected initially). Edit the selection tree and click on Next>, as depicted inFigure 21.

Figure 21 Export repository window

3. Specify the absolute path of output XML file by pushing the Browse...button. When everything is set click on the Finish button. An examplewizard can be shown in Figure 22.

20 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 22 Second page of export repository wizard

4. During the export a progress bar is shown and finally a popup window andthe ACE Console inform the user about the result of the export operation.

2.3.5.5 Delete multiple elements (Only on Development nodes)

1. Select the Service Repository element in the ACE Explorer, right click toopen the menu (see Figure 12) and select Delete....

2. Select elements in the "Delete repository elements" browser, shall bedeleted and click on Finish according to Figure 23.

21198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 23 Repository element selection

3. Confirm deletion of repository elements by clicking Yes on the confirmationdialogue window.

2.3.5.6 Undeploy multiple elements (Only on Target nodes)

Undeploy command can be used to remove Services and Skeletons from theservice repository.

Note: Only disabled Skeletons can be undeployed!

1. Select the Service Repository element in the ACE Explorer, right click toopen the menu (see Figure 13) and select Undeploy....

2. Select elements in the "Undeploy Repository elements" browser, shall beundeployed and click on Finish according to Figure 24.

22 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 24 Repository element selection

3. Confirm undeployment of repository elements by clicking Yes on theconfirmation dialogue window.

2.3.5.7 Delete Service Description (Only on Development nodes)

1. Select the service name in the ACE Explorer, right click to open the menu(see Figure 25) and select Delete.

23198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 25 Service menu on Development nodes

2. Confirm Service Description deletion by selecting Yes on the confirmationdialogue window.

2.3.5.8 Undeploy Service (Only on Target nodes)

1. Select the service name in the ACE Explorer, right click to open the menu(see Figure 26) and select Undeploy.

24 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 26 Service menu on Target nodes

2. Confirm service undeployment by selecting Yes on the confirmationdialogue window.

2.3.5.9 Copy Service Description (Only on Development nodes)

1. Select the service name in the ACE Explorer, right click to open the menu(see Figure 25) and select Copy.

Note: Only one service can be selected simultaneously for copying.

2. Select the Services element in the ACE Explorer, right click to open themenu and select Paste as depicted in Figure 27.

25198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 27 Paste Service Description

3. Enter new name for the Service in the Paste Service window and confirmwith Apply, as show in Figure 28. Duplicate names and syntax errorsare indicated.

Figure 28 Paste Service Description

2.3.5.10 Redeploy Service (Only on Target nodes)

1. Select the service name in the ACE Explorer, right click to open the menu(see Figure 26) select Edit Service and modify it in service editor.

2. Select the service name in the ACE explorer, right click to open the menuand select Redeploy according to Figure 29.

26 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 29 Redeploy Service Description

2.3.5.11 Rename Service Description (Only on Development nodes)

1. Select a Service in the ACE Explorer, right click to open the menu (seeFigure 25) and select Rename Service.

2. Enter new name for Service Description in the Rename Service windowand confirm with OK as shown in Figure 30.

Figure 30 Rename Service window

27198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.3.5.12 Delete Skeleton (Only on Development nodes)

1. Select the skeleton name with the correct version in the ACE Explorer, rightclick to open the menu (see Figure 31) and select Delete.

Figure 31 Skeleton menu on Development nodes for disabled skeletons

2. Confirm skeleton deletion from model by selecting Yes on the appearingdialogue window.

2.3.5.13 Undeploy Skeleton (Only on Target nodes)

1. Select the skeleton name with the correct version in the ACE Explorer, rightclick to open the menu (see Figure 32) and select Undeploy.

28 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 32 Skeleton menu on Target nodes for disabled skeletons

2. Confirm skeleton undeployment by selecting Yes on the appearing dialoguewindow.

2.3.5.14 Copy Skeleton (Only on Development nodes)

1. Select the skeleton name with the correct version in ACE Explorer, rightclick to open the menu (see Figure 31) and select Copy.

Note: Only one skeleton can be selected simultaneously for copying.

2. Select the Skeletons element in the ACE Explorer, right click to open themenu and select Paste as depicted in Figure 33.

29198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 33 Paste skeleton

3. Enter new name for the skeleton and/or new version in the Paste Skeletonwindow and confirm with Apply as shown in Figure 34. Error messagesare depicted when there is an error in the defined values.

Figure 34 Paste Skeleton window

2.3.5.15 Deploy as (Only on Target nodes)

1. Select the skeleton name with the correct version in ACE Explorer, rightclick to open the menu (see Figure 32) select Edit Skeleton and modify it.

30 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

2. Select the Skeletons element in the ACE Explorer, right click to open themenu and select Deploy as as depicted in Figure 35.

Figure 35 Deploy as skeleton

3. Enter a new version for the skeleton in the Deploy as window and confirmoperation by clicking on Deploy button as shown in Figure 36. Errormessages are depicted when there is an error in the defined version.

Figure 36 Deploy as Skeleton window

2.3.5.16 Rename Skeleton (Only on Development nodes)

1. Select the skeleton name with the correct version in ACE Explorer, rightclick to open the menu (see Figure 31) and select Rename Skeleton.

31198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2. Enter new name for the skeleton and/or new version in the New Skeletonwindow and confirm with Apply as shown in Figure 37. Error messagesare depicted when there is an error in the defined values.

Figure 37 New Skeleton window (error message)

2.3.5.17 Enable/Disable Skeleton

Each skeleton version holds its own activation state and can be toggled withinthe ACE Explorer to its opposite respective state. In order to change the stateselect the skeleton name with the correct version in the ACE Explorer, rightclick to open the menu and select Enable or Disable as depicted in Figure31,Figure 38 in case of Development nodes and in Figure 32, Figure 39 incase of Target nodes.

32 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 38 Disable a skeleton on Development nodes

Figure 39 Disable a skeleton on Target nodes

33198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.3.5.18 Service Types

The ACE Explorer also displays available Service Types. As those ServiceTypes are defined in the LDAP schema files, only browsing the existing types issupported. It is not possible to create, update or delete Service Types.

In case attributes are defined for a Service Type they are also visible; red iconsrepresent mandatory attributes and green icons represent optional attributes.An example ACE Explorer showing Service Types is depicted in Figure 40.

Figure 40 ACE Explorer Service Types

2.4 Service Editor

The service editor comprises of the below listed tabs leading to their respectivecontent:

• General

• Constraints

34 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

• Attributes

The tabs can be selected on the bottom left corner of the service editor. Theservice editor can be opened by double-clicking a Service in the ACE Explorer.

2.4.1 General

Besides listing the Service Description name (which must be a unique identifier)the main purpose of the General tab is to specify the Service Types for theService Description.

A Service Type is a collection of mandatory and optional service attributes.By assigning a certain Service Type to a Service Description the associatedmandatory and optional attributes are valid for the Service Description inquestion. The service attributes belonging to a Service Type can be viewedin the ACE Explorer.

The Service Type named “MSAService” is an abstract type mandatory for allService Descriptions. All other service types may be combined although not allcombinations are meaningful.

The Service Types area of the General tab consists of two columns. Theleft column lists the Service Types assigned for the Service Description, theright column lists the available Service Types not assigned to the ServiceDescription.

Figure 41 Service Editor general tab

35198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.4.1.1 Add Service Type

In order to add a Service Type from the available list to the edited ServiceDescription select the Service Type from the list in the right column and theselect the Add button as shown in Figure 41.

2.4.1.2 Remove Service Type

In order to remove a Service Type from the assigned list select the ServiceType from the list in the left column and the select the Remove button asshown in Figure 41.

2.4.2 Constraints

The service editor Constraints tab is a place holder for future development.It offers the possibility to specify global and local constraints for ServiceDescriptions.

Due to the fact that the specified values for the constraints are not evaluatedand used by Advanced Composition in its current version no further descriptionsfor this tab are specified here.

2.4.3 Attributes

The MSAService Attributes tab provides access to the attribute values forthe edited Service Description. It is separated into mandatory attributes andoptional attributes. The attributes presented are accumulated and depend onthe Service Types assigned for the Service Description. The list of attributes fora Service Description is fixed and cannot be changed.

Note: Each listed mandatory attribute has to have a specified value. Withouta specified value of a mandatory attribute it is not possible to save theService Description.

Variables can be used in the specification of an attribute value. During runtimesuch variable is filled out with the value of the matching call parameter inthe service template element. A variable in an attribute value is specified as&(variable).

Note: In case a variable is not in the call parameter list, it remainsunprocessed in the attribute value.

Note: For a literal interpretation use the escape &&(.

2.4.3.1 Edit Service Attribute

In order to modify a certain service attribute value the following steps haveto be performed:

36 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

1. Double-click the table cell of the Value(s) column in the row of the serviceattribute to be edited. In case the attribute is listed as single value(Single=true) the selected table cell is marked as depicted in Figure 42.In case the attribute is listed as multiple value (Single=false) a ... iconbutton appears as depicted in Figure 43.

Figure 42 Selection of single valued service attribute

Figure 43 Selection of multi valued service attribute

2. For the single attribute value case modify the attribute value directly inthe service attribute table.

3. For the multiple attribute value case select the ... icon button to open theServiceAttribute Value(s) window as shown in Figure 44.

37198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 44 Empty ServiceAttribute Value(s) window

4. In order to add a new attribute value select Add and a row with a defaultvalue will be created in the Value table.

5. In order to remove an attribute value select the value table row and selectRemove.

6. In order to modify an attribute value double-click the value table row andedit the value string as shown in Figure 45.

38 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 45 Modify multiple value service attribute

7. To finish the multiple value attribute modification select OK to close thewindow.

2.5 Skeleton Elements

Each skeleton consists of one mandatory skeleton start element and one ormore elements of the following types which are described in detail within thissection:

• Service Template

• Condition

• SSM Command

• Goto

• End

The attributes of all skeleton element types consist of skeleton elementdescription parameters and individual properties. The attribute values aredisplayed and are visible in the Properties sheet. Mandatory attributes aremarked with a * character after the attributes name. All skeleton elements dohave the following description parameters in common:

39198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

ID Identifier specifying the elements unique name.The ID can not contain any characters from thefollowing character set: [" | ; | \ | = | + | < | > | #]

Type Specifying the type of the element out of[START | SERVICE TEMPLATE | CONDITION| SSM COMMAND | SKELETON CALL |END_ELEMENT]

Description Short textual description of the element

2.5.1 Skeleton Start Element

The skeleton start element is the mandatory first element for all skeletons. Itprovides the entry point for the skeleton evaluation during service compositionand holds overall properties valid for the whole skeleton.

The properties specific for this element type are as follows:

Skeleton ID Identifier specifying the skeletons unique name,can not be changed in the properties sheet

Skeleton Version Numerical unique version of skeleton name,format “1.0”, default value “0.1”

Skeleton Active Boolean value indicating activation status ofskeleton, values [true | false], only skeletons witha true activation status will be fetched and areavailable for service compositions.

Skeleton Priority Numerical integer value indicating skeletonspriority relative to other skeleton priorities. Thehigher the value, the higher the priority. It isrecommended to use positive integer values onlyto avoid ambiguities.

Skeleton Constraints Regular expression defining conditions underwhich the skeleton shall be executed duringservice composition. For more details seeSection 2.5.7 on page 49. For an overview of theskeleton constraints see Section 4 on page 87.

Skeleton Author Name of the skeleton developer

Skeleton Description Short textual description of the skeleton

An example of the graphical representation of a skeleton start element is shownin Figure 46.

40 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 46 Skeleton start element graphic

The corresponding properties of this element are depicted in Figure 47.

Figure 47 Skeleton start element properties

Note: In case no skeleton is found for an SS7 triggered operation, a TCAPerror will be sent with cause “ParameterOutOfRange” towards the SSF.

In case no skeleton is found for a SIP triggered operation, the SIPCall is proxied towards the callee.

In case no skeleton is found for an endpoint service (Web ServiceTriggering), the request will be handled by the original endpoint service.

2.5.2 Service Template Element

The service template element is used during execution of the skeleton in aservice composition to decide what service shall be invoked. The ServiceDescription available in the Service Repository that fulfils the specifiedconstraints at runtime will be selected. Only one service can be specified perservice template element.

The properties specific for this element type are as follows:

41198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Asynchronous Indicates whether the ACC shall wait for aresponse of the service that is being invoked. Iffalse is specified, the ACC will wait for a response,if true is specified, the ACC will not wait. Thecurrent implementation of ACC only evaluates theset value for invoked Web-services, the value hasno influence on other types of services.

Call Parameters Multiple parameters specified via name andexpression. For SIP these parameters will bepassed on to the invoked service at runtime.For SS7 these parameters will be passed on tothe dialogue spec only if the parameter namestarts with context. without this prefix theseparameters will be discarded. The expressionscan be specified in conditional syntax Section2.5.7.2 on page 51. An overview of specificCall Parameters that are used by the AdvancedComposition itself are list in Section 5 on page 91.

Constraints Conditions that are evaluated at runtime in orderto decide which service to be invoked. For moredetails see Section 2.5.7 on page 49.

Parse Result(1) Indicates whether the ACC shall parse theservice execution result. In any case, the rawresponse from the service execution is stored inthe Shared State as received. If false is specified,no additional behavior takes place. If true isspecified, the service execution result is parsedand the outcome is stored additionally in theShared State. Parsing means that the result issplit up in several smaller parts each being storedas separate variables in the Shared State. Forthe xml response of a web service this means aShared State variable for each xml leaf element.

Also see an example on the usage of the rawresponse in Section 8.1 on page 109

Result Variable(2) Name of the variable in the Shared State Managerwhich will hold the returned result of the invokedservice.

(1) this property is applicable only when the service refered to by the service template provides aresult (for example a web service type based service).(2) idem

An example of the graphical representation of a service template element isshown in Figure 48.

42 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 48 Service template element graphic

The corresponding properties of this element are depicted in Figure 49.

Figure 49 Service template element properties

2.5.3 Condition Element

The condition element provides the possibility to branch within the skeletonupon certain conditions evaluated during runtime of the service compositionexecution. One to many different outgoing branches are supported where oneoutgoing branch can be connected to an unspecified default condition valuewhich is chosen in case none of the other branches condition values match.

The properties specific for this element type are as follows:

43198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Condition A regular expression being evaluated duringskeleton execution. For more details see Section2.5.7.2 on page 51. For a complete list ofconditions to be used for SS7 see Section 4 onpage 87. The trigger prefix can be used torefer to the originally triggering INAP operation forthe service composition or the condition prefixcan be used to refer to an INAP operation whichcauses the service composition to be consultedagain. See also Section 5.1.1 on page 91.

An example of the graphical representation of a condition element is shownin Figure 50.

Figure 50 Condition element graphic

The corresponding properties of this element are depicted in Figure 51.

44 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 51 Condition element properties

Condition texts can be specified by clicking on the connection arrow andtyping the desired case sensitive label in the Properties window as depictedin Figure 52.

Figure 52

Note: constraint/condition syntax is not allowed in condition textvalues.

45198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.5.4 SSM Command Element

The SSM Command element provides the option to set or remove variables inthe shared state manager during service composition execution.

The properties specific for this element type are as follows:

Command The SSM Command to be executed, values[setVariable | removeVariable]

Command Parameter A combination of a SSM variable nameand an expression to be assigned in thesetVariable cause, the SSM variable name inthe removeVariable cause. The expression tobe assigned in the setVariable cause can be ofa static value or a condition to be evaluated atruntime, see also Section 2.5.7.2 on page 51.

An example of the graphical representation of a SSM command element isshown in Figure 53.

Figure 53 SSM command element graphic

The corresponding properties of this element are depicted in Figure 54.

46 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 54 SSM command element properties

2.5.5 Goto Element

The goto element provides the option to perform a jump to another skeletonelement during skeleton execution. The specified jump target can either be askeleton element from the same skeleton and thereby offers the possibility toimplement a loop construct or can be any skeleton element from a differentskeleton present in the advanced composition repository.

In case the reference of a Goto points to a element of the current skeletona goto arrow represents their relationship as depicted in Figure 55. Theappearance of goto skeletons can be set by opening Advanced CompositionEditor (ACE) → Skeleton Editor → Connection leaf at the left side of thePreferences window (see Section 2.2 on page 4) and modifying the selectedvalue of Goto connection line style list. The default value is Dash.

47198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 55 Goto reference example

The syntax to address the jump target shall be according to thedomain models skeleton reference. It consists of the skeleton identity,the skeleton version and the skeleton element identity in the format“/Skeleton-Id/version/SkeletonElementId”

The properties specific for this element type are as follows:

Goto Reference Skeleton reference of the jump target skeleton element

An example of the graphical representation of a Goto element is shown inFigure 56.

Figure 56 Goto element graphic

The corresponding properties of this element are depicted in Figure 57.

Figure 57 Goto element properties

48 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

2.5.6 End Element

The end element is used to close a skeleton branch. Each branch of a skeletonmust close with an end element. An example of the graphical representation ofan end element is shown in Figure 58.

Figure 58 End element graphic

The corresponding properties of this element are depicted in Page 49.

Figure 59 End element properties

Note: For SS7 skeletons the end element has a special meaning. It meansthat from this moment onward, any incoming event will be handled bythe last active Service, unless a new skeleton is found, or the dialogueis ended.

2.5.7 Skeleton Constraints and Conditions

Two types of constraints are present in the context of skeletons, the skeletonconstraint and the service constraints. The service constraints are being usedfor selecting the appropriate service during skeleton execution upon runtime.The service constraints are mandatory in the service template element and theskeleton constraint is optional in the skeleton start element. The constraintsspecified in the service template element are service constraints while theconstraint set in the skeleton start element is a skeleton constraint.

Service constraints are used for selecting services only in the context of theparticular service template element. A skeleton constraint is used for selectingservices throughout the whole skeleton.

49198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.5.7.1 Constraint Syntax

2.5.7.1.1 Skeleton constraints

A skeleton constraint must be a boolean condition. The skeleton constraintmust evaluate to 'true' in order for the skeleton to be selectable.

A skeleton constraint shall be according the condition syntax, see Section2.5.7.2 on page 51.

Examples:

• $(sip_request.method)='INVITE'

• $(operation)='InitialDP' & $(operation.service_key)='5050'

A list of available parameters for the skeleton constraints is specified in theappendix in Section 4 on page 87.

2.5.7.1.2 Service constraints

The syntax of service constraints uses the attributes described in the ServiceDescriptions. A service constraint consists of two parts, an attribute and a value.

The Service Descriptions that will be selected by the service constraint have tomeet two requirements. The first requirement is that the Service Descriptionhas to have the attribute stated in the constraint which, except of objectclass, isService Type specific. That means that the Service Description has to be of atleast the Service Type supporting that attribute. The second requirement is thatthe Service Description has to have the same value for that specific attribute.

The attribute objectclass is used to retrieve Service Descriptions belonging toat least that particular Service Type, for example objectclass=SIPService.

In a service constraint the attribute is limited to those used in the ServiceDescriptions.

The value of the constraint shall be according the condition syntax, see Section2.5.7.2 on page 51, with the limitation that the result shall only contain [a..z |A..Z | 0..9 | . | _ | - | @ | : |, | / | ~] or a combination of those.

The attribute/value pair is separated by the equals character “=”.

Examples:

• srv='ServiceName'

• srv='ServiceName'+$(variable_name)

50 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

2.5.7.2 Condition Syntax

A condition expression within the condition element has to contain a stringconstant, a numerical constant, a boolean constant or a variable referenceused in an expression with an operator.

The string constant contains any character, delimited by single quotes. Thebackslash (\) escape character must be used to include single quotes in astring constant.

The numerical constant is a non-negative integer.

The boolean constant is either of the value ‘true’ or ‘false’ in a case-sensitivemanner.

The variable reference is of the format to address SSM variables as“$(variable_name)”.

The syntactical representation of a conditional expression can be described ina hierarchical manner as below:

1. expr: expr1 (OR expr1)*

2. expr1: expr2 (AND expr2)*

3. expr2: atom ( ( EQUAL | NOT_EQUAL | LT | GT | LE | GE | PLUS | MINUS) atom )*

4. atom: NCONST

| SCONST

| VAR

| LPAREN expr RPAREN

| EMPTY LPAREN expr RPAREN

| EXIST LPAREN expr RPAREN

| LEN LPAREN expr RPAREN

| POS LPAREN expr COMMA expr RPAREN

| XPATH LPAREN expr COMMA expr RPAREN

| DATETIME LPAREN expr RPAREN

| REPLACE LPAREN expr COMMA expr COMMA expr RPAREN

| SUBSTR LPAREN expr COMMA expr COMMA expr RPAREN

| COUNT LPAREN expr COMMA expr RPAREN!

51198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

| ELEMENTAT LPAREN expr COMMA expr COMMA expr RPAREN

| NOT atom

The character representation of the above used elements of the syntacticalrepresentation (that is, elements in capital, cursive letters) is listed below:

OR ‘|' Usage: a|b

Description: returns the logical or result ofa,b

Examples:

true|false returns true

AND ‘&’ Usage: a&b

Description: returns the logical and result ofa,b

Examples:

true&false returns false

EQUAL ‘=’ Usage: a=b

Description: checks whether a is equal to b

Examples:

2=2 returns true

3=4 returns false

NOT_EQUAL '!=' Usage: a!=b

Description: checks whether a is not equalto b

Examples:

2!=3 returns true

2!=2 returns false

NOT '!' Usage: !a

Description: logical not

Examples:

!a = returns true when a=false

52 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

LT '<' Usage: a<b

Description: if a and b are numbers checkwhether a less than b

Examples:

3<4 returns true

GT '>' Usage: a>b

Description: if a and b are numbers checkwhether a greater than b

Examples:

4>3 returns true

GE '>=' Usage: a>=b

Description: if a and b are numbers checkwhether a greater than or equal to b

Examples:

4>=4 returns true

LE '<=' Usage: a<=b

Description: if a and b are numbers checkwhether a less than or equal to b

Examples:

4<=4 returns true

PLUS '+' Usage: a+b

Description: plus

Examples:

-

MINUS '-' Usage: a-b

Description: minus

Examples:

-

NCONST Description: numerical constant

SCONST Description: string constant

VAR Description: variable reference

LPAREN '(' Description: left parenthesis

53198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

RPAREN ')' Description: right parenthesis

COMMA ',' Description: comma

EMPTY ('E'|'e')('M'|'m')('P'|'p')('T'|'t')('Y'|'y')

case-insensitive

Usage: EMPTY(a)

Description: returns true if a=null or a is anempty string

Examples:

EMPTY('') = true

EXIST ('E'|'e')('X'|'x')('I'|'i')('S'|'s')('T'|'t')

case-insensitive

Usage: EXIST(a)

Description: returns true if variable a isexisting

Examples:

EXIST('myvariablename')

LEN ('L'|'l')('E'|'e')('N'|'n')

case-insensitive

Usage: LEN(a)

Description: returns the length of expressiona

Examples:

LEN('abc')=3

LEN(12345)=5

LEN('')=0

POS ('P'|'p')('O'|'o')('S'|'s')

case-insensitive

Usage: POS(a,b)

Description: returns the position (startingwith 0) of expression b in expression a. -1means that expression b is not contained inexpression a.

Examples:

POS('abc','b')=1

POS('abcdbcg','bc')=1

POS('abcd','e')=-1

POS(345,4)=1

54 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

XPATH ('X'|'x')('P'|'p')('A'|'a')('T'|'t')('H'|'h')

case-insensitive

Usage: XPATH(a, xpath_expr)

Description: returns first value matchingxpath_expr expression in expression a. TheJava xpath functionality is used. Returns theresulting string.

Examples:

XPATH('value1value2', '/xml/item')=value1

DATETIME ('D'|'d')('A'|'a')('T'|'t')('E'|'e')('T'|'t')('I'|'i')('M'|'m')('E'|'e')

case-insensitive

Usage: DATETIME(format)

Description: Returns the current system dateand time, according to the specified formatstring. The format is according to java classjava.text.SimpleDateFormat. See Reference[10]. If the format is not specified (emptystring), then the default format is used. If theformat is invalid, an empty string is returned.

Examples:

DATETIME('yyyy/MM/dd HH:mm:ss; Z')returns '2010/07/22 16:30:35; +0200'

REPLACE ('R'|'r')('E'|'e')('P'|'p')('L'|'l')

('A'|'a')('C'|'c')('E'|'e')

case-insensitive

Usage: REPLACE(str, regexp, replacement)

Description: replaces each substring of stringstr that matches given regular expressionregexp with string replacement. The Javaregular expression format is used. Returnsthe resulting string

Examples:

REPLACE('abcbb', 'b' ,'a') returns ‘aacaa’

REPLACE(12345, 2+3, 3) returns 12343

SUBSTR ('S'|'s')('U'|'u')('B'|'b')('S'|'s')('T'|'t')('R'|'r')

case-insensitive

Usage: SUBSTR(str, start, end)

Description: returns substring of string strfrom position index specified with start to endposition index specified with end

Examples:

SUBSTR('abcd', 1, 2)='bc'

55198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

COUNT ('C'|'c')('O'|'o')('U'|'u')('N'|'n')('T'|'t')

case-insensitive

Usage: COUNT(str, sep)

Description: split the string str usingseperator sep to an array and countsthe elements and returns this. See JavaString.split for more information.

Examples:

COUNT('a,b,c',',') returns value ‘3’,

ELEMENTAT ('E'|'e')('L'|'l')('E'|'e')('M'|'m')('E'|'e')

('N'|'n')('T'|'t')('A'|'a')('T'|'t')

case-insensitive

Usage: ELEMENTAT(str, sep, index)

Description: split the string str usingseperator sep to an array and returns elementat index position (starting with 0). See JavaString.split for more information.

Examples:

ELEMENTAT('a#b#c', '#', 1)='b'

2.6 Skeleton Editor

The skeleton editor consists of two parts, the graphical skeleton presentationand the Palette panel. The graphical skeleton presentation shows the skeletonelements structure while the Palette panel provides several tools for the editoractions.

The Palette panel can be found in the upper right corner of the SkeletonEditor window. In case the panel is closed it can be opened by selecting thearrow as shown in Figure 60.

Figure 60 Skeleton Editor open Palette panel

All actions described in the following sections assume that the skeleton to bemodified is opened in the Skeleton Editor.

56 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

2.6.1 Add skeleton element

In order to add a new skeleton element to the skeleton to be modified the typeof the skeleton element needs to be selected from the skeleton elements list ofthe Palette panel as depicted in Figure 61.

Figure 61 Skeleton elements palette

The insertion of the selected skeleton element type can be achieved by twodifferent actions:

1. Left-click into an existing skeleton element in the editor will insert theelement types template as next skeleton element with an establishedconnection

2. Left-click into the empty space of the Skeleton Editor window will insertthe element types template as standalone element without any establishedconnection to other existing skeleton elements

As an additional feature Goto elements and Service Template elementsincluding specific properties from the Service/Skeleton/Service Descriptionscan be inserted by dragging elements from the ACE Explorer.

2.6.1.1 Inserting specific Goto elements

1. Press and hold down the left button of the pointing device on an existingSkeleton in the ACE Explorer to grab the object.

2. Drag the object to the desired location of the Skeleton Editor as depictedon Figure 62.

57198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 62 Skeleton dragged from ACE Explorer

3. Drop the object by releasing the button. A new Goto element will becreated that refers to the start element of the selected Skeleton. The resultis shown on Figure 63.

Figure 63 Skeleton dropped to Skeleton Editor

2.6.1.2 Inserting specific Service Template elements

1. Press and hold down the left button of the pointing device on an existingService in the ACE Explorer to grab the object.

2. Drag the object to the desired location of the Skeleton Editor as depictedon Figure 64.

58 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 64 Service dragged from ACE Explorer

3. Drop the object by releasing the button. A new Service Template elementwill be created that points to the selected Service. The result is shownon Figure 65.

Figure 65 Service dropped to Skeleton Editor

2.6.2 Connect Skeleton Elements

In order to establish a connection between two skeleton elements the followingsteps have to be performed:

1. Select the Connection option from the Palette panel

2. Left-click into the connection source skeleton element

3. Left-click into the connection target skeleton element

An alternative to create a link automatically is to drop an element from thepalette onto an existing element in the skeleton.

59198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.6.3 Modify Skeleton Element Properties

Each skeleton element type contains its own specific set of properties whichcan be modified. This section describes how to edit the properties per skeletonelement type.

All descriptions assume that the skeleton element to be modified has beenselected in the skeleton editor in order to display the properties sheet.

2.6.3.1 Skeleton start element

2.6.3.1.1 Active

Left-click into the properties value cell to toggle the boolean value.

2.6.3.1.2 Author, Description, Priority, Skeleton constraints

Double-click into the properties value cell and edit the value string.

2.6.3.2 Service Template Element

2.6.3.2.1 Asynchronous

Left-click into the properties value cell to toggle the boolean value.

2.6.3.2.2 Call Parameters

1. Left-click into the properties value cell

2. Select the ... icon button to open the Call Parameters List parameterslist window as depicted in Figure 66.

Figure 66 Skeleton service call parameters list

60 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

3. To add a new call parameter select Add , specify parameter name andexpression and Select OK as shown in Figure 67. This parameter will beadded to the message header; in the case of SIP ID:Expression isadded as header to the SIP header.

Figure 67 Skeleton edit service call parameter

4. To edit a call parameter select the parameter ID row → select Edit, specifyparameter name and expression and select OK

5. To delete a call parameter select the parameter ID row and select Delete

6. To create the required parameters select Create required parameters. Inthe Service selection dialog as shown in Figure 68, select a service eitherfrom the Recommended Services list or from the All Available Services listand click OK. All values of parameter attribute from the selected servicewill be added as a new call parameter in the call parameter list. Existingcall parameters will not be overriden or removed.

Note: Recommended Service means that the service is matching theconstraints of the Service Template element.

Figure 68 Service Selection dialog

61198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2.6.3.2.3 Constraints

1. Left-click into the properties value cell

2. Select the ... icon button to open the Constraints List window asdepicted in Figure 69.

Figure 69 Constraints List window

3. To add a new constraint select Add, specify constraint expression andselect OK as shown in Figure 70. It is possible to evaluate the constraint onthe fly by selecting the Evaluate button.

62 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 70 Skeleton add service constraint

4. To edit a constraint select the constraint row, select Edit and specifyconstraint expression then select OK

5. To delete a constraint select the constraint row, select Remove

2.6.3.2.4 Result Variable

Double-click into the properties value cell and edit the value string.

2.6.3.3 Condition element

2.6.3.3.1 Condition

1. Left-click into the properties value cell

63198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

2. Select the ... icon button to open Add/Edit Condition window asdepicted in Figure 71.

Figure 71 Skeleton edit condition

3. Enter a condition expression and select OK

2.6.3.3.2 Condition connection case value

1. Select the branch arrow in the skeleton editor to display the connectioncase properties

2. Double-click into the properties value cell and edit the value string

2.6.3.4 SSM command element

2.6.3.4.1 Command

1. Left-click into the properties value cell

2. Select the arrow to display drop-down menu and select appropriatecommand from the list

2.6.3.4.2 Command Parameter

1. Left-click into the properties value cell

2. Select the ... icon button to open Add/Edit SSM Command window. Incase the command “setVariable” is specified the window looks as depictedin Figure 72. In case the command “removeVariable” is specified thewindow looks as depicted inFigure 73

64 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Advanced Composition Editor

Figure 72 Add/Edit SSM Command setVariable

Figure 73 Add/Edit SSM Command removeVariable

3. In case “setVariable” is specified, enter a variable ID and expression andselect OK

4. In case “removeVariable” is specified, enter a variable ID and select OK

2.6.3.5 Goto Element

2.6.3.5.1 Goto Reference

1. Left-click into the properties value cell

2. Select the ... icon button to open the Edit Skeleton Element Referencedialog, select Skeleton Id from drop-down menu, then select SkeletonVersion and a Skeleton Element Id from the drop-down menu then selectOK as shown in Figure 74

65198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Note: It is up to the skeleton designer to use this functionality with care,since it is possible to go to any element in the same or anotherskeleton. In case a reference is made to the Start element ofanother skeleton, the conditions of that skeleton are evaluated.These conditions are not evaluated when a reference is definedto another element (i.e. not the Start element) within anotherskeleton! Defining a reference to the Start element of the sameskeleton might lead to a never-ending skeleton, so it is advisedto not use this.

Figure 74 Edit Skeleton Element Reference window

66 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

3 Service Composition

In this chapter a description is provided how to develop composite servicesusing Advanced Composition Editor development nodes described in theprevious chapter. Also described is how to perform development andmaintenance tasks on Skeletons and Service Descriptions stored in the ServiceRepository. The Skeletons and Service Descriptions form the main logicalentities describing the behavior and constraints for a Composite Service.

3.1 Common Actions

3.1.1 Create new default Service Description

In order to create a new Service Description from default template performthe following steps:

1. Select the Services element in the ACE Explorer, right click to open menuand select Add New Service as depicted in Figure 75.

Figure 75 Create new Service Description

2. Enter the name of the new service and select Apply to create a new defaultService Description as depicted in Figure 76.

67198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 76 Enter new Service Description name

3. Open the new created Service Description in Service Editor.

4. Add required Service Types to service in Service Editor General tab.

5. Modify service attribute values in Service Editor Attributes tab.

6. Save the modified Service Description.

3.1.2 Create New Web Service description from URL

In order to create a new Service Description for a Web Service from a URLpointing to the wsdl-file of the Web Service perform the following steps:

1. Select the Services element in the ACE Explorer, right click to open menuand select Add New Service from WSDL as depicted in Figure 77.

68 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Figure 77 Create new Web Service Description

2. Enter the URL of the wsdl-file of the Web Service, then select Apply asdepicted in Figure 78.

Figure 78 Create new Web Service description from URL

3. In case the Web Service description from the wsdl-file provides multipleservice operations, select the appropriate one and select OK. Only oneservice operation can be used to create the Web Service description. Anexample is shown in Figure 79.

69198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 79 Select Web Service operation

3.1.3 Create new Service Description for Web Service from WSDL

In order to create a new Service Description for a Web Service from a wsdl-filereference of the Web Service perform the following steps:

1. Select the Services element in the ACE Explorer, right click to open menuand select New Service from WSDL as depicted in Figure 77.

2. Select the ... icon button to open the file selection browser, then browseand select the wsdl-file and select Open (the file path appears in thedialogue window in e.g. file://C:\temp\ActivateMsaSkeletonService.wsdl format). Select Apply as depicted in Figure 78.

3. In case the Web Service description from the wsdl-file provides multipleservice operations, select the appropriate one and select OK.

3.1.4 Open Service Description in Service Editor

Two possibilities exist in order to open a Service Description in the ServiceEditor:

1. Double-click the Service Description in the ACE Explorer.

2. Select the service name in the ACE Explorer, right click to open the menuand select Edit Service as depicted in Figure 80.

70 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Figure 80 Open Service Description on Development nodes

3.1.5 Save Service Description

Two possibilities exist in order to save a modified Service Description:

1. Select the save disk icon in the upper left corner of the Eclipse main tool bar

2. Close the Service Editor of the modified Service Description and then selectYes in the appearing Save Resource confirmation dialogue window.

3.1.6 Create New Skeleton

In order to create a new skeleton from default template perform the followingsteps:

1. Select the Skeletons element in the ACE Explorer, right click to open themenu, then select New Skeleton as depicted in Figure 81.

71198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 81 Create new skeleton

2. Enter name and version for the new skeleton in the New Skeleton windowand confirm with Apply as shown in Figure 82. Duplicate names and/orversions and syntax errors are indicated.

Figure 82 Enter new skeleton name and version

3.1.7 Open Skeleton in Skeleton Editor

Two possibilities exist in order to open a skeleton in the Skeleton Editor:

1. Double-click the skeleton in the ACE Explorer

2. Select the skeleton name with the correct version in the ACE Explorer, rightclick to open the menu and select Edit Skeleton as depicted in Figure 83.

72 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Figure 83 Open skeleton in skeleton editor

3.1.8 Save Skeleton

Two possibilities exist in order to save a modified skeleton:

1. Select the save disk icon in the upper left corner of the Eclipse main tool bar

2. Close the Skeleton Editor of the modified skeleton then select Yes in theappearing Save Resource confirmation dialogue window.

3.1.9 Example Skeleton for SIP triggered service

In order to give an impression how a skeleton could look like, this sectionshows a simple example and explains the function of each skeleton element,see Figure 84.

73198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 84 Example skeleton

The example skeleton consists of the following skeleton elements:

start_Example Skeleton start element, contains skeletonconstraint that skeleton will only be evaluatedin case the composition session is triggeredby an SIP-request of the method INVITE

SaveRequestFromUri Skeleton SSM command element, saves thevalue form SIP-request header from-URI inshared state variable invite_from_uri.

74 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

SVC1 Skeleton service template element, invokes aSIP-service with a matching service attributesrv='SimpleSipProxy1' to be defined inService Descriptions. SVC1 must have setcall parameter do_response_handling to trueto enable response handling..

ValidateFromDomain Skeleton conditional element, evaluating ifthe string myDomain is contained in sharedstate variable invite_from_uri, that is, theposition of the string is equal or greater than 0.In case of value true the respective branchof the skeleton will be followed, in all othercases the default branch will be followed.

SkipSvc2 Skeleton Goto element, jumping to skeletonelement ReleaseControl1

SVC2 Skeleton service template element, invokes aSIP-service with a matching service attributesrv='SimpleSipProxy2' to be defined inService Descriptions. SVC2 must have setcall parameter do_response_handling to trueto enable response handling.

ReleaseControl1 Skeleton service template element, invokesa service with a matching service attributesrv=ReleaseControl to be defined inService Descriptions. Refers to dummyservice implementation in order to indicate totransfer incoming SIP-request to the targetdestination to enable SIP-Response handling.

ValidateBusyResponse Skeleton conditional element, evaluating thestatus code of incoming SIP-response. Incase of value 486 the respective branch ofthe skeleton will be followed, in all other casesthe default branch will be followed.

WS1 Skeleton service template element, invokes aWeb-service with a matching service attributesrv='SimpleTestService_setNextService' to be defined in Service Descriptions.The service is called with a parameter of keysetNextService.name and value 2.

ReleaseControl2 Skeleton service template element, invokesa service with a matching service attributesrv='ReleaseControl' to be definedin Service Descriptions. Refers to dummyservice implementation in order to indicate totransfer incoming SIP-request to the targetdestination to enable SIP-Response handling.

75198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

ValidateSuccessResponse Skeleton conditional element, evaluating thestatus code of incoming SIP-response. Incase of value 200 the respective branch ofthe skeleton will be followed, in all other casesthe default branch will be followed.

WS2 Skeleton service template element, invokes aWeb-service with a matching service attributesrv='SimpleTestService_setNextService' to be defined in Service Descriptions.The service is called with a parameter of keysetNextService.name and value 3.

End, End1, End2, End3 Skeleton end elements, terminating theirrespective skeleton branch.

3.1.10 Example Skeleton for SS7 triggered service

As the SS7 skeleton looks a bit different, also an impression is given how anSS7 skeleton could look like, see Figure 85.

76 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Figure 85 Example Skeleton

The example skeleton consists of the following skeleton elements:

77198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

start_Scenario Skeleton start element, contains skeleton constraint thatskeleton will only be evaluated in case the compositionsession is triggered by an SS7 operation ‘InitialDP’which has a service_key=5.

Service_X Skeleton service template element, invokesa SS7 Service with a matching serviceattributesrv='Service_X’ . This can represent aninternal or external service.

condition Skeleton conditional element, evaluating the sentoperations by Service_X. In case of operation ‘Connect’or ‘Continue’ the respective branch of the skeleton willbe followed.

setLongNr SSM element which assigns value from an operationto a variable.

calcShortNr SSM element which performs a manipulation on avariable.

Service_Y Skeleton service template element, invokes anSS7 Service with a matching service attributesrv='Service_Y’. Condition is set to any operation(specified with the ‘*’), but will be the Connect Operationwhich activated this Service element. The relayedConnect operation will be adjusted with the changedcalled_party_number.

continueEnd,connectEnd

Skeleton end elements, terminating their respectiveskeleton branch.

An example flow of INAP operations for this skeleton is presented in Figure 86.

78 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Figure 86 Operation flow of example skeleton

3.2 Composition Session

3.2.1 SIP triggered Composition Session

A Composition Session is identified by the Call-Id and the Session Caseof the initial request. Changes in the Call-Id throughout the composition(e.g. due Back-To-Back User Agent involved in the composition) do notaffect the composition session. It must be avoided that the AdvancedComposition is triggered with a Call-Id and Session Case already involved in acomposition. Doing so may cause it to interfere with the active composition.In a multi-server/blade environment the interference depends on the serverassignment by the load-balancer.

The Session Case is available in the Skeleton through the parametersip_request.session_case. The value is based on the'call=' parameter in the uppermost route header:

79198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

ORIGINATING call=orig

TERMINATING_REGISTERED

call=term_registered

TERMINATING_UNREGISTERED

call=term_unregistered

NEUTRAL When no call parameter is present.

3.3 Response Handling

In order to be able to act on responses in a Skeleton, a ReleaseControl serviceshall be added in the flow. After that, responses are handled by the Skeleton.

3.3.1 SIP Response Handling

It is possible to take SIP-response messages into consideration for constraintevaluation of the service composition during runtime. The following conceptsare valid for this evaluation:

• In a skeleton it must be indicated that response handling is required.

• Only final responses (>= 200) can be handled.

Each description of a constituent SIP-service in the Service Repository holdsan optional attribute indicating if the SIP-service in question is handlingSIP-responses. Based on this information an indication is given to the nextSIP-service to be invoked whether it should monitor for responses or not.

When a final response (>= 200) is received the response handling requestis implicitly disarmed.

For success responses (2xx) it is allowed to invoke other services (likeWeb-services), but it is not allowed to indicate a new SIP-service sequence. A2xx response is nothing more than sending a notification.

For non-success response (>=300) it is allowed to provide a new SIP-servicesequence. In this case it should proxy the request (again) like it would be donefor a normal request.

Note: The new service request must be accompanied by a new request-urisince it is not allowed to proxy to the same destination twice.

Note: Response handling is also allowed for the new service by usingdo_response_handling parameter. (Response handling isindicated from the skeleton, not from ACC).

Since the chain of invoked constituent services is continuous there needs tobe a point in the chain were it is told to route the message to the destinationand to start waiting for responses. This is achieved by introducing a dummy

80 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

service called ReleaseControl which is interpreted to do exactly this. Whenthe ReleaseControl service is received this should be interpreted the sameas receiving no service at all.

3.4 Parameter Handling

3.4.1 SIP Parameter Handling

This section specifies how and which parameters of the incoming SIP-messagesare exchanged. Parameters provided are centrally stored in the shared statemanager (SSM) component and are accessible for Service Descriptions andSkeletons during runtime.

3.4.1.1 Skeleton Input

The approach is to provide all parameters (that is, header-fields) from the SIPmessage (currently only the SIP-servlet-request) to the Skeleton. The attributenames are as follows:

<message-type>.<field-name>

Where <message-type> and <field-name> are in lower-case characters.

<message-type> can either be of values sip_request or sip_response.

The attribute values are provided to the skeleton as they are (althoughRFC3261 (Reference [7]) specifies that the attribute values are case insensitiveexcept for the part between quotes).

In case of a multi-line header-field the same field-name may appear multipletimes.

Additional to the header-fields the following parameters are provided:

<message-type>.from.uri<message-type>.from.display_name<message-type>.to.uri<message-type>.to.display_name<message-type>.method<message-type>.protocol

And for SIP-servlet-request only:

<message-type>.protocolsip_request.request_uri.<parameter-name>

And for SIP-servlet-response only:

sip_response.statussip_response.reason_phrase

81198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

3.4.1.2 Skeleton Output

The Skeleton has the possibility to add parameters to the SIP-servlet-message.Three types of parameters are supported: header-fields, request-uri andrequest-uri parameters. The latter two are only applicable for SIP-servletrequests.

The format of the parameters is:

<message-type>.<field-name> (multiplicity n)

This indicates a header field to be added to the request. The same field-namemay appear multiple times.

sip_request.request_uri (multiplicity 1)

This indicates a change of the request-uri. The request-uri may containparameters and must include the schema that is, sip, sips or tel.

sip_request.request_uri.<parameter-name> (multiplicity n)

This indicates a change/addition in the request-uri parameters only.

ACC shall proxy the request to the modified URI if a modification was ordered,or to the original URI otherwise.

Parameters which do not indicate the right message-type or failures in theconstruction of the URI will lead to a 5xx response in the case of SIP.

3.5 Invocation of Remote SIP Services

The invocation of remote SIP service differs in a sense that SIPapplications rather being deployed on the same application server arebeing deployed on a remote application server. Advanced Compositionshould be able to trigger such services and continue the servicecomposition afterwards. The service composer addresses a remote SIPapplication by adding the host to the service URL using the @-sign e.g.<remoteservice>@<remotehost>[:<remoteport>]. A service URLnot having the @-sign is considered to address a locally deployed service.Note that using service@localhost is not the same as using service.Especially on a clustered system using the former may not work at all.

3.6 Web Service Triggered Skeleton Design

WS (Web Service) Triggering provides the functionality to intercept theinvocation of an existing endpoint service.

This results in the possibility to select an appropriate skeleton to manipulate theincoming request as specified by the skeleton and to determine an alternativeendpoint service that provides an alternative response to the incoming request(represented as a service in the skeleton).

82 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

3.6.1 General Behavior

A skeleton for WS-triggering can contain zero, one or more services (typicallyone) of service type PubWSService (for example PubWSResponseGenerator).

Following behavior applies (when referring to service in the text below, a serviceof above mentioned type PubWSService is meant):

• No skeleton found: default behavior is HTTP-404 response (Not Found).

• Skeleton without a service: default behavior is execution of the originalendpoint service.

• Skeleton with service: when skeleton contains a service, its attributes andcall parameters will be used to determine and initialize the endpoint servicewhich shall handle the request.

• Skeleton with multiple services: when skeleton contains multiple services,currently only the first service will be used for the selection of endpointservice to address, all remaining services of type PubWSService untilthe end of the skeleton will be ignored. Services of other types will beprocessed. It is not recommended though to included multiple services ina skeleton.

An example of skeleton containing a single service of service typePubWSService) is shown below in Figure 87.

Figure 87 Example WS Skeleton

Note: For explanation of details on the PubWSResponseGenerator, pleaserefer to the corresponding section in Reference [3]

The example skeleton consists of the following skeleton elements:

83198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

start_WsSkeletonWithResponse

Skeleton start element, contains skeleton constraint thatskeleton will only be evaluated in case the compositionsession is triggered by a SOAP trigger identified asWsTestClientExposer and where the first element in thepayload data is equal to 'skeletonwithresponse'.

PubWSResponseGenerator

Skeleton service template element, invokesthe Web Service with a matching serviceattributesrv='PubWSResponseGenerator’ .

end Skeleton end element, terminating skeleton branch.

3.7 Statistics

3.7.1 Using SSM Command to step Statistical Counter

An SSM setVariable Command can be used in a Skeleton to step a StatisticalCounter at runtime. When the setVariable Command is performed on thevariable name global.pm.counter, it results in the stepping of a statisticalcounter of type USER_COUNTER.

A unique counter instance of type USER_COUNTER with the instance nameas specified by the value used in the set operation is created and stepped.Stepping means increment of its value with one, so when the counter did notalready exist it has value '1' after its creation. See example of stepping acounter in Figure 88.

Figure 88 Stepping of USER_COUNTER instance with static counter id

It is also possible to compose the counter id from variable parts as shownin Figure 89.

Figure 89 Stepping USER_COUNTER instance with variable counter id

Result from this will be the creation of new counter instances for each uniquevalue of the variable part which actually has occurred (responseCode values inthis case). This implies that this feature must be handled with some restraint.When the number of occurring unique values is large it will result in the creationof an equally large number of counter instances, each claiming their resourcesand being stepped only once or a few times.

84 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Service Composition

Note: this is especially relevant as counter instances are only created butnever removed from the system. Only way to get rid of existing counters is arestart of the system.

All ASCII characters in the range 32 (space) to 126 (tilde) are allowed except forthe single quote. The following characters are being converted to underscores:double-quote ("), star (*), comma (,), colon (:), equality sign (=) and questionmark (?).

For the administration of and access to statistical counters (PerformanceManagement), see Reference [5].

85198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

86 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix A Constraints Overview

4 Appendix A Constraints Overview

4.1 SS7 specific properties

Table below provides an overview of the SS7 properties which can be used inthe regular expression of a condition element and in the skeleton constraints.

Table 2 Overview of SS7 properties for a condition element

OptionalPrefix

Group Property Availability

trigger,condition

operation name All

trigger,condition

operation service_key All

trigger,condition

address global_title All

trigger,condition

dialogue id All

trigger,condition

dialogue ind_primitive_type All

trigger,condition

dialogue error All

trigger,condition

operation called_party_number InitialDp, Connect

trigger,condition

operation called_party_number.npi InitialDp, Connect

trigger,condition

operation called_party_number.nai InitialDp, Connect

trigger, operation calling_party_number InitialDp

trigger operation calling_party_number.npi InitialDp

trigger operation calling_party_number.nai InitialDp

trigger,condition

operation destination_routing_address Connect

trigger,condition

operation destination_routing_address.npi Connect

trigger,condition

operation destination_routing_address.nai Connect

trigger,condition

operation redirecting_party_id Connect

87198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Table 2 Overview of SS7 properties for a condition element

trigger,condition

operation redirecting_party_id.npi Connect

trigger,condition

operation redirecting_party_id.nai Connect

trigger,condition

operation redirecting_party_id.pi Connect

trigger,condition

operation release_call_cause ReleaseCall

trigger,condition

operation pa_message_id PlayAnnouncement

trigger,condition

operation pa_message_id_list PlayAnnouncement

Note: No syntax check is performed on the expressions used in skeletonelements (not while editing nor at skeleton execution time).

4.2 WS Specific Properties

Table below provides an overview of the WS properties which can be used inthe regular expression of a condition element and in the skeleton constraints.

Table 3 Overview of WS properties for a condition element

Prefix Group Property Availability

trigger ip

The value of this property is alwaysREQUEST

Request

trigger http request.contextpath Request

trigger http request.method Request

trigger http request.pathinfo Request

trigger http request.protocol Request

trigger http request.querystring Request

trigger http request.headers.<header_name>(1) Request

trigger http request.params.<param_name>(2)Request

trigger,condition http payload Request/Response

condition http response.code Response

condition http response.headers.<header_name>(3) Response

88 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix A Constraints Overview

Table 3 Overview of WS properties for a condition element

condition ip

The value of this property can beRESPONSE , FAULT or CLOSE

trigger soap wsdl.description Request

trigger soap wsdl.interface Request

trigger soap wsdl.interface.ns Request

trigger soap wsdl.interface.prefix Request

trigger soap wsdl.operation Request

trigger soap wsdl.port Request

trigger soap wsdl.port.ns Request

trigger soap wsdl.port.prefix Request

trigger soap wsdl.service Request

trigger soap wsdl.service.ns Request

trigger soap wsdl.service.prefix Request

trigger,condition soap envelope Request/Response

trigger soap role(4) Request

(1) For each header / param a separate property ending with the header / param name filled in. These propertiesmay have multiple values, individual values can be addressed using [i] after the property name, where 'i' is theindex of the value.(2) idem(3) idem(4) For each role a separate property that can be addressed using [i] after the property name, where i is the indexof the role.

Note: No syntax check is performed on the expressions used in skeletonelements (not while editing nor at skeleton execution time).

Properties with <xx_name> indicate that the individual header or paramname is added to the property name.

89198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

90 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix B Call Parameters Overview

5 Appendix B Call Parameters Overview

5.1 SS7 Specific Call Parameters

5.1.1 Condition Parameters

Parameter name: condition

The condition indicates on which subsequent operation the skeleton isinterrogated again. Supported condition operations are: Connect, Continue,ReleaseCall, EventReportBCSM and RequestReportBCSMEvent.

When condition is not added as call parameter, no further interaction with theskeleton is performed.

When the value ‘*’ is given to the condition the skeleton is interrogated on thefirst operation that is returned from the service.

For an example of the condition parameter see Service_X in Figure 85.

5.1.2 Operation Parameters

Parameter name: operation

The operation parameters of the INAP operation which started the skeleton canbe manipulated. The following parameters can be manipulated:

InitialDP:- operation.service_key (integer, for example ‘50’)- operation.gsm_forwarding_pending (‘true’ or ‘false’)- operation.called_party_number (integer, for example ‘01234’)- operation.time_stamp (string containing the time stamp and time zone of theIDP in RFC 3339 format, for example ‘2010-10-02T10:00:00-05:00’)- other attributes, not supported

PlayAnnouncement:- operation.pa_message_id (integer, for example ‘335’)- operation.pa_message_id_list(comma separated list of integers, for example‘335,336,337,338,339’)

For an example of the operation parameter see Service_Y in Figure 85.

91198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Note: The above mentioned parameters namely pa_message_id andpa_message_id_list are mutually exclusive and only one should bespecified. If both are specified, pa_message_id_list is enforced andpa_message_id is ignored. Also be aware that pa_message_id_listcan have a maximum of 5 message ids; if more message ids are addedto this list, message id 6 onwards will be ignored

5.1.3 Discard Parameters

Parameter name: discard

With the discard parameter the skeleton designer can indicate whichsubsequent operations are discarded. The skeleton will discard the operationand starts waiting for the next operation. When no discard is added, nooperations are discarded.

For an example of the discard parameter see Service_Y in Figure 85.

5.1.4 Clean up behavior

Parameter name: cleanup

Each SS7 dialogue is monitored for its state. If a SS7 dialogue has reachedthe conditions for an end state, clean up behavior is triggered. By default theservice receives an Abort and the dialogue receives a preArrangedEnd. Aservice composer can choose to override the default clean up behavior bysetting the cleanup parameter in the Call Parameters list of a service.

Table 4 Call parameters for overriding default cleanup behaviour

Name value clean up behavior

abandon the service will receive a EventReportBCSMwith an oAbandon event

cleanup

disconnect the service will receive a EventReportBCSMevent with an disconnect.

5.1.5 Detection Point Collection

Parameter name: detection_point

The Detection Point collector collects all Detection Points requested inRequestReportBCSM operations and will send them to the network when thecomposition sends a Continue or Connect operation to the network. A set ofDetection Points can be assigned to the Detection Point collector which hasto be passed directly to the network. If a RequestReportBCSM operation isreceived that requests only Detection Points that belong to the provided set,the operation is sent to the network, otherwise all requested Detection Pointsare collected. The Detection Point collector uses two new Call parameters inthe Service template:

92 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix B Call Parameters Overview

Table 5 Call parameters for Detection Point collector

Name Req/Opt Format Description

detection_point.collect Opt String, one of: ‘true’‘false’

Indicates ifDetection Pointcollection is active.When omitted,‘false’ is used

detection_point.pass Opt Comma separatedlist of String,One or more of:routeSelectFailureoCalledPartyBusyoNoAnsweroAnsweroDisconnect1oDisconnect2oAbandontBusytNoAnswerAnswertDisconnect1tDisconnect2tAbandon

Detection Pointsthat are notcollected. Whenall requestedDetection Pointsin the RequestReportBCSMoperation arepresent in thislist, the operationis sent directlyto the network,otherwise therequestedDetection Pointsare collected.When omitted, alldetection pointsare collected.

The highest monitor mode for each Detection Point is used in theRequestReportBCSM operation sent towards the network. When thecorresponding event is reported from the network in an EventReportBCSMoperation, this event is distributed to all services that have requested that eventwith the associated Message type (for example Request or Notification) thatwas requested by the service.

Each requested Detection Point can have Detection Point specific informationwhich is given in the optional parameter DPSpecificCriteria. For each DetectionPoint, the last DPSpecificCriteria that is set is used in the RequestReportBCSMoperation send towards the network in case of collected Detection Points.

Note: When Detection Point collection is active, the Extension Fields of theRequestReportBCSM operation are discarded. If Extension Fieldsin the RequestREportBCSM operation are required, the DetectionPoint collection has to be inactive (for example, Call parameterdetection_point.collect=’false’).

93198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

5.2 WS Call Parameter

5.2.1 HTTP Request Header Call Parameter

5.2.1.1 Introduction

It is possible to define additional call parameters which are not needed bythe Web Service itself (not part of its WSDL definition) but are interpreted asadditional information. This information is sent in the header of the http requeston the invocation of the Web Service.

5.2.1.2 Usage

An http request header parameter must start with the following prefix:'http.request.headers.'. This prefix must be followed by an identifierfor the parameter in the http header.

Example: http.request.headers.parameter1

The call parameter which is defined in a Web Service must get a value in aService Template Element.

Example: http.request.headers.parameter1='some value forparameter1'

Effect will be that parameter with name parameter1 and value 'some valuefor parameter1' is included in the header of the http request towards theservice for which the parameter was defined.

Usage of an http request header parameter requires two separate steps asexplained in the following sections.

5.2.1.2.1 Parameter Definition in Service

In order to be able to use an http request header parameter it must be definedas an additional call parameter. See example in Figure 90.

94 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix B Call Parameters Overview

Figure 90 Adding additional call parameter in Service

It is possible to provide multiple http request header parameters in this way.

5.2.1.2.2 Parameter Usage in Service Template Element

Any available http request headers call parameter(s) must be assigned a valuein the Service template element. See example in Figure 91.

95198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Figure 91 Using http request header parameter in Skeleton

96 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix C Error Codes

6 Appendix C Error Codes

The error codes and message that can appear in the Advanced CompositionEditor are shown in Table 6.

Note: In case a custom message is available, it will be displayed as well,otherwise only the default message appears on the dialog and consolelog.

Table 6 Error codes and messages in ACE

ErrorCode

Error message(s)

12000 Default message: Skeleton has an invalid skeleton id {null}!

Custom message: -

12001 Default message:Skeleton element has an invalid skeletonelement id {null}!

Custom message: -

12002 Default message:SkeletonGotoElements must have references!

Custom message:SkeletonGotoElement "<element name>" hasgot no references. Must be > 0!

12003 Default message:SkeletonServiceTemplateElements must haveconstraints!

Custom message:SkeletonServiceTemplateElement "<elementname>" has got no constraints. Must be > 0!

12004 Default message:SkeletonConditionElements must not havemore than one unconditional condition result branch!

Custom message:SkeletonConditionElement "<element name>"must not have more than one unconditional condition result branch!

12005 Default message:SkeletonConditionElements must have at leasttwo condition result branches!

Custom message:SkeletonConditionElement "<element name>"must have at least two condition result branches!

12006 Default message:SkeletonConditionElement must not have morethan one condition result branch for one case!

Custom message:SkeletonConditionElement "<element name>"must not have more than one condition result branch for the case"<condition case>"!

97198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

12007 Default message:Skeleton is missing a few end elements!

Custom message:Skeleton is missing "<number of endelements>" end element(s)!

12008 Default message:Skeleton element ID already exists!

Custom message:-

12500 Default message:Single valued must attribute value missing!

Custom message:Single valued must attribute value missing!Name = <attribute name>.

12501 Default message:Single valued must attribute value null!

Custom message:Single valued must attribute value null! Name= <attribute name>.

12502 Default message:Single valued must attribute value empty!

Custom message:Single valued must attribute value empty!Name = <attribute name>.

12503 Default message:Multi valued must attribute value null!

Custom message:Multi valued must attribute value null! Name =<attribute name>.

12504 Default message:Multi valued must attribute value missing!

Custom message:Multi valued must attribute value mising! Name= <attribute name>.

12505 Default message:Multi valued must attribute value empty!

Custom message:Multi valued must attribute value empty! Name= <attribute name>.

12506 Default message:Single valued attribute value invalid. Must bean INTEGER.

Custom message:Single valued attribute value invalid. Must bean INTEGER. Name = <attribute name>.

12507 Default message:Multi valued attribute value invalid. Must bean INTEGER.

Custom message:Multi valued attribute value invalid. Must be anINTEGER. Name = <attribute name>.

12508 Default message:Single valued attribute value invalid. Must beTRUE or FALSE.

Custom message:Single valued attribute value invalid. Must beTRUE or FALSE. Name = <attribute name>.

98 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix C Error Codes

12509 Default message:Multi valued attribute value invalid. Must beTRUE or FALSE.

Custom message:Multi valued attribute value invalid. Must beTRUE or FALSE. Name = <attribute name>.

12510 Default message:Single valued attribute value invalid. Must bean STRING.

Custom message:Single valued attribute value invalid. Must bean STRING. Name = <attribute name>.

12511 Default message:Multi valued attribute value invalid. Must bean STRING.

Custom message:Multi valued attribute value invalid. Must be anSTRING. Name = <attribute name>.

12512 Default message:Illegal attribute name!

Custom message:Illegal attribute name "<attribute name>"!

12513 Default message:Internal error scenario in ACE, service couldnot be added!

Custom message:-

12514 Default message:An error occurred during renaming service!

Custom message:-

12515 Default message:An error occurred during collecting attributevalues!

Custom message:-

12516 Default message:This function requires the use of the constraintsyntax for values e.g. srv='value'. The use of string constantswithout quote is deprecated.

Custom message:-

12517 Default message:Unable to open WSDL <location>!

Custom message:-

13001 Default message:The given skeleton is already present in theLDAP database!

Custom message:-

13002 Default message:The skeleton can not be found in the LDAPdatabase!

Custom message:-

99198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

13003 Default message:One or more elements in the skeleton appearnot to be connected properly. The unconnected elements are:

Custom message:One or more elements in the skeleton appearnot to be connected properly. The unconnected elements are:"<element name 1>", "<element name 2>"

13501 Default message:The given service is already present in theLDAP database!

Custom message:-

13502 Default message:The service can not be found in the LDAPdatabase!

Custom message:-

14001 Default message:The connection to the LDAP database couldnot be established.

Custom message:-

14002 Default message:Internal Error scenario within ACC which cannot be resolved!

Custom message:-

14003 Default message:The input to the webmethod is invalid (e.g."null")!

Custom message:-

15001 Default message:Unable to decode password!

Custom message:-

15002 Default message:Unable to encrypt password!

Custom message:-

15003 Default message:An unknown error occurred!

Custom message:-

15004 Default message:Encoding/decoding problem found!

Custom message:-

15005 Default message:Failed to load cluster.

Custom message:-

15006 Default message:Unable to set password!

Custom message:-

15007 Default message:Your credentials are wrong! You must updatethe node settings before you can enable this node again!

Custom message:-

100 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix D Service Types

7 Appendix D Service Types

7.1 SIPService

SIPService Service Type is used in a SIP triggered scenario.

Table 7 SIPService attributes

Attribute Description Optional/Mandatory

Single/Multi-value

srv Unique id for this service. Mandatory Single-value

available Reserved for future use. Mandatory Single-value

url Indicates the physical locationsof the service.

When targeting a locallydeployed service the valuemust match the name of theapplication(1).

When targeting a remotelydeployed service see Section3.5 Invocation of Remote SIPServices on page 82

Note: Even though this is amulti-valued attributes, only thefirst value is used.

Mandatory Multi-value

description Description of the service. Optional Multi-value

provider Indicates the provider of theservice.

Optional Multi-value

constraints Provides additional selectioncriteria. Constraint evaluationis performed during runtimeand allows the use of sharedstate variables. Only whenall constraints evaluate totrue, or when no constraintsare specified this service isconsidered applicable.

Example:$(sip_request.method)='MESSAGE'

Optional Multi-value

101198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

globalConstraint

Reserved for future use. Optional Multi-value

certification Indicates the certification of theservice.

Optional Multi-value

type Indicates the type of services. Optional Multi-value

doResponse Reserved for future use. Optional Single-value

doRequest Reserved for future use. Optional Single-value

parameter Indicates the parametersthe service supports. ForSIP services parameters arepassed on as headers in theSIP message. The informationprovided here is used forautomatic creation of therequired call parameters in aservice template element.

Optional Multi-value

result Reserved for future use. Optional Multi-value

(1) The name of the application is printed in the server log when the application is deployed:applicationDeployed: <name>

7.2 WS IN Service Type

PubWSService Service Type is defined for WS Triggering:

This service type indicates published/triggered endpoint serviceimplementations (services).

Table 8 PubWSService attributes

Attribute Description Optional/Mandatory

Single/Multi-value

type Indicates the Service to use. Mandatory Single-value

class Indicates the class/group theService belongs to.

Optional Single-value

url Indicates 'proxy' url(s) used byService.

Optional Multi-value

parameter(1)Indicates information forauto-completion of CallParameters.

Optional Multi-value

(1) future usage

102 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix D Service Types

7.3 WS OUT Service Types

7.3.1 WSService

The ServiceType "WSService" can perform outgoing HTTP Web Servicerequests. The following table shows the attributes for the WSService:

Table 9 WSService attributes

Attribute Description Optional/Mandatory

Single/Multi-value

url Indicates 'proxy' url(s) usedby Service.

Mandatory Multi-value

srv Unique id for this service. Mandatory Single-value

available Indicates if the service isavailable for the customer

Mandatory Single-value

serviceNamespace

Namespace of WS Service Optional Multi-value

port Port of WS Service Optional Multi-value

operation Operation of WS Service Optional Multi-value

serviceName Name of WS Service Optional Multi-value

parameter Call parameter of service Optional Multi-value

result Name of the variable wherethe result of service invocationwill be stored

Optional Multi-value

responseTimeout

HTTP response time-out inmilli seconds. ( value >= 0, 0= infinite time-out)

After the time-out the HTTPrequest will fail with response"504 Gateway Time-out"

Optional Multi-value

7.3.2 RESTService

The ServiceType "RESTService" can perform outgoing HTTP Restful WebService requests. The following table shows the attributes for the RESTService:

103198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

Table 10 RESTService attributes

Attribute Description Optional/Mandatory

Single/Multi-value

url Indicates 'proxy' url(s) usedby Service.

Mandatory Multi-value

srv Unique id for this service. Mandatory Single-value

available Indicates if the service isavailable for the customer

Mandatory Single-value

serviceNamespace

Namespace of WS Service Mandatory Multi-value

serviceName The name of the WS Service Mandatory Multi-value

port Port of WS Service Mandatory Multi-value

operation Operation of WS Service Mandatory Multi-value

parameter Call parameter of service Optional Multi-value

result Name of the variable wherethe result of service invocationwill be stored

Optional Multi-value

messageType Type of message for RESTfulservices (e.g. XML, JSON )

Optional Multi-value

requestContentType

Content type of request (e.g.application/x-www-form-urlencoded)

Optional Single-value

content Content of the request Optional Single-value

responseTimeout

HTTP response time-out inmilli seconds. ( value >= 0, 0= infinite time-out)

After the time-out the HTTPrequest will fail with response"504 Gateway Time-out"

Optional Multi-value

7.4 DBService Service Type

The ServiceType "DbService" can perform SQL queries to a relationaldatabase. The following table shows the attributes for the DbService:

104 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix D Service Types

Table 11 DbService attributes

Attribute Description Optional/Mandatory

Single/Multi-value

url Indicates the JNDI name of thedatabase connector.

Read-only queries (starting withSELECT), or call to read-onlystored procedures must use aurl containing /read/.

Queries modifying data (startingwith DELETE, INSERT, UPDATE)or calls to stored proceduresor functions that modify data(starting with CALL) must use aurl containing /write/. Noticethe use of JNDI names with/read/ and /write/ is a localconvention; see Reference [4]for more details about read-onlyand write connections to theMySql Cluster database.

Mandatory Multi-value

srv Unique id for this service. Mandatory Single-value

available Indicates if the service isavailable for the customer

Mandatory Single-value

105198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

query The SQL query to execute.The syntax is based on JDBC(version 3.0) syntax; seeReference [11].

The following type of queries aresupported: SELECT, DELETE,INSERT, UPDATE and CALL.

A query can contain parameters,which are read from the serviceparameters. A parameterdefinition is surrounded bycurly braces ({}). Eachparameter consists of severalfields separated by a colon(:). The CALL statementrequires the following fields:{<paramname>:<SqlType>:[IN]|OUT|INOUT}. The otherstatements require the followingfields: {<paramname>:<SqlType>}.(1)

Examples:

SELECT * FROM tableX\WHERE columnY=\{callParamZ:VARCHAR}

CALL procedureX(\{argY:VARCHAR:IN},\{argZ:VARCHAR:INOUT})

CALL procedureX(\{argY:VARCHAR},\{argZ:VARCHAR:OUT})

Mandatory Single-value

parameters The parameters for DbService.Each parameter must matchthe <paramname> of thecorresponding field in the query.

Optional Multi-value

(1) The following SQL Types are supported: CHAR, VARCHAR, LONGVARCHAR, TINYINT,INTEGER, SMALLINT, BIGINT, DECIMAL, NUMERIC, FLOAT, REAL, DOUBLE, BIT,BOOLEAN, TIMESTAMP, TIME, DATE.

The following table shows the result variables, in which the result from theexecuted DbService is represented.

Note that the DbService can return the ResultSet values from the JDBC queryand OUT/INOUT parameters for stored procedures.

106 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix D Service Types

Table 12 DbService result variables

SSM Variable Description Presence:Unconditional/Conditional

Single/Multi-value

<result-variable>.result.<columName>[<rowNumber>]

Note: the squarebrackets containthe index ofthe multi-valuevariable. The index<rowNumber> starts from value '0'.

This variable containsthe complete result setfrom the query.

Note: the squarebrackets are part ofthe variable name andare used to return aset, which can containmultiple values.

Conditional Multi-value

<result-variable>.param.<paramname>

These variablescontain the valuesof the OUT orINOUT parametersof a stored procedure.

Conditional Single-value

107198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

<result-variable>.responseCode

Indicates whetherthe query executionwas successful. Thefollowing list describesthe meaning of thedifferent values:

• '0': querywas executedsuccessfully.

• '-1': DbServiceinternal erroroccurred.

• '-2': JDBC Driverinternal erroroccurred.

• >0: Any positive,non-zero valuerepresents an SQLerror code from thedatabase.

Unconditional Single-value

<result-variable>.responseCause

If the variable"<result-variable>.responseCode"value was non-zero,then this variableindicates details aboutthe actual error.

Conditional Single-value

108 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix E Examples

8 Appendix E Examples

8.1 Accessing Response from Service

Response from a service can optionally be parsed (see description on 'ParseResult' in Section 2.5.2 on page 41) but will in all cases also be available asthe original raw response from the executed service. This example showshow this information can be accessed.

Using the raw response of a service can be done in case of xml by using anXPATH operation. For example, the following XPATH expression extracts the<feed>, <entry>, <title> element from the xml response shown below: XPATH($(ws_response.raw-response),'/feed/entry/title') resulting inthe string "Google Calendar Access Demo".

Additionally, when the optional 'Parse Result' is true, the same stringcould be extracted from the Shared State using the following variable:$(ws_response.feed.entry.title), where ws_response is the 'ResultVariable' and feed.entry.title is the path to the requested leaf elementin the raw response.

The example response below has been reduced to its essentials to improvereadability (skipped parts are marked by elipsis).

<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' ...

...<author><name>Test Account</name><email>[email protected]</email>

</author><generator version='1.0' uri='http://www.google.com/\

calendar'>Google Calendar</generator><gCal:timezone value='Europe/Amsterdam'/><gCal:timesCleaned value='0'/><entry>...<title type='html'>Google Calendar Access Demo</title>...<author>

<name>Test Account</name><email>[email protected]</email>

</author></entry>

</feed>

Note that the selection in this case is based on the subsequent xml tags<feed>, <entry> and <title ...>.

109198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

110 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Appendix F Deployment of Services on target system

9 Appendix F Deployment of Services ontarget system

9.1 Changing internal URLs for WsService andRestService

If Services of the type "WsService" or "RestService" are to be deployed onto thetarget system, addressed by an internal URL (URL of the own target system),then additional actions are needed:

The "WsService" or "RestService" URL of the own target system must usethe following port value:ssh root@<target-system-host/ip><password>rsh DAS asadmin get ⇒'traffic.http-service.http-listener.http-listener-ws.port'

If the result is a number, then use this as the port number in the URL of theservice.

If the result contains a system property name, the port number value can beretreived as follows:rsh DAS asadmin get ⇒'default-cluster-config.system-property.\${<system-propery-name}'

Background:

If a skeleton, triggered by an HTTP request (WS triggering), executes aWsService or RestService call to a local web service, then it will be handledby the same HTTP listener/server. If during high load the queue of this HTTPlistener/server is full, it results in deadlock situation. This problem is solved byintroducing a virtual server, which handles the local HTTP requests to avoida deadlock. It is important to use the correct URL of the local/internal HTTP(virtual) server in the URL of the WsService or RestService. For this mechanismto be effective, the port for the virtual HTTP server (virtual-server-ws) must notbe used for external requests.

Note: when recursive triggering of skeletons is used, this mechanism isnot sufficient and deadlocks might still occur. For this reason also the"responseTimeout" property must be used for the WsService or RestService.

111198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

112 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Glossary

Glossary

See Ericsson Composition Engine, Glossary(Reference [1]).

113198 17-CXP 904 0086/21 Uen G | 2010-10-27

Ericsson Composition Engine, Advanced Composition Editor User's Guide

114 198 17-CXP 904 0086/21 Uen G | 2010-10-27

Reference List

Reference List

Ericsson Documents

[1] Ericsson Composition Engine, GlossaryTERMINOLOGY, 0033-HSC 901 024/1 Uen

[2] Ericsson Composition Engine, Advanced Composition Programmer'sGuidePROGRAMMER'S GUIDE, 198 17-CXP 904 0067/21 Uen

[3] Ericsson Composition Engine, Advanced Composition Building BlocksUser's GuideUSER INSTRUCTIONS, 1/198 17-CXP 904 0086/21

[4] Ericsson Composition Engine, Programmer's GuideUSER INSTRUCTIONS, 1/198 17-APR 901 0383 Uen

[5] Ericsson Composition Engine, Advanced Composition SystemAdministration GuideSYSTEM ADM. GUIDE, 1543-CXP 904 0067/21 Uen

Online References

[6] JSR289 SIP Servlet 1.1

[7] IETF RFC3261 (SIP: Session Initiation Protocol)

[8] Simple Object Access Protocol (SOAP) Specifications

[9] OpenLDAP Administrator's Guide: Schema Specification

[10] Java 1.6 java.text.SimpleDateTime Javadoc

[11] JSR 54: JDBC(TM) 3.0 Specification

115198 17-CXP 904 0086/21 Uen G | 2010-10-27