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 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
Parameter | Length/Range | Description |
---|---|---|
| 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. |
| 0-7 | Specifies 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. |
| up to 23 characters | Specifies the trunk group through which the SBC sends call notifications. |
| up to 63 characters | Specifies an IP address or FQDN for the server to receive call notifications. |
| 0-65535 | Specifies the number of a port to send call notifications on the server. The default is 5060. |
|
| Specifies the transport type to use for sending notifications to this server. Currently the only type is UDP. |
| up to 199 characters | Specifies a description of this cns group profile. |
|
| Specifies how to distribute call notifications among the servers in this group. The options are:
|
| up to 140 characters | Specifies 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
Parameter | Length/Range | Description |
---|---|---|
| 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. |
| currently set to 0 | Specifies 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. |
| up to 23 characters | Specifies the name of the cns group profile to include in the cluster. |
| up to 199 characters | Specifies 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
Parameter | Length/Range | Description |
---|---|---|
<criteria ID> | up to 23 characters | Specifies a name for the set of call notification criteria. |
| up to 134 characters | Specifies 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. |
|
| Specifies the format in which the called party is identified in the criteria. The options are:
|
| up to 134 characters | Specifies 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. |
|
| Specifies the format in which the calling party is identified in the criteria. The options are:
|
| up to 23 characters | Specifies the name of the call notification server group cluster that should receive NOTIFY messages when a call matches this set of criteria. |
| up to 23 characters | Specifies the name of a SIP trunk group for the other call leg to match. The value can also be the "*" character which matches all. |
|
| Specifies on which call leg to apply the criteria. The options are:
|
|
| Specifies what to use to populate the userpart in the Request-URI within NOTIFY messages. The options are:
|
userPartValue | up to 23 characters | Specifies 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
Parameter | Length/Range | Description |
---|---|---|
<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. |
<sequence> | 0-31 | Specifies 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. |
| up to 23 characters | Specifies the name of the set of call notification criteria to associate with the sequence number. |
| up to 199 characters | Specifies 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
Parameter | Length/Range | Description |
---|---|---|
| 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. |
Parameter | Length/Range | Description |
---|---|---|
| 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