Description

Feature name

EndMidSession

Applicable contexts

SIP Service

SAS Support

No

Prerequisite Features

None

Sentinel mid session feature to notify the Sentinel core to end the call. When notifying the core the cause code is determined according to the following pseudo-code:

    FUNCTION determineCauseCode()

        // an error set by another feature takes highest precedence
        cause = sessionState.getUserEndSessionCause()
        IF cause IS SET
            return cause

        // otherwise try to determine the release cause from the latest CCA
        cause = determineCauseFromCCA(sessionState.getLatestOcsAnswer())
        IF cause IS SET
            return cause

        // otherwise use a default
        return SipResponse.SC_FORBIDDEN


    FUNCTION determineCauseFromCCA(cca)

        //if there was no CCA, we cannot determine a code from there; CALL_REJECTED will be set
        if cca IS UNSET
            return null

        SWITCH (cca.getResultCode())
            CASE DiameterCcaResultCode.DIAMETER_USER_UNKNOWN
                return SipResponse.SC_NOT_FOUND
            CASE DiameterCcaResultCode.DIAMETER_CREDIT_LIMIT_REACHED
                return SipResponse.SC_PAYMENT_REQUIRED
            CASE DiameterResultCode.DIAMETER_SUCCESS
                return determineCauseFromMscc(cca)
            DEFAULT
                return SipResponse.SC_FORBIDDEN

Supports ‘sip_trigger’, ‘http_trigger’ and ‘sipcall’ session types.

Session state inputs and outputs

Inputs

Name Type Format Description Behaviour if null/invalid

SessionType

com.opencloud.sentinel.common.SessionType

One of: sip_trigger, http_trigger, sipcall

Session type of this call for choosing how to determine cause code from LatestOcsAnswer

Report featureFailedToExecute, featureHasFinished

UserEndSessionCause

Integer

Any release code

A pre-determined release cause

Attempt to determine cause from LatestOcsAnswer

LatestOcsAnswer

org.jainslee.resources.diameter.ro.types.CreditControlAnswer

Credit-Control-Answer

For determining release cause code if the UserReleaseCause is not set

Use default call release cause SC_FORBIDDEN

Outputs

This feature does not modify session state.

Error scenarios

Scenario Handling

SessionType is not supported

Report featureFailedToExecute

Feature responses

Response Reason

featureHasFinished

feature has finished

featureFailedToExecute

Invalid session type — trigger should be one of sip_trigger, http_trigger, or sipcall

Configuration

This feature is not configurable.

Provisioning interfaces

This feature has no provisioning interfaces.

Previous page Next page
Sentinel Express Version 2.8.0