A DPG (Dial Peer Group) is a Cisco Unified Border Element (CUBE) feature that allows you to statically bind an inbound dial peer to one or more outbound dial peers. This provides more granular call control. It is particularly useful when integrating Cisco Webex Calling with an on-premise multi-tenant PBX.
When a specific inbound dial peer is matched for a call leg, it can play a direct role in selecting the outbound dial peer(s). In other words, you can force a call to use a specific outbound dial peer when a particular inbound dial peer is matched. This is exactly what DPG enables.
Even More Granular Control: Source-Based Routing
Going a step further, you can route a call from a specific source to a predefined destination, completely independently of the calling or called number.
This is called source-based routing – conceptually similar to Policy-Based Routing (PBR) in IP networking.
The source match is achieved using the voice class uri command, which is applied to an inbound dial peer.
All calls that match this URI pattern trigger the incoming uri instruction, which is one of the first match criteria checked during call processing.
Then, a Dial Peer Group (DPG) is assigned to the same inbound dial peer to force CUBE to use a specific outbound dial peer.
Example Scenario
In the example below, a voice class uri is applied to dial peer 5, which matches all calls coming from a specific IP address found in the SIP "From" header.
When a call is received with IP address 172.16.1.1 in the "From" header:
Dial peer 5 is selected as the inbound dial peer.
The associated DPG 500 is then used to select dial peer 500 as the outbound dial peer to route the call via 10.1.1.1.
Note: Dial peer 500 has a destination-pattern configured with the value "test". This is mandatory for keeping the dial peer in an operational (up) state, even though the pattern is not actually used in this call. In a normal scenario, CUBE uses the destination pattern to select the outbound dial peer based on the called number. However, in this case, the DPG has already selected the outbound dial peer explicitly.
Configuration Example
voice class uri 5 sip
host ipv4:172.16.1.1
!
voice class dpg 500
dial-peer 500
dial-peer voice 5 voip
session protocol sipv2
destination dpg 500
incoming uri from 5
dial-peer voice 500 voip
session protocol sipv2
session target ipv4:10.1.1.1
destination-pattern test
Conclusion
The voice class uri feature is a very powerful tool. It allows you to inspect specific SIP headers (e.g., Request-Line URI, TO, FROM, VIA, etc.) in incoming SIP INVITE messages to determine which outbound dial peer should handle the call.
