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.
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:
loadDistribution
flag). The ERE sends separate policy responses containing server details for matches of the calling and called user. These command syntax and parameters of these configuration entities are described in the following sections.
% set global servers cnsGroupProfile <profile name> cnsGroupData <sequence: 0 - 7> callNotifyTGId remoteAddress remotePort transport description loadDistribution <roundRobin | sequence> uri
Parameter | Length/Range | Default | Description |
---|---|---|---|
| up to 23 characters | n/a | Specifies a name for the cns group profile. The profile can specify up to 8 servers as potential recipients of call notifications. |
| 0-7 | n/a | 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 | n/a | Specifies the trunk group through which the SBC sends call notifications. |
| up to 63 characters | n/a | Specifies an IP address or FQDN for the server to receive call notifications. |
| 0-65535 | 5060 | Specifies the number of a port to send call notifications on the server. |
|
| udp | Specifies the transport type to use for sending notifications to this server. Currently the only type is UDP. |
| up to 199 characters | n/a | Specifies a description of this cns group profile. |
|
| sequence | Specifies how to distribute call notifications among the servers in this group. The options are:
|
| up to 140 characters | n/a | Specifies the URI to use in the Request-URI of NOTIFY messages for this group of servers. |
% set global servers cnsGroupCluster <cluster ID> cnsGroupClusterData <sequence: 0> cnsGroupId <CNS group profile name> description
Parameter | Length/Range | Default | Description |
---|---|---|---|
| up to 23 characters | n/a | 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 | 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 | n/a | Specifies the name of the cns group profile to include in the cluster. |
| up to 199 characters | n/a | Specifies a description for the cns group cluster. |
% 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
Parameter | Length/Range | Default | Description |
---|---|---|---|
<criteria ID> | up to 23 characters | n/a | Specifies a name for the set of call notification criteria. |
calledPartyId | 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. |
calledPartyType |
| n/a | Specifies the format in which the called party is identified in the criteria. The options are:
|
callingPartyId | 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. |
callingPartyType |
| n/a | Specifies the format in which the calling party is identified in the criteria. The options are:
|
cnsGroupClusterId | up to 23 characters | n/a | Specifies 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 characters | n/a | 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. |
role |
| both | Specifies on which call leg to apply the criteria. The options are:
|
userPartType |
| none | Specifies what to use to populate the userpart in the Request-URI within NOTIFY messages. The options are:
|
userPartValue | up to 23 characters | n/a | Specifies a static value for the userpart of the Request-URI within NOTIFY messages, only if you specify the userPartType as useConfigured . |
% set global servers callNotificationCriteriaGroup <group ID> callNotificationCriteriaGroupData <sequence: 0 - 31> callNotificationCriteriaId <call notification criteria ID> description
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 a description for the call notification criteria group. |
Two parameters are added to SIP trunk groups to attach call notification criteria to the trunk group and to specify 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.
% 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>
Parameter | Length/Range | Default | Description | M/O |
---|---|---|---|---|
| up to 23 characters | n/a | Specifies the name of the call notification criteria group to attach to the trunk group to trigger call notifications for calls that match. | O |
Parameter | Length/Range | Default | Description | M/O |
---|---|---|---|---|
| up to 23 characters | n/a | 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. | O |
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