In this section:
For deployments requiring notifications when calls are set up by the SBC, you can configure the SBC to send SIP NOTIFY messages to a specified Application Server when a call's calling party or called party matches criteria you specify. Application Servers do not need to subscribe (send a SUBSCRIBE message) to receive these call notifications. Instead, through configuration, you specify the call criteria that triggers the SBC to send call notifications and which server should receive the notifications. This feature is applicable to SBC deployments using the Embedded Routing Engine (ERE) for routing and policy management, and not to deployments that use an external PSX.
Using the NOTIFY message format specified in RFC 4235, when the calling party or called party matches the configured criteria, the SBC sends notifications corresponding to four events within the span of a call:
- Call created event
- For a calling party match - On receiving an initial INVITE request, if the calling party matches, the SBC sends a call created event (NOTIFY) for the ingress leg to the server specified in the matching criteria.
- For a called party match - While sending an initial INVITE request toward the egress side, if the called party matches, the SBC sends a call created event (NOTIFY) for the egress leg to the server specified in the matching criteria.
- Call progress/ringing event
- The SBC sends a NOTIFY for the matched calling/called party for the ingress/egress leg after receiving/sending a 18x message.
- Call connected event
- The SBC sends a NOTIFY for the matched calling/called party for the ingress/egress leg after receiving a 200 OK response to the initial INVITE.
- Call terminated event
- The SBC sends a NOTIFY for the matched calling/called party for the ingress/egress leg upon call termination.
The SBC does not send notifications for Re-INVITE and UPDATE messages or their responses.
Configuration Overview
The SBC provides four configuration entities that you use together to specify the call criteria the ERE compares against calls and to provide information about the servers (call notification servers) to notify in the event of a match:
- cnsGroupProfile – contains information on up to 8 servers to receive call notifications, and specifies how to distribute the notifications among the servers (through the
loadDistribution
flag). The ERE sends separate policy responses containing server details for matches of the calling and called user. - cnsGroupCluster – a container for cnsGroupProfiles. The configuration of each individual callNotificationCriteria object specifies the cnsGroupCluster that will be the recipient of notifications when a call matches that particular set of criteria. Currently, a cnsGroupCluster can contain only one cnsGroupProfile.
- callNotificationCriteria – an individual set of criteria (called party, calling party, trunk group for the other call leg) the ERE compares against calls. The object also identifies the cnsGroupCluster to notify in the event of a match.
- callNotificationCriteriaGroup – a group of up to 32 callNotificationCriteria objects that you assign to a SIP trunk group. For calls on that trunk group, the ERE compares the calling number/called number and other-leg trunk group against the criteria in the group. The callNotificationCriteriaGroup specifies the sequence in which the criteria should be evaluated. Once a call matches one of the callNotificationCriteria objects, the matching process skips the remaining criteria in the group and the SBC initiates its notification process.
For more information on configuring this feature, refer to Configuring the SBC to Send Unsolicited Call Notifications to Application Servers.
NOTIFY Message Headers
When the SBC sends NOTIFY messages, it populates the following headers in the messages as follows:
NOTIFY XML Message Body Contents
The following table lists the contents of the XML body within the NOTIFY messages and how the SBC populates them with information about a call that matched configured notification criteria. The contents of some elements differ based on whether the message is sent for a match on the ingress or egress leg.
Routing of NOTIFY Messages
The SBC allows using either an explicit IP address or an FQDN when specifying the address of an Application Server that will receive call notifications. If the FQDN resolves to multiple IP addresses, the SBC attempts to send all NOTIFY messages for a particular call to the same server IP address.
If a server becomes unavailable and the SBC is unable to send subsequent NOTIFY messages to the same server, the SBC attempts to send them to the next server in the group. Similarly if the trunk group specified for a server goes out of service, the SBC attempts to send subsequent notifications to the next server in the group.
Crankback Scenarios
With notifications enabled, if the SBC receives an error to an initial INVITE request that results in the SBC changing the call to a new route, the SBC sends a "terminated" NOTIFY for the error response and it sends a new initial NOTIFY message that contains the new dialog information based on the new route. If the new route triggers notifications and the SBC had already sent notifications to a server on the ingress leg, the SBC continues to send subsequent notifications to the same server. If notifications were not previously sent on the ingress leg, the SBC sends notifications to the server called for by the match on the new route.
Call Redirection Scenarios
With notifications enabled, if the SBC receives a 3xx redirection response to an initial INVITE request, the SBC response depends on whether the redirection leads to a change in the dialog identifiers (call-id, from tag). If no change results, then the SBC does not send a NOTIFY message for the redirected INVITE. If the dialog identifier changes, the SBC sends a "terminated" NOTIFY for the 3xx response and sends a Trying NOTIFY for the redirected INVITE if the notification criteria matches for the called party.
Call Transfer Scenarios
The SBC supports call transfers initiated using SIP REFER messages, REFER with Replaces, and INVITE with Replaces. If the user to whom a call is transferred matches some configured call notification criteria, then the SBC sends call notifications for the numbers involved in the call transfer.