A terminate clause says what to do if no selector in a trigger succeeds in finding a valid composition.

When the SIS encounters a terminate clause it will stop further trigger evaluation, and may send a protocol-specific message to the network to terminate call handling. The base XML schema for triggers defines the simplest terminate clause, the empty <terminate> element. If the SIS encounters this terminate clause, it will perform its default termination action.

For IN, the terminate clause defines whether the termination should be recorded in statistics as a success or failure outcome. Where appropriate, the terminate clause also defines how the SIS terminates the dialog with the dialog-termination parameter. Valid values for this parameter are:

  • none — The SIS will not terminate the dialog

  • close — The SIS sends the response within a TC_END (with basic end)

  • user-abort — The SIS sends the response within a TC_CONTINUE then tears down the dialog with a TC_U_ABORT.

The default terminate action is to respond with a User Error with error code missing-customer-record, and to abort the dialog. This is recorded in statistics as a failure outcome.

For SIP, the default termination action is to send a Forward response, to forward the request to the next hop.

Terminate clauses for IN

The following terminate clauses may be used in an SIS IN trigger definition: User Error, Continue, Release, Connect, ConnectSMS, Redirect, Relay, No Response.

User Error

Description

A User Error response. The error response code may be unexpected-data-value, missing-parameter, or missing-customer-record.

Example: XML

<in:terminate record-as-reject="true">
    <in:user-error reason="missing-customer-record" dialog-termination="user-abort"/>
</in:terminate>

Example: VIA

missing cust record

Continue

Description

A Continue or ContinueSMS response. The SIS resumes the dialog state model and the call or SMS continues in the network using default call handling.

Example: XML

<in:terminate record-as-reject="false">
    <in:continue dialog-termination="close"/>
</in:terminate>

Example: VIA

continue close

Release

Description

A ReleaseCall or ReleaseSMS response. The SIS releases the call or SMS, with the specified cause code.

Example: XML

<in:terminate record-as-reject="true">
    <in:release cause-code="31" dialog-termination="close"/>
</in:terminate>

Example: VIA

release

Connect

Description

A Connect response. The SIS redirects the call to the specified destination routing address, described by an XML <called-party-number> element as specified in [1 Pre-defined Datatypes]. This termination response can only be used with initial triggers on call control dialogs.

Example: XML

<in:terminate record-as-reject="false">
    <in:connect dialog-termination="close">
            <called-party-number
                  nature="NATIONAL"
                  routing-to-internal-network-number="ALLOWED"
                  numbering-plan="ISDN"
                  address="123456789"/>
    </in:connect>
</in:terminate>

Example: VIA

connect

ConnectSMS

Description

A ConnectSMS response. The SIS redirects the SMS to the specified destination subscriber number, described by an XML <called-party-bcd-number> element as specified in [1 Pre-defined Datatypes]. This failure response can only be used with initial triggers on CAPv3 or CAPv4 SMS dialogs.

Example: XML

<in:terminate record-as-reject="false">
    <in:connect-sms dialog-termination="close">
        <called-party-bcd-number
            number-type="NATIONAL"
            numbering-plan="ISDN"
            address="987654321"/>
    </in:connect-sms>
</in:terminate>

Example: VIA

connectsms

Redirect

Description

A Connect or ConnectSMS response. The SIS uses its configured redirect behaviour to redirect the call by issuing a Connect or ConnectSMS with the redirect prefix (from either a specified constant value or a variable) in the destination routing address or destination subscriber number.

Example: XML

<in:terminate record-as-reject="false">
    <in:redirect
        idd-prefix="00"
        country-code="44"
        redirect-prefix="9876"
        dialog-termination="close"/>
</in:terminate>

Example: VIA

in redirect

Relay

Description

A Relay response. A dialog is opened towards the target external platform and the initial request is relayed to it, after which the incoming and relayed dialogs are terminated locally. Further communication on the dialog continues directly between the dialog originator and the external platform. A nested terminate clause must be specified for this option, which is invoked in the event the relay fails (for example, if an outgoing dialog cannot be created, or a TC_CONTINUE has already been sent on the incoming dialog).

Example: XML

<in:terminate record-as-reject="false">
    <in:relay target="some-relay-target">
        <in:on-failure record-as-reject="true">
            <in:release cause-code="31" dialog-termination="close"/>
    </in:on-failure>
    </in:relay>
</in:terminate>

Example: VIA

in relay

No Response

Description

No response is sent. The value of the dialog-termination attribute determines what the SIS will do with the dialog.

Example: XML

<in:terminate record-as-reject="true">
    <in:no-response dialog-termination="user-abort"/>
</in:terminate>

Example: VIA

in no response

Terminate clauses for SIP

The following terminate clauses may be used in an SIS SIP trigger definition: Reject, Forward.

Reject

Description

A Reject response. A reject status code must be specified (in the range 300-699), along with an optional reason phrase. Any number of additional headers may also be included in the response.

Example: XML

<sip:terminate>
    <sip:reject status-code="503" reason-phrase="Service not available">
          <sip:header name="..." value="..."/>
    </sip:reject>
</sip:terminate>

Example: VIA

sip reject

Forward

Description

A Forward response. An optional target URI may be specified. Any number of additional headers may also be included in the response.

Example: XML

<sip:terminate>
    <sip:forward uri="...">
        <sip:header name="..." value="..."/>
    </sip:forward>
</sip:terminate>

Example: VIA

sip forward
Previous page Next page