Advanced Dial Plan Design for Unified Communications Networks Johannes Krohn Technical Marketing Engineer
Abstract This advanced session provides detailed dial-plan design guidelines for each of the Cisco IP telephony deployment models based on Cisco Unified Communications Manager, with recommended best practices to help ensure successful, scalable deployments. This session covers the various dial-plan tools available in Cisco Unified Communications Manager, such as route patterns, translation patterns for digit manipulation, calling party transformations for localisation and globalisation of calling party information, dial-plan interaction with PSTN gateways and URI dialing. This session also covers how to best use these tools to deal with real-world deployments. The main focus of the session is on system design, with some implementation aspects. This session is aimed at network planners and designers and telephony analysts and assumes a working knowledge of the Dial Plan functionality in Cisco Unified Communications Manager. 3
Agenda Introduction Developing a Global Dial Plan Call Routing Developing a Global Dial Plan Number Presentation Deterministic Inter-Cluster Routing (Global Dial Plan Replication) 4
Introduction
Remember Best and most important tools for dial plan design: Pencil Paper Whiteboard Dial plans are not a new concept IP did not really change the fundamentals of dial plan design Dial Plan recommendations are not a monolith Take what you need Keep it simple! 6
What Is a Dial Plan About? Mapping from dialed destinations to connected endpoints Concepts that are part of dial plans user input mapping of user input to routable format (transformations) routing / routing restrictions (class of service) call presentation numbering plans 1234 1234 84961234 routing 84961234 7
User Input / Dialing Habits Users dial using common habits: Dialing Habits Different formats for types of destinations colleague next door local, national, international Inter-office (abbreviated on-net, forced on-net) Voicemail other services Especially external dialing habits are country-specific 9 or 0 for outside line Format of national numbering plan (fixed/variable length etc.) 8
Example Dialing Habits in Europe 0 (or 9 ) to get an outside line (trunk access) Any number starting with 1-8 is generally internal But please stay clear of 112 standardised emergency number National numbers need a 0 in front of the area code: 0 Trunk access 0 Escape for area code (Italy: 0 is part of the area code) 69 Area code of Frankfurt Dial 0-0-6-9-... From inside the enterprise to Frankfurt international numbers are typically prefixed by 00 : 0 Trunk access 00 Escape for country code 39 Country code of Italy Dial 0-0-0-3-9-... From inside the enterprise to Italy 9
Enterprise Specific Dialing Habits Typically dialing habits for local, national, international calls are given/agreed based on a given domain/country In addition need to agree on how to dial: Private numbers (on-net) Intra-Site Services (voicemail, meet-me, call park, pick-up...); non-dids Do we also need to support + -dialing? application support number portability 10
Dialing Domain Enterprise call controls need to be able to support different national dialing behaviours (different dialing habits) Groups of users sharing common dialing habits need to be treated identical Definition: Dialing Domain = Group of users/devices sharing common dialing habits to reach identical destinations US 901161284466000 90114961007730764 +1 408 555 1234 UC PSTN +61 2 8446 6000 DE 00061284466000 0061007739764 +49 3100 556677 00061284466000 +49 6100 112233 07739764 PSTN +49 6100 773 9764 11
Dial Plan vs. Numbering Plan Dial Plan: scheme to define mapping from dialing habits to destinations Numbering Plan: scheme to number entities (phones) unique number per entity e.g. (+)E.164, private numbering allows for single numbering domain overlapping numbering e.g. unique per site requires partitioned numbering domains 12
Dial Plan vs. Numbering Plan Dial plan might support various dialing habits local call: 0 number national call: 00 number international call: 000 number abbreviated on-net: 8<7-digits> +E.164: +E.164 string Enterprise Numbering Plan might follow one of the above dialing habits (e.g. abbreviated on-net)... but does not necessarily have to! 13
Class of Service Common term to describe the permissions of users on communication systems COS includes permission to reach certain destinations voicemail access reachability from outside call forward restrictions Enterprise dial plan is the tool to implement required classes of service Important: make sure to start dial plan design with full view of required classes of service 14
E.164 geographic numbers Background ITU Recommendation E.164 describes the Numbering Plan of the International telephone service CC: Country Code NSN: National significant number NDC: National destination code SN: Subscriber number NDC+SN = NSN: National significant number National numbering plan left to national authorities documented at http://www.itu.int/oth/t0202.aspx?lang=en&parent=t0202 US: fixed length, NSN 10 digits DE: variable length, NSN 4-13 digits 15
+E.164 Notation and Numbers ITU Recommendation E.123 describes the Notation for national and international telephone numbers, e-mail addresses and Web addresses + signifies the international prefix Example: +14085551234 Numbers in global directories should be in +E.164 format global form including country code leading + no trunk access codes included: +44 (0) 208 1234 1243 is NOT a valid +E.164 number! universal use Benefits of +E.164 Numbers in dial plans unique by definition no overlap with any other dialing habit ( + ) 16
Overlaps Dialing habits need to avoid overlaps to avoid interdigit timeout (T302, default: 15s) No overlap between: Outside access code & intra-site (UK: No 9xxx DN) on-net access code & intra-site (Cisco: No 8xxx DN) on-net access code & outside access code (on-net: No 0 or 9) on-net and outside access code reduce the numbering space available for intra-site dialing Overlaps have to be avoided in the planning phase If overlapping dialing habits are defined this can not be resolved later 17
Private Numbering Plan (abbreviated on-net dialing) Pro Possibly shorter inter-site on-net dialing Fixed length instead of possibly variable length inter-site on-net dialing Can be re-used for VM subscriber IDs Con National dialing to known sites can be forced on-net; no NEED for private numbering Private numbers are only useable inside the enterprise Will people actually use them? Steering digit for private numbering reduces the set of available numbers Planning and maintenance effort Is it worth it? 18
Guidelines for Private Numbering Plan Typical format: <access code> - any digit or * <site id> - Might be a hierarchical scheme including regional attributes <extension> - Intra-site on-net extension Example: 8-496-1234 8 Access code 496 Site id (site 6 in Germany) 1234 Local extension Make sure to reserve space (what if we get more than 9 sites in Germany) Make it extensible (think Shannon coding ) Changing an established private numbering is VERY hard 19
External Numbering Plan Requirements Providers dictate format for Calling/Called Party Numbers on trunks Technology: ISDN: Concept of Type (national, international, subscriber) and Number SIP: Only Number; typically +E.164 PBX interconnect (Q.SIG) End-to-end support for numbering used on existing PBX systems Uniform across all systems? 20
DN Format Considerations VLOD flat numbering requires DNs to be unique system-wide Compatibilty with external apps CUxAC requires DN to be exactly identical to users phone numbers for BLF to work Limitations of UCCE/UCCX with respect to +E.164 agent extensions Intra-cluster calls use DN as globalized (pre-transformation) calling party info if DN is not +E.164 globalization to +E.164 is required for uniform calling party delivery in call cases (translation pattern calling party transformation or inbound calls calling party transformation CSS (new in CUCM 9.0)) 21
What to Use as DNs? Options: Intra-site extension: Requires per-site partitions (not recommended) Example: 9764; globalisation of calling party information, CUxAC? Unique abbreviated on-net extension (private numbering plan) Example: 8 496 9764; globalisation of calling party info, CUxAC? +E.164: Unique Example: \+49 6100 773 9764 E.164: Unique Example: 49 6100 773 9764; globalisation of calling party info, CUxAC? National number (10-digit US): Unique (if US only) What if you need to expand to global plan? Globalisation of calling party info, CUxAC? Number transformations in UCM allow to map between numbering schemes 22
+E.164 DNs and Non-DIDs If Non-DIDs and DIDs share a common partition Non-DIDs need to be assigned using unallocated spaces to avoid overlaps International: Unallocated: http://www.itu.int/pub/t-sp-e.164d +0: reserved, possibly create hierarchical numbering scheme starting with +0 (caution: possibly overlap with emergency number 000 in Australia) National: Unallocated ranges in national numbering plans: http://www.itu.int/oth/t0202.aspx?parent=t0202 Caution: national numbering plans might get changed (example: national renumbering in Italy in 1998) Completely different space: e.g. numbers starting with * Reminder: Don t mix dialing habits and numbering requirements Alternative: put non-dids (e.g. pick-up numbers) in separate partition and number according to intended dialing habit to these destinations Why use +<something> to number entities ONLY called as 4XXX? 23
Developing a Global Dial Plan Call Routing
Requirements Dialing Habits 4-digit intra-site + dialing for dialing from directories US sites 9 + 7-digit for local calls 91 + 10-digit for national calls 9011 for international calls German sites 0 for local calls 00 for national calls 000 for international calls Number presentation on phones in shortest possible format 25
Requirements Routing Forced on-net Local gateways in every site TEHO for international calls Classes of Service Internal: Allowed to call all on-net destinations National: Only national off-net destinations International: No restrictions 26
Requirements Sites ESC: +4961007739XXX STU: +49710023911XXX SJC: +14085551XXX DFW: +19725551XXX 27
DN Format Single partition for all DNs Requires unique DNs We don t have an abbreviated on-net numbering plan... and don t want to create one from scratch +E.164 DNs 28
CoS International +E.164 Destinations CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) USPSTNNational \+1XXX \+1XXX XXXX, XXXX Urgent PSTNInternational Problem with calls to national +E.164 destinations? Partial overlap with \+! Solution: Make \+1XXX XXX XXXX urgent Other problems? DNs are non-urgent patterns \+! has partial overlap with all DNs Solution: We need urgent patterns for all on-net destinations to avoid overlap with \+! \+! \+!#, Discard Trailing # LOC RL Local Route Group XYZ RG 29
CoS International +E.164 Destinations Avoiding Partial Overlap CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN E164OnNet \+14085551XXX, Urgent \+19725551XXX, Urgent \+4961007739XXX, Urgent \+49710023911XXX, Urgent USPSTNNational \+1XXX XXX XXXX, Urgent PSTNInternational \+! LOC RL Local Route Group \+!#, Discard Trailing # XYZ RG 30
CoS International +E.164 Destinations Avoiding Partial Overlap CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN E164OnNet \+14085551XXX, Urgent \+19725551XXX, Urgent \+4961007739XXX, Urgent \+49710023911XXX, Urgent USPSTNNational \+1XXX XXX XXXX, Urgent PSTNInternational \+! LOC RL Local Route Group \+!#, Discard Trailing # Still need to support other dialing habits 4-digit intra-site US PSTN dialing XYZ RG 31
CoS International Adding 4-Digit Intra-Site CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN E164OnNet SJCIntra 1XXX, Prefix +1408555 SJCIntra Is Site-Specific XYZ RG PSTNInternational USPSTNNational LOC RL Local Route Group 32
CoS International Adding International Dialing CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN USE164International E164OnNet SJCIntra 1XXX, Prefix +1408555 UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + Partition for Dialing Normalisation Is CoS Specific, Because Translation Patterns Can Only Have a Single Specific Resulting CSS Which Implements a Single CoS XYZ RG PSTNInternational USPSTNNational LOC RL Local Route Group 33
CoS International Adding 9+7 (Local) Dialing; Full Picture (pre 10.0) CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN SJCE164Local USE164International E164OnNet SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + Partition for 9+7 Dialing Is Location Specific, Because the Translation Pattern Needs Site Specific Called Party Transformation XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 34 LOC RL Local Route Group
CoS International Adding 9+7 (Local) Dialing; Full Picture (pre 10.0) CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) DN SJCE164Local USE164International E164OnNet SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + Partition for 9+7 Dialing Is Location Specific, Because the Translation Pattern Needs Site Specific Called Party Transformation XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 35 LOC RL Local Route Group
CoS International 10.0 Simplification (urgent DNs) CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCE164Local E164OnNet SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 Full match on urgent DN terminates digit collection. No T302 caused by overlap with \+! route pattern USE164International UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 36 LOC RL Local Route Group
CoS International 10.0 Simplification (urgent DNs) CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCE164Local SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 Full match on urgent DN terminates digit collection. No T302 caused by overlap with \+! route pattern USE164International UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 37 LOC RL Local Route Group
TP CSS Inheritance split personality Translation Patterns CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) UStoE164 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG SJCNational PSTNInternational USPSTNNational LOC RL Normalisation translation patterns use the activating CSS for secondary lookup Local Route Group A secondary lookup CSS following the activating CSS allows for re-use of normalisation 38
TP CSS Inheritance New in release 10.0 CSSs Partitions Route Lists Route Groups SJCInternational DN All IP Phone DNs (+E.164) UStoE164 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + Translation Pattern using CSS inheritance: secondary lookup uses activating CSS Translation Patterns can be re-used XYZ RG CSS Inheritance forces digit analysis to go back to the activating CSS after performing the calling/called party transformations defined on the translation pattern Ideal use case: dialing normalisation SJCNational PSTNInternational USPSTNNational 39 LOC RL Local Route Group
CoS International 10.0 Simplification (TP Inheritance) CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCE164Local SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 Don t need CoS specific secondary lookup CSS any more USE164International UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 40 LOC RL Local Route Group
CoS International 10.0 Simplification (TP Inheritance) CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCE164Local SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 Don t need CoS specific secondary lookup CSS any more USE164International UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 41 LOC RL Local Route Group
CoS International 10.0 Simplification (TP Inheritance) CSSs Partitions Route Lists Route Groups SJCInternational DN DN IP Phone DNs (+E.164, urgent) SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + Might be a good idea to keep the DN CSS as secondary lookup for intra-site dialing to avoid abbreviated intra-site dialing of unassigned extensions to flow over to the PSTN XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 42 LOC RL Local Route Group
Effect of CSS Inheritance W/ CSS Inheritance: dialing normalisation re-used W/o CSS Inheritance: dialing normalisation patterns per CoS (and site) 43
CSS Inheritance Configuration New translation pattern attribute ( Use Originator's Calling Search Space ) CSS is empty! 44
Other classes of service Other classes of service built based on CoS International by removing route patterns Re-use of all dialing normalisation patterns TP CSS inheritance allows to remove all redundancies 45
Enterprise alternate dialing Adding abbreviated on-net inter-site dialing CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 OnNet 8496.9XXX, Pre-Dot, Prefix +496100773 for all other sites Dialing normalisation for abbreviated inter-site dialing UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 46 LOC RL Local Route Group
Alternate Numbers for DNs (10.0) Can define up to two alternate numbers on DN page Enterprise and +E.164 Alternate number defined using mask If mask is empty then DN is taken as configured Alternate Numbers can(!) be added to local route partition Alternate Numbers can(!) be advertised via ILS (Global Dial Plan Replication, GDPR) 47
Enterprise alternate dialing Adding abbreviated on-net inter-site dialing CSSs Partitions Route Lists Route Groups SJCInternational DN IP Phone DNs (+E.164, urgent) DN SJCIntra 1XXX, Prefix +1408555 SJCtoE164local 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 OnNet Enterprise alternate numbers Partition holding all enterprise alternate numbers defined for DNs UStoE164International 9011.!, Urgent, Pre-Dot, Prefix + 9011.!#, Urgent, Pre-Dot, Prefix + 9.1[2-9]XX[2-9]XXXXXX, Pre-Dot, Prefix + XYZ RG PSTNInternational USPSTNNational SJCPSTNLocal \+1408[2-9]XXXXXX, Urgent 48 LOC RL Local Route Group
Alternate Numbers Alternate numbers can be put into local partitions (added to local dial plan) Alternate numbers allow to implement up to two overlay dialing habits Even abbreviated intra-site dialing could be implemented using the alternate numbers Abbreviated intra-site dialing is site-specific Make sure to have alternate numbers in site specific partitions Caution: abbreviated intra-site dialing should not be advertised to other clusters! In general alternate numbers should be globally significant 49
Remember Workarounds required pre-10.0: Translation patterns used to normalise dialing to +E.164 Because TPs resulting CSS implements new CoS (does not inherit the initial CoS), we need normalisation per CoS Non urgent DNs: Need to create urgent translation patterns to avoid T302 based on overlap between DNs and variable length PSTN route patterns 10.0 dial plan enhancements simplify the design: Urgent priority for DNs Translation pattern CSS inheritance 50
Inbound Routing on Gateways Internal DNs are +E.164 Format of received called party number is provider and technology depending Route after globalizing to +E.164 on ingress Options Incoming Called Party Settings: Prefixes and CSSes per number type (pre 10.0: not on MGCP gateways and SIP trunks) Inbound calls CSS; Translation Patterns to get to +E.164 51
Inbound Routing on Gateways Incoming Called Party Settings H.323 Gateway, H.323 trunk Prefix or transformation CSS per type Transformation CSS not used for call routing only for number transformations! Example: PSTN gateway in site ESC 52
Emergency Calls Emergency Calls need to be enabled for ALL classes of service Emergency Calls need to be routed through an egress gateway local to the caller Different Emergency Numbers: US: 911 Europe: 112 Other... Options: Put emergency pattern in device CSS EM users use visited site s emergency calling format (recommended, but consider overlaps!) Add emergency partition to all CoS CSSes EM uses use home site s emergency calling format 53
Tail-End-Hop-Off Business case for national TEHO difficult Caller ID preservation? CLIP No Screening National restrictions for international TEHO? TEHO implemented through specific route pattern overlays 54
International TEHO Full Picture CSSs Partitions Route Lists Route Groups ESCInternational DN All IP Phone DNs (+E.164) DN E164OnNet ESCIntra 9XXX, Prefix +496100773 ESCE164Local ESCtoE164local 0.[^0]!, Pre-Dot, Prefix +496100 0.[^0]!#, Pre-Dot, Prefix +496100 GERE164International GERtoE164International 000.!, Urgent, Pre-Dot, Prefix + 000.!#, Urgent, Pre-Dot, Prefix + 00.[^0]!, Pre-Dot, Prefix +49 00.[^0]!#, Pre-Dot, Prefix +49 XYZ RG PSTNInternational GERPSTNNational \+49! \+49!#, Strip Trailing # ESCPSTNLocal \+496100! \+496100!#, Strip Trailing 55 # LOC RL Local Route Group
International TEHO Full Picture CSSs Partitions Route Lists Route Groups ESCInternational DN All IP Phone DNs (+E.164) DN E164OnNet ESCIntra 9XXX, Prefix +496100773 ESCE164Local ESCtoE164local 0.[^0]!, Pre-Dot, Prefix +496100 0.[^0]!#, Pre-Dot, Prefix +496100 GERE164International GERtoE164International 000.!, Urgent, Pre-Dot, Prefix + 000.!#, Urgent, Pre-Dot, Prefix + 00.[^0]!, Pre-Dot, Prefix +49 00.[^0]!#, Pre-Dot, Prefix +49 XYZ RG PSTNInternational GERPSTNNational \+49! \+49!#, Strip Trailing # ESCPSTNLocal \+496100! \+496100!#, Strip Trailing 56 # LOC RL Local Route Group
International TEHO Full Picture CSSs Partitions Route Lists Route Groups DFW GW US TEHO SJC GW PSTNInternational \+1XXX XXX XXXX \+49! UStoE164International \+49!# GER TEHO Local Route Group ESC GW STU GW Local Route Group 57
Developing a Global Dial Plan Number Presentation
Calling/Called Number Transformations What It Is: Concept Calls presented to a phone or a gateway typically require the calling and the called party numbers be adapted to the local preferences/requirements of: The user receiving the call The gateway the call is routed through The network the call is routed to Calls received from an external network (e.g., the PSTN) typically present calls in a localised flavor. We can now adapt the received call based on: The numbering plan presented by the network for a specific call The called/calling number delivered into the UC system by the gateway Combining the two elements above, we can globalise the number upon entry 59
Globalise on Ingress Goal is to get to +E.164 Service Parameter: Prefixes per type for H.323, MGCP and SIP (unknown only) Not recommended Device Pool Prefixes or CSSes per number type Gateway/Trunk Prefixes or CSSes per number type (only unknown on SIP trunks); Example: Gateway for ESC 60
Localise on Phones Transform Calling Party Number to shortest possible format or respective outbound dialing habit Example for SJC phones (+1 408 555 1XXX): Calls from Display as +1 408 555 1XXX 1XXX +1 XXX XXX XXXX 91 XXX XXX XXXX or XXX XXX XXXX +XX... 9011XX... or +XX... Callback from missed calls directory goes to pre-transformation number! (globalised number) * Displayed number does not need to be dialable * * depending on phone model 61
Number Transformations Similar to translation pattern, but matches on calling (not CALLED) party number Only allow calling party transformations No impact on call routing Addressed by partitions and CSSes (like regular patterns) 62
Calling Party Normalisation From +E.164 to Shortest Presentation CSSs SJCphonesFromE164 Partitions SJCphonesFromE164 \+1408555.1!, Strip Pre-Dot \+1408.!, Strip Pre-Dot, Prefix 9 For Your Reference DFWphonesFromE164 DFWphonesFromE164 \+1972555.1!, Strip Pre-Dot \+1972.!, Strip Pre-Dot, Prefix 9 ESCtoE164local USphonesFromE164 \+.1!, Strip Pre-Dot, Prefix 9 \+.!, Strip Pre-Dot, Prefix 9011 ESCphonesFromE164 ESCphonesFromE164 \+496100773.1!, Strip Pre-Dot \+496100.!, Strip Pre-Dot, Prefix 0 STUphonesFromE164 STUphonesFromE164 \+4971002391.1!, Strip Pre-Dot \+497100.!, Strip Pre-Dot, Prefix 0 ESCtoE164local GERphonesFromE164 \+49.!, Strip Pre-Dot, Prefix 00 \+.!, Strip Pre-Dot, Prefix 000
Number Transformations on Endpoints Phones have Inbound and Outbound Calls Calling Party Transformation CSS Inbound: calls originating from endpoint; typically used to map from DN to +E.164 Outbound: calls terminating on endpoint; typically used to map from globalised calling party to display format Can also be configured on device pool Use Device Pool... Device Pool New in 9.0 Endpoint 64
End-to-End Calling Party Transformations Inbound / Outbound calls Outbound calling party transformation Inbound calling party transformation 610077369764/national +49610077369764 Inbound calling party transformation Outbound calling party transformation 84969764 Version 9.0 V 710012345/national +49710012345 00710012345 Caller ID for Calls From This Phone Calling party transformation Remote Number calling party transformation Version 9.1 65
Phone Directories Calling Party Numbers are transformed using phone s (or device pool s) outbound calling party transformation CSS But: pre-transformation number is stored in missed calls directory and used for callback * Concept: Pre-transformation calling party numbers should be globalised globalise on ingress, localise on egress Globalised numbers (pre-transformation) have to be routable! (supported dialing habit) * 7940/60 store post transformation number in missed/received calls directory (9.1 and later) 66
Egress Called Party Normalisation Gateways / Trunks required format for calling party numbers typically defined by the provider use Calling Party Transformation CSS for outbound calls Caveat: device level transformations have no effect on Q.SIG APDUs 67
Egress Called Party Normalisation Example: German PSTN Gateway 68
Egress Calling Party Normalisation Gateways / Trunks Like called party normalisation, but use CALLING party transformation patterns and CSS! When using the device pool calling party CSS make sure that device pool is not shared by phones and gateways (typically require different transformations) Optional: Filter non-dids and send dummy instead Implement screening, if number does not match the number range assigned to the trunk by the provider 69
Deterministic Inter-Cluster Routing (Global Dial Plan Replication)
Multicluster URI routing sfo.cisco.com nyc.cisco.com alice@sfo.cisco.com bob@nyc.cisco.com Host part of URIs might identify home cluster Reachability established through SIP route patterns for host parts Requires hierarchical URI scheme jkrohn@fra.cisco.com 71
Multicluster URI routing sfo.cisco.com nyc.cisco.com alice@cisco.com bob@cisco.com Host part of URIs might identify home cluster Reachability established through SIP route patterns for host parts Requires hierarchical URI scheme What if URI scheme is flat? jkrohn@cisco.com 72
Multicluster URI routing alice@cisco.com Host part of URIs might identify home cluster Reachability established through SIP route patterns for host parts Requires hierarchical URI scheme What if URI scheme is flat?? jkrohn@cisco.com bob@cisco.com 73
Intercluster Lookup Service (ILS) Fundamental idea Need mechanism that allows propagation of individual alpha URIs between call controls binds alpha URI with attribute that allows routing to URI s home cluster ILS each call control replicates it s alpha URIs to it s neighbours each call control also announces SIP route string together with the alpha URIs SIP route string can be routed based on SIP route patterns intercluster routing of alpha URIs not based on URIs host part, but on SIP route string 74
ILS Learning Learned from ILS bob@cisco.com nyc.route jkrohn@cisco.com fra.route sfo.route nyc.route Learned from ILS alice@cisco.com sfo.route jkrohn@cisco.com fra.route alice@cisco.com routestring: sfo.route Call controls establish ILS Exchange ILS Exchange bob@cisco.com routestring: nyc.route URI information flooded Each call control creates table with URIs and associated SIP route string SIP route strings routed by SIP route patterns Learned from ILS alice@cisco.com sfo.route bob@cisco.com nyc.route routestring: fra.route jkrohn@cisco.com 75
Routing Alpha URI Using ILS Information Learned from ILS bob@cisco.com nyc.route jkrohn@cisco.com fra.route 3) ILS Lookup leads to routestring fra.route 1) Alice calls jkrohn@cisco.com alice@cisco.com 2) not routeable using Alice s CSS (not a local URI) routestring: sfo.route ILS Exchange 4) call gets routed using SIP route pattern fra.route SIP route pattern can point to route lists starting with CUCM 9.0 5) jkrohn@cisco.com is routeable using the trunk s CSS (is a local URI) jkrohn@cisco.com routestring: fra.route 76
Inter-cluster URI routing recap URIs (especially flat URIs) can not be used as addresses ; they only are identifiers Introduce a location attribute (SIP route string) Bind set of identifiers (URIs) to a common location attribute (SIP route string) Indirect routing: route identifiers (URIs) according to learned location attribute (SIP route string) 77
GDPR Motivation On-Net/Off-Net decision w/ multiple call controls 912125557001 Maintained manually +1 408 555 1XXX 912125556001 +12125557XXX +14045556XXX +14085551XXX +19195557XXX +1 212 555 7XXX PSTN +1 919 555 7XXX +1 404 555 6XXX Each call control has to take independent on-net/off-net decisions Requires knowledge about remote on-net addresses Explicit configuration of remote address ranges or automatic learning? Complexity depending on number of prefixes! +1 212 555 6001 78
GDPR Motivation Local On-Net/Off-Net w/ Centralized Dial Plan? Maintained manually Really? 912125557001 912125556001 PSTN +1 408 555 1XXX +1 919 555 7XXX SME to centralize dial plan, apps, PBX interconnect etc Default routing on leaf vs. local on/off-net descision 79 +1 212 555 6001 +1 212 555 7XXX +1 404 555 6XXX
GDPR Concept New in release 10.0 Split identity of (E.164) numbers Identifier: non-wildcarded number identifies a callable endpoint Address: number/pattern used to identify the location (typically prefix based) Global Dial Plan Replicaton (GDPR) allows to route numeric destinations based on locaton attribute (SIP route string) Reachability information associated with SIP route string (location information) Arbitrary topology of SIP trunks, arbitrary SIP route string address space structure Think of splitting location from identity for +E.164 numbers Location of +E.164 identifier now determined based on SIP route strings (locators) LISP for +E.164 DN is the key identity (address) in Communications Manager 80
GDPR Concept New per DN attributes: +E.164 alternate number and/or Enterprise alternate number (one can be assigned as PSTN fallback number) Defined using a mask Can be put into local partition (to implement alternate dialing habit) Can be advertised via ILS Advertized patterns +E.164 or enterprise number pattern PSTN failover: use pattern directly (+E.164) or strip/prefix instruction Differentiated partitions for learned numbers and patterns 81
GDPR learning and routing Global Learned E.164 Numbers +4961007739003 nyc.route +4961007739002 fra.route sfo.route nyc.route Global Learned E.164 Numbers +4961007739001 sfo.route +4961007739002 fra.route +4961007739001 routestring: sfo.route Call controls establish ILS Exchange ILS Exchange +4961007739003 routestring: nyc.route GDPR information flooded Each call control puts learned patterns/numbers in respective partitions and associated them with learned SIP route string Global Learned E.164 Numbers +4961007739001 sfo.route +4961007739003 nyc.route routestring: fra.route SIP route strings routed by SIP route patterns +4961007739002 82
Routing Call to remote Number using ILS Information Global Leaned +E.164numbers +4961007739003 nyc.route +4961007739002 fra.route 2) Match on learned numeric +E.164 pattern in digit analysis leads to SIP route string fra.route 1) Alice calls +4961007739002 +4961007739001 routestring: sfo.route ILS Exchange 3) call gets routed using SIP route pattern fra.route routestring: fra.route 4) +4961007739002 is routeable using the trunk s CSS (is a local DN) +4961007739002 83
ILS Networking, GDPR Learning and Routing Components of end-to-end dialing/routing ILS networking GDPR propagation SIP trunk SIP route pattern bob@cisco.com 84969XXX route: fra.route route string: nyc.route ILS networking GDPR propagation jkrohn@cisco.com. 84953XXX (fra.route) bob@cisco.com, 84969XXX (nyc.route) SIP Trunk route string: fra.route jkrohn@cisco.com 84953XXX route: nyc.route SIP connectivity is foundation for call routing based on SIP route patterns ILS networking is foundation for exchange or GDPR reachability information GDPR propagation/exchange is enabled independent of ILS networking 84
GDPR Number Types Enterprise Alternate Number : Enterprise specific dialing habit (abbreviated on-net dialing, e.g. 8-496-9764) +E.164 Alternate Number : +E.164 number (e.g. +4961007739764) Enterprise Pattern : Wildcarded Enterprise specific dialing habit (e.g. 8-496- 9XXX) +E.164 Patterns : Wildcarded +E.164 (e.g. +4961007739XXX) Example: DN 9764 (not recommended, but ) +E.164 Alternate +4961007739764 Enterprise Alternate: 84969764 Enterprise Pattern: 84969XXX +E.164 Pattern: +4961007739XXX 9764 9765 Site ESC: +E.164 range +49 6100 773 9XXX Enterprise range: 84969XXX 85
GDPR Information Exchange Single Catalog per ILS cluster can contain: Per DN GDPR information Up to 5 URI aliases Enterprise alternate number (abbreviated inter-site dialing) +E.164 alternate number PSTN failover number (for numeric and URI dialing) DN independent GDPR information Enterprise pattern (abbreviated inter-site dialing): summary per DID range +E.164 pattern: summary per DID range Additional catalogs: imported GDPR catalogs Individual SIP route string per imported catalog Advertised into GDPR by cluster the catalog is imported on Use case: proxy for systems not supporting GDPR/ILS 86
Advertising Patterns vs. individual Alternate Numbers All advertised numbers and patterns are added to digit analysis on the receiving cluster Only advertising summaries (patterns) reduces the numbers of entries to be considered on the receiving side Individual numbers need to be advertised if numbers can t be summarized (e.g. one DN from range moved to different cluster) or local on/off-net decision is absolutely required! Otherwise call to unassigned DN in +E.164 range might be sent to remote cluster only to be blocked there (Shouldn t really be a problem) 87
GDPR in an Enterprise Dial Plan Dialing learned numbers Up to three intercluster dialing habits to reach remote DN: Enterprise (8+7) based on enterprise alternate/pattern +E.164 based on +E.164 alternate/pattern URI Assuming that CoS does not depend on dialing habit all remote patterns can be put into single partition onnetremote CSSs SJCInternational ILS learned URIs are reachable from any device (, but the SIP route patterns potentially are not) DN Partitions DN All IP Phone DNs (+E.164) SJCtoE164 1XXX, Prefix +1408555 9.[2-9]XXXXXX, Pre-Dot, Prefix +1408 onnetremote All patterns/numbers learned via GDPR + SIP route patterns for SIP route strings onnetremote added to all CSSes with CoS On-net Also make sure to add SIP route pattern matching on SIP route strings to onnetremote partitions 88
PSTN failover for URI dialed calls with GDPR bob@example.org alice@example.org GDPR learned: bob@example.org (east.route) Alternate: +4961007739764 east.route west.route CAC or SIP trunk failure bob@example.org +4961007739764 Alternate (+E.164) PSTN GDPR provides PSTN alternate number for learned URIs If primary call fails (CAC failure or SIP trunk failure) reroute to PSTN using PSTN failover number and AAR CSS of calling device 89
ILS Networking Call Controls participating in ILS network form a hub & spoke topology Each Call Control is hub or spoke all hubs are full-mesh largest diameter is three hops max. 10 hubs with max. 10 spokes each ILS hub ILS spoke 90
GDPR Information Propagation Each call control keeps local copy of all GDPR catalogs advertised by all other entities in the network Each call control periodically pulls in all changes of all GDPR catalogs from GDPR neighbors (interval 1-1440 minutes) GDPR catalog updates propagate through the network hop-by-hop (remember: maximum diameter is three hops) 2 nd sync interval 91
SIP Request Routing Flowchart Is LHS numeric? no Does whole URI match one in the CSS and URI table? no Does whole URI match one in ILS? no Does RHS match a SIP Route Pattern? no Block call yes yes yes No match yes Route/block based on existing numeric rules (see next slide) Offer call Note: Assume only alice@cisco.com is in URI table, 1) alice@cucm IP address will not route. 2) alice@cfqdn will not route Route using SIP route patterns based on routing string provided by ILS user @ example.org Route based on RHS Fallback for alpha-uris not local and not found in ILS! e.g. default routing left-hand-side (LHS) right-hand-side (RHS) 92
Numeric SIP Request Routing Flowchart Is RHS the IP address of a cluster member? no Does RHS match CFQDN? no Does RHS match OTLD? no Match RHS against SIP Route Pattern Route or block yes yes yes Analyze LHS Route or block Does LHS find a match? yes Offer call no numeric pattern actually routed based on RHS and not based on numeric dial plan 93
Clusterwide Domain Configuration OTLD: single domain CFQDN: one or more names separated by spaces Max 255 chars Allows wildcards; e.g. *.eu-cluster.home.org 94
Always set CFQDN and OTLD Set OTLD to match single(!) corporate domain name Make sure to set the CFQDN to match host names of all cluster nodes DNS naming structure might help e.g.: *.cucmeu.home.org for pub.cucmeu.home.org, sub1.cucmeu.home.org, Keep in mind that fallback routing based on RHS is implemented for: Alpha URIs not found locally Numeric URIs with RHS = OTLD not found in numeric lookup 95
Fully Qualified Domain Name in SIP Requests Always set Use Fully Qualified Domain Name in SIP Requests in SIP profile of all SIP trunks and endpoints involved: CUCM will relay an alphanumeric hostname of a caller to the called endpoint as a part of the SIP header information. This enables the called endpoint to return the call using the received or missed call list Mainly important for numeric IDs, but in mixed environments where numeric and alpha URIs exist, it s important to always have FQDNs in SIP requests for all calls For endpoints registered with CUCM the FQDN in SIP requests will be set to the OTLD configured in the enterprise parameters 96
Use Fully Qualified Domain Name in SIP Requests Example Route call cross-cluster INVITE bob@cisco.com RPID: sip:alice@cisco.com INVITE bob@cisco.com RPID: sip:alice@cisco.com ( Fully Qualified turned on) -or- INVITE bob@cisco.com RPID: sip:alice@10.10.10.1 ( Fully Qualified turned off) 180 Ringing RPID: sip:bob@cisco.com ( Fully Qualified turned on) -or- 180 Ringing RPID: sip:bob@10.10.10.1 ( Fully Qualified turned off) 180 Ringing RPID: sip:bob@cisco.com 97
Remember Best and most important tools for dial plan design: Pencil Paper Whiteboard Dial plans are not a new concept IP did not really change the fundamentals of dial plan design Dial Plan recommendations are not a monolith Take what you need Keep it simple! 98
Participate in the My Favorite Speaker Contest Promote Your Favorite Speaker and You Could be a Winner Promote your favorite speaker through Twitter and you could win $200 of Cisco Press products (@CiscoPress) Send a tweet and include Your favorite speaker s Twitter handle Two hashtags: #CLUS #MyFavoriteSpeaker You can submit an entry for more than one of your favorite speakers Don t forget to follow @CiscoLive and @CiscoPress View the official rules at http://bit.ly/cluswin 99
Complete Your Online Session Evaluation Give us your feedback and you could win fabulous prizes. Winners announced daily. Complete your session evaluation through the Cisco Live mobile app or visit one of the interactive kiosks located throughout the convention center. Don t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online 100
Continue Your Education Demos in the Cisco Campus Walk-in Self-Paced Labs Table Topics Meet the Engineer 1:1 meetings 101