/mcpdial-peer voice 1 voip sess protocol sipv2 incoming uri FROM URI1 ! dial-peer voice 2 voip sess protocol sipv2 incoming uri FROM URI2 !
Voice Class URI URI matching for inbound and outbound dial-peers allows an administrator the ability and flexibility to perform matches on more than a phone number string for VoIP protocols supporting URIs in their messaging. Prior to Cisco IOS 15.4(1)T and Cisco IOS-XE 3.11S, a request URI had to contain an alphanumeric user@host else a Cisco gateway would reject the call with a 4xx message. Now a URI can contain just the host portion, and the gateway routes the call based on just the host provided. For example, sip:cisco.com. Additionally, prior to Cisco IOS 15.4(1)T and Cisco IOS-XE 3.11S voice-class URI user-ids could only be numeric e.164 values (sip:1234@example.com). This was changed so administrators can configure alphanumeric user-ids on CUBE (sip:user@example.com). The host or user portion of a voice class uri can contain regular expressions (regex) patterns which greatly expands the possible values that can be matched.
Gateway(config-voice-uri-class)# user-id .) % unmatched ()user-id pattern can be of format ^([][0-9A-Za-z|/()+^$&?#--.])$
Gateway(config-voice-uri-class)# host .) % unmatched ()host pattern can be of format ^([][0-9A-Za-z|@/()+^$&?#--.])$
Gateway(config-voice-uri-class)# pattern .) % unmatched ()pattern pattern can be of format ^([][0-9A-Za-z|@;:=%!~/()+^$&?#--.])$
Example: Voice Class URIs
! voice class uri HOST sip host example.com host dns:cisco.example.com host ipv4:10.50.244.2 host ipv6:[2001:4860:4860::8888] ! voice class uri USER sip user-id username ! voice class uri PATTERN sip pattern 8675309 ! voice class uri HostRegex sip