This feature optionally plays an announcement based on the response status when an INVITE error response is being forwarded to the calling party during call setup.

Details

Feature name

ErrorCodeAnnouncement

Applicable contexts

SIP service

SAS Support

Yes

Prerequisite features

None

Session State inputs and outputs

Inputs

Name Type Purpose

SentinelSelectionKey

SentinelSelectionKey

Used to select error code mappings.

EarlyMediaAnnouncementInfoQueue

List<SipAnnouncementInformation>

Used to see if announcements have already been set.

EarlyMediaAnnouncementInProgress

boolean

Used to determine if an announcement is already playing.

Outputs

Name Type Purpose

EarlyMediaAnnouncementInfoQueue

List<SipAnnouncementInformation>

Used to set a new announcement.

EndSessionAfterAnnouncement

int

Used to select a response status to terminate the call with after an announcement is played.

Configuration

This feature uses profile configuration to map SIP error response codes to announcements to be played. These mapping are kept in a profile table called ErrorCodeAnnouncementMappingTable. Entries in the table are scoped by selection key along with the value of the error code they correspond to. For example, a profile may be named: Metaswitch:Metaswitch::::404.

Each profile has the following fields:

Name Type Description

ErrorCode

String

The error code the mapping applies to. Can be set to DEFAULT to apply to all error codes not otherwise included on the table. Must be equal to the final part of the profile name.

AnnouncementID

long

The ID number of the announcement to be played for the error code. Use 0 (or none in the provisioning interface) to explicitly prevent an announcement from being played.

EndCallWith487Response

boolean

If true, after the announcement is finished, the call will be terminated with a 487 response. If false, the call will be terminated using the original error response code that triggered the announcement.

Provisioning interfaces

The feature is provisioned using the Sentinel Features REST API or web interface.

Statistics

ErrorCodeAnnouncement statistics are tracked by the sentinel.sip SBB and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.sip service → sentinel.sip SBB → feature → ErrorCodeAnnouncement
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.sip,vendor=OpenCloud,version=3.0.0].SbbID[name=sentinel.sip,vendor=OpenCloud,version=3.0.0].feature.ErrorCodeAnnouncement"

Name Type Description
Started

Counter

Incremented when the feature is triggered.

FailedToStart

Counter

Incremented when the feature fails to start.

FailedDuringExecution

Counter

Incremented when the feature fails while executing.

IssuedWarning

Counter

Incremented when the feature issues a warning.

TimedOut

Counter

Incremented when the feature times out during execution.

PlayingAnnouncement

Counter

Incremented when the feature queues an announcement to be played.

SkippingDueToAnnouncementInProgress

Counter

Incremented when the feature skips response analysis because an announcement has already been set.

Behaviour

The feature is triggered by any incoming SIP response received during call setup.

Before attempting to play an announcement, the feature will check that a number of conditions have been met:

  1. No other announcement is in progress or has been queued to play.

  2. The incoming response is a 4xx, 5xx, or 6xx response to an initial INVITE request.

  3. The response was received on a leg that is linked to another leg.

  4. A response with the same status code has been queued to be sent on the linked leg.

If any of these conditions are not met, the feature will finish execution without attempting to play an announcement.

If the conditions are met, then the feature will check the ErrorCodeAnnouncementMappingTable for a profile that matches both the status code of the incoming response, and the current Sentinel selection key. If no such profile is found the feature will look for a profile labelled DEFAULT (while still matching the selection key).

If a profile is found using either method, and it indicates that an announcement should be played (i.e. the profile has a non-zero AnnouncementID); then the feature will queue an announcement with the indicated AnnouncementID. The feature will also give an instruction to terminate the call after the announcement has been played. Depending on the value of the EndCallWith487Response field on the profile, the status code of the response used to terminate the call will either be 487, or the code from the original incoming response.

In the event no profile is found, the feature will finish execution without queuing an announcement.

The SIP Play Announcement Feature is responsible for actually playing the announcement.

Previous page Next page
Sentinel Express Version 3.0.0