Features in Sentinel SIP interact with EventManagers to control the behaviour of the system. Feature execution scripts can use conditions containing predicates which expose the internal state of the EventManagers.

Below are details of LegManager and ChargingManager predicates.

LegManager predicates

Predicate name Supersedes True when…​

LegManager.endSession

feature.endSession

a feature has requested endSession in this execution point

LegManager.currentLeg

there is a leg active at the current execution point

LegManager.currentLinkedLeg

the current execution point has an active leg linked to a second leg

LegManager.currentLeg.releaseLeg
LegManager.currentLinkedLeg.releaseLeg

feature.releaseLeg

there is a pending releaseLeg on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.pendingMessage
LegManager.currentLinkedLeg.pendingMessage

feature.sendMessage
feature.sendCancel

there is a pending message on the specified leg (currentLeg and currentLinkedLeg)

LegManager.proxyAndDoNotRecordRoute

feature.proxyAndDoNoRecordRoute

there proxyAndDoNotRecordRoute instruction on the triggering leg

LegManager.currentLeg.parallelFork
LegManager.currentLinkedLeg.parallelFork

feature.parallelFork

there is a pending parallelFork on the specified leg (currentLeg and currentLinkedLeg)

LegManager.detachAll

feature.terminateProcessing

detachAll has been requested

LegManager.currentLeg.upstreamFork
LegManager.currentLinkedLeg.upstreamFork

feature.upstreamFork

there is a pending upstreamFork on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.downstreamFork
LegManager.currentLinkedLeg.downstreamFork

feature.downstreamFork

there is a pending downstreamFork on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.endInviteSession
LegManager.currentLinkedLeg.endInviteSession

there is a pending endInviteSession on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.endSubscription
LegManager.currentLinkedLeg.endSubscription

there is a pending endSubscription on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.detachFromLeg
LegManager.currentLinkedLeg.detachFromLeg

there is a pending detachFromLeg on the specified leg (currentLeg and currentLinkedLeg)

LegManager.currentLeg.hasEndingInstruction
LegManager.currentLinkedLeg.hasEndingInstruction

any of detachAll, detachFromLeg, proxyAndDoNotRecordRoute, endSession, or releaseLeg are true; used as a convenience method to simplify execution script logic

ChargingManager predicates

Predicate name Supersedes What it indicates

ChargingManager.charging

feature.doNotCharge
feature.ceaseCharging

a charging instance exists

ChargingManager.sessionCharging

a session charging instance exists

ChargingManager.sessionCharging.reservation

feature.doCreditCheck

a feature has requested credit reservation

ChargingManager.sessionCharging.finalisation

a feature has requested credit finalisation

ChargingManager.immediateCharging

an immediate event charging instance exists

ChargingManager.immediateCharging.directDebit

a feature has requested a direct debit

ChargingManager.immediateCharging.refund

a feature has requested a refund

Previous page Next page