Skip Headers
Oracle® Communications Service Broker Orchestration Studio User's Guide
Release 6.0

Part Number E23532-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

2 Building an Orchestration Logic Flow

This chapter describes how to use the Orchestration Studio to create a basic orchestration logic flow.

About Building Orchestration Logic with the Orchestration Studio

The process of building an orchestration logic flow with the Orchestration Studio consists of adding components of the flow to the canvas, specifying parameters of these components, and defining the flow between the components. The components being configured and connected to each other, comprise an orchestration logic flow. See "About Components of an Orchestration Logic Flow" for more information about components of an orchestration logic flow.

Using the Orchestration Studio, you can build the following types of orchestration logic flows:

Depending on whether you want to build a conditional or unconditional orchestration logic flow, you need to add and configure different Orchestration Studio components.

About Building a Conditional Orchestration Logic Flow

In a conditional orchestration logic flow, the OE routes the session to different IMs based on the conditions that you set. For example, you can specify that the OE invokes a bill shock prevent application only if the From header of the message contains a specific subscriber.

When building a conditional orchestration logic flow, you use the following components of an orchestration logic flow :

  • Conditions, which define parameters whose values must be checked

  • IM, to which the OE routes the session when the conditions are met

  • IM, to which the OE routes the session when the conditions are not met

  • Connector lines, which connect conditions and IMs

Figure 2-1 shows the orchestration logic where the session continues to the IM-SSF (see the Yes branch in the figure), if the conditions are met and to the IM-OCF (see the No branch in the figure), if the conditions are not met.

Figure 2-1 Conditional Orchestration Logic Flow

Graphic shows a conditional flow

About Conditional Parameters

A condition can consist of one or more conditional parameters:

  • SIP Request: Specifies the URI of the destination application server. Type the URI in the right pane, using the following format: sip:service@sip address:port number

  • Session Description: Specifies the session type to be communicated between the two end parties, for example, an audio session. This parameter is used when the content type of the message body is "application/sdp". The OE checks each line in the incoming message until it identifies the line you specify and then matches it against the specified content.

  • SIP Method: Specifies the SIP method used in the incoming session. In the right pane, type the SIP method in the Method field.

  • SIP Header: Specifies a header and the contents of this header. You can specify any standard SIP header as well as any custom header.

    For example, if you want to check whether the From header is set to "john", in the Header field, type To. In the Content field, type john.

  • Tag: Describes the tags set in the x-wcs-tags header.

About Grouping Conditions

You can build conditions of any complexity. Regardless of the complexity of a condition, you combine conditions into groups. After you added conditions to a group, you specify the logical operators AND or OR to be used between the conditional parameters of the same group and between different groups.

There are the following scenarios of how conditions can be grouped:

  • Condition that consists of one conditional parameter

    For example, you can add the condition SIP Method=INVITE. In this condition, there is only one group. This group contains the conditional parameter SIP Method whose value is set to INVITE.

    See "Adding Conditions with One Conditional Parameter" for more information about adding these conditions.

  • Condition that consists of multiple conditional parameters connected by AND or OR operators

    For example, you can define the condition SIP Method=INVITE OR SIP Method=INFO OR SIP Method=SUBSCRIBE. In this condition, there is only one conditional group. The logical operator used between these conditional parameters is OR.

    See "Adding Conditions with Multiple Conditional Parameters" for more information about adding these conditions.

  • Condition that consists of multiple conditional expressions with each expression containing several conditional parameters. The conditional expressions are connected by AND or OR operators.

    For example, you can define the condition (SIP Method=INVITE OR SIP Method=INFO) AND (From=John OR From=Paul). In this condition, there are two conditional groups:

    • The first group contains the conditional parameter SIP Method set to INVITE and another conditional parameter SIP Method set to INFO. The logical operator used between these conditional parameters is OR.

    • The second group contains the conditional parameter From set to John and another conditional parameter From set to Paul. The logical operator used between these conditional parameters is OR.

    The logical operator used between the groups is AND.

    See "Adding Conditions with Multiple Conditional Expressions" for more information about adding these conditions.

About Building an Unconditional Orchestration Logic Flow

In an unconditional orchestration logic, the OE routes the session to the next application without checking any conditions.

When building an unconditional orchestration logic flow, you use the following components of an orchestration logic flow:

  • Conditions without any parameters defined

  • IM, to which the OE routes the session

  • Connector line, which connects conditions and IMs

Figure 2-2 shows the orchestration logic where the session always continues to the IM-SSF (see the Yes branch in the figure).

Figure 2-2 Unconditional Orchestration Logic Flow

Graphic shows an unconditional flow

Building a Conditional Orchestration Logic Flow

In a conditional orchestration logic flow, the OE routes the session to different IMs based on the conditions that you set.

When you build a conditional orchestration logic flow, you perform the following actions:

  1. Building a flow. See "Building a Flow" for more information.

  2. Defining conditions. See "Adding Conditions" for more information.

  3. Specifying the alias of the IMs that communicate with the applications to which you want the OE to route the session. See "Specifying IMs" for more information.

Building a Flow

To build a flow:

  1. Do one of the following:

    • If you want to create an orchestration logic flow for an existing subscriber profile, go to the next step.

    • If you want to create an orchestration logic flow for a new subscriber profile, create a new subscriber profile using SM-LSS. For more information, see the discussion on configuring SM-LSS in Oracle Communications Service Broker Processing Domain Configuration Guide.

  2. Click the Studio tab.

    The Orchestration Studio configuration screen appears.

  3. In the iFC list, select the subscriber profile for which you want to create an orchestration flow.

  4. Drag-and-drop the Condition icon to the canvas.

  5. Add conditional parameters. See "Adding Conditions" for more information.

  6. Connect the Start icon with the input connection point of the condition icon.

  7. Drag-and-drop the IM to which the OE routes the session if the conditions are met.

  8. Connect the Yes connection point of the condition with the top connection point of the IM icon.

  9. Drag-and-drop the IM to which the OE routes the session if the conditions are not met.

  10. Connect the No connection point of the condition with the top connection point of the IM icon.

  11. Specify aliases of both IMs as described in "Specifying IMs".

  12. If required, add more conditions and connect them to the bottom connection point of IM icons.

Adding Conditions

The following sections describe how you can add conditions. See "About Grouping Conditions" for more information about conditions.

Adding Conditions with One Conditional Parameter

To add a condition with one conditional parameter:

  1. On the canvas, select the condition icon.

  2. In the Properties/Actions pane, click the Actions tab.

  3. In the Actions tree, select the Trigger Points node.

  4. Create a group by selecting the Trigger Points node and clicking New Group.

    The Group subnode appears.

  5. Select the newly created group.

  6. Depending on the parameter that you want to check, click one of the following buttons:

    • SIP Request

    • Session Description

    • SIP Method

    • SIP Header

    • Tag

    The field in which you can define the value of the parameter appears.

  7. Provide the value of the parameter. If you want to negate the condition, in the ConditionNegated list, select Yes.

Adding Conditions with Multiple Conditional Parameters

To add a condition with multiple conditional parameters connected by AND or OR:

  1. On the canvas, select the condition icon.

  2. In the Properties/Actions pane, click the Actions tab.

  3. In the Actions tree, select the Trigger Points node.

  4. In the Condition Type list, select one of the following options:

    • If you want to add multiple conditional parameters connected by AND (for example, SIP Method=INVITE AND SIP Header From=John), select OR set of ANDs.

    • If you want to add multiple conditional parameters connected by OR (for example, SIP Method=INVITE OR SIP Method=INFO), select AND set of ORs.

  5. Create a group by selecting the Trigger Points node and clicking New Group.

    The Group subnode appears. The Orchestration Studio automatically assigns the number to the newly created group. Repeat this step for each group that you want to create.

  6. Select the Group node.

  7. Depending on the conditional parameter that you want to check, click one of the following buttons:

    • SIP Request

    • Session Description

    • SIP Method

    • SIP Header

    • Tag

    The field in which you can define the value of the parameter appears.

  8. Provide the value of the parameter. If you want to negate the condition, in the ConditionNegated list, select Yes.

Adding Conditions with Multiple Conditional Expressions

To add a condition with multiple conditional expressions:

  1. On the canvas, select the condition icon.

  2. In the Properties/Actions pane, click the Actions tab.

  3. In the Actions tree, select the Trigger Points node.

  4. In the Condition Type list, select the option that determines the relationship between conditional group members and between groups (see "About Grouping Conditions" for more information about groups):

    • If you want to add multiple conditional expressions connected by OR with each expression consisting of conditional parameters connected by AND (for example, (SIP Method=INVITE AND SIP Header From=John) OR (SIP Method=INVITE AND SIP Header From=Paul)), select OR set of ANDs.

    • If you want to add multiple conditional expressions connected by AND with each expression consisting of conditional parameters connected by OR (for example, (SIP Method=INVITE OR SIP Method=INFO) AND (SIP Header From=John OR SIP Header From=Paul)), select AND set of ORs.

  5. Create a group by selecting the Trigger Points node and clicking New Group.

    The Group subnode appears. The Orchestration Studio automatically assigns the number to the newly created group. Repeat this step for each group that you want to create.

  6. Select the group node to which you want to add conditional parameters.

  7. Depending on the parameter that you want to check, click one of the following buttons:

    • SIP Request

    • Session Description

    • SIP Method

    • SIP Header

    • Tag

    The field in which you can define the value of the parameter appears.

  8. Provide the value of the parameter. If you want to negate the condition, in the ConditionNegated list, select Yes.

Specifying IMs

To specify the IM to which the OE routes the session:

  1. On the canvas, select the IM icon.

  2. In the Properties/Actions pane, click the Properties tab.

  3. In the Server Name field, type the alias of the IM that communicates with the application to which the OE routes the session.

Building an Unconditional Orchestration Logic Flow

In an unconditional orchestration logic, the OE routes the session to the next application without checking any conditions.

When you build an unconditional orchestration logic flow, you perform the following actions:

  1. Building a flow. See "Building a Flow" for more information.

  2. Specifying the alias of the IM that communicates with the application to which you want the OE to route the session. See "Specifying IMs" for more information.

Building a Flow

To build a flow:

  1. Do one of the following:

    • If you want to create an orchestration flow for an existing subscriber profile, go to the next step.

    • If you want to create an orchestration flow for a new subscriber profile, create a new subscriber profile using SM-LSS. For more information, see the discussion on configuring SM-LSS in Oracle Communications Service Broker Processing Domain Configuration Guide.

  2. Click the Studio tab.

    The Orchestration Studio configuration screen appears.

  3. In the iFC list, select the subscriber profile for which you want to create an orchestration flow.

  4. Drag-and-drop the Condition icon to the canvas.

  5. Connect the Start icon with the input connection point of the condition icon.

  6. Drag-and-drop the IM icon to the canvas.

  7. Specify the alias of the IM as described in "Specifying IMs".

  8. If required, add more conditions and connect them to the bottom connection point of the IM icon.

Specifying IMs

The process of specifying IMs is the same as for the conditional orchestration logic flow. See "Specifying IMs" for more information.

Saving an Orchestration Logic Flow

You can save an orchestration logic flow at any time. Before saving, the Orchestration Studio checks whether the flow starts with the Start icon connected to the Condition icon that represents the first check in the flow.

If the Start icon is not connected to the Condition icon, the flow is invalid. The Orchestration Studio does not allow you to save an invalid flow. To save the flow, you need to connect the Start icon to the Condition icon.

To save an orchestration logic flow:

Removing an Orchestration Logic Flow or its Parts

You can remove any of the components:

Removing an Orchestration Logic Flow

To remove an orchestration logic flow:

  1. In the Orchestration Studio, select the name of the orchestration logic flow you want to remove from the iFC drop-down list.

    The saved flow is displayed.

  2. Click Clear on the menu bar.

    Alternatively, on the tool bar, you can click Select All and then click Delete Selected.

  3. Click Save on the menu bar and Commit from the banner.

    All icons and their settings in the flow are removed from the canvas.

    The orchestration logic file is removed from the database and from the profile name under which it was stored.

    Note:

    Removing an orchestration logic flow does not remove the subscriber profile. You remove a subscriber profile in SM-LSS. For more information, see the discussion on configuring SM-LSS in Oracle Communications Service Broker Processing Domain Configuration Guide.

Removing Conditions and IMs from an Orchestration Logic Flow

To remove selected icons from the flow:

  1. Ctrl-click the icons on the canvas you want to remove.

  2. Click Delete Selected from the tool bar.

    The selected icons are removed from the flow.

  3. Make sure you have not invalidated the flow by clicking Save.

    If you have invalidated the flow, a message appears on the screen explaining why.

Removing Conditions

To delete a group:

  1. In the canvas, select the Condition icon containing the group you want to remove.

  2. In the Actions tab, under Trigger Points, select the group you want to remove and click Delete.

    The group and all condition elements belonging to it are removed.

To delete individual conditions:

  1. In the canvas, select the Conditions icon containing the SIP method or methods you want to remove.

  2. In the Actions tab, under Trigger Points, select the SIP method under the Group number to which it belongs and then click Delete.

Removing Connector Lines from an Orchestration Logic Flow

To remove a connector line:

  • Select a connector line in the canvas and click Delete Selected from the tool bar.

    Alternatively, you can press the Delete key.

    Only one connection line can be deleted at a time.