A composition service is invoked using an <invoke> element.

Below are possible attributes and child elements for an <invoke> element, plus an example script and diagram:

Example

The following script invokes composition services using the <invoke> element with different options. The first service (VPN) will use a timeout value of 1500 ms; the second service (HomeZone) will use all the defaults; and the last service (PrePay) is so important that if it times out, the processing of the service composition will be terminated.

VIA diagram

invoke options

Script XML

<script>
    <invoke service="VPN" timeout="1500"/>
    <invoke service="HomeZone"/>
    <invoke service="Prepay" on-timeout="terminate-processing"/>
</script>

Attributes and child elements

Below are possible attributes and child elements for an <invoke> element

Attributes

Name Description Optional?
 service

The service to be invoked. Must refer to a service defined in the SIS (using a service reference).

 timeout

Specifies the timeout period, measured in milliseconds, that the SIS will wait for a response from the service when required. If present, this timeout overrides the default timeout configured for the service.

 on-timeout

Specifies the behaviour the SIS will take if a service response timeout (or other service failure) occurs at any time for the invoked service. The supported values for this attribute are:

  • ignore-service-and-continue — remove the service from further interaction with the composition and continue delivery of any current event to the next service

  • terminate-processing — terminate processing of the current event; if no terminate child element is specified then, if relevant, the SIS will send a response to the network based on event processing thus far, otherwise the SIS will take the action specified by the terminate element.

Warning The behaviour of the terminate-processing action with no terminate child element changed between SIS 2.4.0 and SIS 2.5.0. Please refer to the change log included in the distribution package for information on the previous behaviour and how that behaviour can be specified in the composition.

The default value if this attribute is not specified is ignore-service-and-continue.

Child elements

Name Description Optional?
 service-input-interceptor

A service input interceptor. The SIS evaluates this input interceptor before it delivers any event to the service.

 service-output-interceptor

A service output interceptor. The SIS evaluates this output interceptor whenever the service generates output intended for the network.

 terminate

This element can only be specified if the on-timeout attribute is set to terminate-processing. It specifies a terminate clause that the SIS will use to send a response for the current event.

 message-handling-options

This element specifies configurable options for how the SIS manages specific messages received from the service.

 extension-options

Specifies arbitrary extension options supported by the SIS for service invocation. This is a collection of extension-option elements each with a name and optional value. See the extension options currently supported for <invoke> elements.

Extension options supported by <invoke> elements

Option Description Required Value
 SIP:traffic-reduce

This option can be used if you want to invoke a SIP service, but want to reduce the amount of SIP traffic to that service by only passing it the initial request, then excluding it from the call.

When this option is present, the SIS invokes the service by sending it the initial request. When the service forwards the request, the SIS sends an error response (default: 500) to the service so that it will no longer take part in the call. The request forwarded by the service continues with the remainder of the composition. Responses to the initial request and subsequent requests in the call will not be passed to the service.

The extension-option element may include a <reject> element as seen in terminate clauses for SIP. If present, the status code, reason phrase and headers in the <reject> element will be included in the error response passed to the service. For example, to generate a custom 599 response:

<invoke service="MyService">
  <extension-options>
    <extension-option name="SIP:traffic-reduce">
      <sip:reject status-code="599" reason-phrase="Traffic Reduce">
        <sip:header name="Reason" value="SIP;cause=599;text=&quot;Traffic Reduce&quot;"/>
      </sip:reject>
    </extension-option>
  </extension-options>
</invoke>

n/a

 IN:accept-non-continuing-close

Typically, if the SIS is expecting a response from an IN service and that service just closes the dialog to the SIS without first providing a response, the SIS will regard this as an error condition. However if this extension option is specified, the SIS will instead behave as if the service provided a Continue response before the dialog was closed.

n/a

 IN:proxied-invoke-timer-long

When an operation invoke is sent by an external IN service to the SIS, the timeout period specified for the invoke is not included in the wire protocol message that the SIS receives. When the SIS forwards an operation invoke from an external service to the network, it needs to specify its own invoke timeout period for that operation. The default invoke timeout configured for the SIS or service is adequate for most operations; however operations with "long" timers (Play Announcement, Prompt and Collect User Information) may need longer timeout periods for correct operation. This extension option allows a longer default timeout period to be specified for the service for these long timer operations.

A long integer value greater than or equal to zero specified in millisecond units.

 ECS1:allow-camel-style-apply-charging

The Ericsson INAP CS1 specification states that an Apply Charging request may only be sent by a service if the BCSM is suspended at a detection point. However an operator customisation exists that allows Apply Charging requests to be sent while the BCSM is in any valid state, the same as in CAMEL protocols. This extension option allows the CAMEL behaviour for Apply Charging to be supported for Ericsson INAP protocol dialogs (both CS1 and CS1+).

n/a

Previous page Next page