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 trigger 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. Refer to Sending Unsolicited Call Notifications to Application Servers for more information on this feature.

Configuration Overview

The SBC provides four configuration entities that you use together to specify the call criteria the ERE compares against calls and 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. 

The following sections describe the command syntax and parameters of these configuration entities.

cnsGroupProfile

Command Syntax

% set global servers cnsGroupProfile <profile name>
     cnsGroupData <sequence: 0 - 7>
        callNotifyTGId
        remoteAddress 
        remotePort
        transport
     description
     loadDistribution <roundRobin | sequence>
     uri

Command Parameters

ParameterLength/RangeDescription

<profile name>

up to 23 characters

Specifies a name for the cns group profile. The profile can specify up to 8 servers as potential recipients of call notifications. 

cnsGroupData <sequence>

0-7Specifies a sequence number for a server within the group. If the loadDistribution type is sequence, the SBC attempts to send call notifications to the servers in their specified sequence.

callNotifyTGId

up to 23 charactersSpecifies the trunk group through which the SBC sends call notifications. 

remoteAddress

up to 63 charactersSpecifies an IP address or FQDN for the server to receive call notifications.

remotePort

0-65535Specifies the number of a port to send call notifications on the server. The default is 5060.

transport

  • udp
Specifies the transport type to use for sending notifications to this server. Currently the only type is UDP.

description

up to 199 charactersSpecifies a description of this cns group profile.

loadDistribution

  • roundRobin
  • sequence

Specifies how to distribute call notifications among the servers in this group. The options are:

  • roundRobin - to distribute among the servers in a round-robin method.
  • sequence - (default) to distribute notifications in the same sequence for every call using the order defined by the server sequence value.

uri

up to 140 charactersSpecifies the URI to use in the Request-URI of NOTIFY messages for this group of servers. 

cnsGroupCluster

Command Syntax

% set global servers cnsGroupCluster <cluster ID>
     cnsGroupClusterData <sequence: 0>
        cnsGroupId <CNS group profile name>
     description

Command Parameters

ParameterLength/RangeDescription

<cluster ID>

up to 23 characters

Specifies a name for the cns group cluster.  A cns group cluster is included in call notification criteria to indicate the server(s) that should receive notifications when a call matches the criteria. 

cnsGroupClusterData <sequence>

currently set to 0Specifies a sequence number for a cns group profile in the cluster. Currently a cns group cluster can include only one cns group profile and the sequence is set to 0 by default.

cnsGroupId

up to 23 charactersSpecifies the name of the cns group profile to include in the cluster.

description

up to 199 charactersSpecifies an optional description for the cns group cluster.

callNotificationCriteria

Command Syntax 

% set global servers callNotificationCriteria <criteria ID>
     calledPartyId 
     calledPartyType <AoR | number | *>
     callingPartyId
     callingPartyType <AoR | number | *>
     cnsGroupClusterId <cns group cluster ID>        
     otherLegTG 
     role <egress | ingress | none>
     userPartType  <none | useCalledNumber | useCallingNumber | useConfigured>
       userPartValue

Command Parameters

ParameterLength/RangeDescription
<criteria ID>

up to 23 characters

Specifies a name for the set of call notification criteria. 

calledPartyId
up to 134 charactersSpecifies the called party user to match.  The value can be a specific calling number, prefix, calling uri or the "*" character. The default value is "*" which matches all.
calledPartyType
  • AoR
  • number
  • *

Specifies the format in which the called party is identified in the criteria. The options are:

  • AoR
  • number
  • * (a wildcard character to match any called party)
callingPartyId
up to 134 charactersSpecifies the calling party user to match. The value can be a specific called number, prefix, called uri or the "*" character. The default value is "*" which matches all.
callingPartyType
  • AoR
  • number
  • *

Specifies the format in which the calling party is identified in the criteria. The options are:

  • AoR
  • number
  • * (a wildcard character to match any calling party)
cnsGroupClusterId
up to 23 charactersSpecifies the name of the call notification server group cluster that should receive NOTIFY messages when a call matches this set of criteria.
otherLegTG
up to 23 charactersSpecifies the name of a SIP trunk group for the other call leg to match. The value can also be the "*" character which matches all.
role
  • both
  • egress
  • ingress

Specifies on which call leg to apply the criteria. The options are:

  • both – (default) applied on both ingress and egress.
  • egress –  applied when the trunk group to which the criteria is attached is the egress trunk group.
  • ingress –  applied when the trunk group to which the criteria is attached is the ingress trunk group.
userPartType
  • none
  • useCalledNumber
  • useCallingNumber
  • useConfigured

Specifies what to use to populate the userpart in the Request-URI within NOTIFY messages. The options are:

  • none (default)
  • useCalledNumber
  • useCallingNumber
  • useConfigured (requires you to specify a static value for the userpart using the userPartValue parameter.)
userPartValueup to 23 charactersSpecifies a static value for the userpart of the Request-URI within NOTIFY messages, only if you specify the userPartType as useConfigured.

callNotificationCriteriaGroup

Command Syntax

% set global servers callNotificationCriteriaGroup <group ID>
     callNotificationCriteriaGroupData <sequence: 0 - 31>
        callNotificationCriteriaId <call notification criteria ID>
     description

Command Parameters

ParameterLength/RangeDescription
<group ID>

up to 23 characters

Specifies a name for a group of up to 32 sets of call notification criteria. Sets of criteria are identified within the group by a sequence number.

callNotificationCriteriaGroupData
<sequence>
0-31Specifies a sequence number for a set of call notification criteria within the group. The SBC checks for a match in sequence order until it finds a match or exhausts the list of  notification criteria. 
callNotificationCriteriaId
up to 23 charactersSpecifies the name of the set of call notification criteria to associate with the sequence number.
description
up to 199 charactersSpecifies an optional description for the call notification criteria group.

SIP Trunk Group Parameters

 Two SIP trunk group parameters are used in configuring this feature. The first attaches call notification criteria to the trunk group and the second specifies a SIPREC metadata profile to use in determining the session ID sent in call notifications. This feature uses the existing SIPREC metadata profile to map the session ID, it does not introduce a new type of profile. Refer to SIPREC Metadata Profile - CLI for more information.

Command Syntax 

% set addressContext <address context> zone <zone> sipTrunkGroup <TG name> policy callNotificationCriteriaGroup <group ID>
% set addressContext <address context> zone <zone> sipTrunkGroup <TG name> services sipCallNotificationMetadataProfile <sipRecMetadataProfile profile name>

Command Parameters

ParameterLength/RangeDescription

callNotificationCriteriaGroup

up to 23 characters

Specifies the name of the call notification criteria group to attach to the trunk group to trigger call notifications for calls that match.

ParameterLength/RangeDescription

sipCallNotificationMetadataProfile

up to 23 characters

Specifies the name of a SIPREC metadata profile that defines the mapping of a SIP header to the Session-Id XML element in NOTIFY messages.  This parameter should be set on the trunk group used to send call notifications. Refer to Services - SIP Rec Metadata Profile for information on these profiles.

Configuration Example

The following series of commands show configuration of the four entities required to define call notification server data and matching criteria. This is followed by commands to assign call notification criteria groups to SIP trunk groups. 

   ***Create an ingress Cns group profile
% set global servers cnsGroupProfile ingcnsgp loadDistribution sequence uri sip:ingress@example.com cnsGroupData 0 remoteAddress 10.10.20.30 remotePort 5062 callNotifyTGId TG_ING_IAD transport udp

  ***Create an egress Cns group profile
% set global servers cnsGroupProfile egcnsgp loadDistribution roundRobin uri sip:egress@example.com cnsGroupData 0 remoteAddress example.com callNotifyTGId TG_EG_AS transport udp

  ***Create a cnsGroupCluster for the ingress Cns group profile 
% set global servers cnsGroupCluster ingresscnsgc cnsGroupClusterData 0 cnsGroupId ingcnsgp

  ***Create a cnsGroupCluster for the ingress Cns group profile 
% set global servers cnsGroupCluster egresscnsgc cnsGroupClusterData 0 cnsGroupId egcnsgp

  ***Create call notification criteria that sends notifications to the ingress cnsGroupCluster 
% set global servers callNotificationCriteria ingcncrit cnsGroupClusterId ingresscnsgc role ingress otherLegTG TG_EG_AS callingPartyType number callingPartyId 9880100273 calledPartyType number calledPartyId 9886001122 userPartType useConfigured userPartValue user1

  ***Create call notification criteria that sends notifications to the egress cnsGroupCluster
% set global servers callNotificationCriteria egrcncrit cnsGroupClusterId egresscnsgc role egress otherLegTG TG_ING_IAD callingPartyType number callingPartyId 9880100273 calledPartyType number calledPartyId 9886001122 userPartType useConfigured userPartValue user2

  ***Create an ingress call notification criteria group
% set global servers callNotificationCriteriaGroup ingcncritg callNotificationCriteriaGroupData 0 callNotificationCriteriaId ingcncrit

  ***Create an egress call notification criteria group
% set global servers callNotificationCriteriaGroup egrcncritg callNotificationCriteriaGroupData 0 callNotificationCriteriaId egrcncrit

  ***Assign the ingress call notification criteria group to a trunk group 
% set addressContext default zone ZONE_IAD sipTrunkGroup TG_ING_IAD policy callNotificationCriteriaGroup ingcncritg

  ***Assign the egress call notification criteria group to a trunk group 
% set addressContext default zone ZONE_AS sipTrunkGroup TG_ES_AS policy callNotificationCriteriaGroup egrcncritg