cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
25727
Views
145
Helpful
10
Comments
Aseem Anand
Cisco Employee
Cisco Employee

Introduction:

This document is to help you understand the call routing logic used by Unity Connection.  For better explanation i have tried explaining the call routing logic through a flow diagram:

Step 1:

As soon as unity connection gets the call from CUCM, it checks whether the call contains a redirecting ID or not. If the call contains a redirecting ID then unity connection treats it as a forwarded call and if not then its a direct call for unity.

Step 2:

Based on whether the call is forwarded or direct call, CUC will apply the appropriate routing rule.

==> Direct routing rules handle calls from users and unidentified callers which are dialed directly to Unity Connection. The default rules for direct calls are:

(a)  Attempt Sign-In—Calls from users are routed to the user sign-in conversation. •

(b) Opening Greeting—Calls from unidentified callers are routed to the Opening Greeting.

 

==> Forwarded routing rules handle calls that are forwarded to Unity Connection from either a user extension or from an extension that is not associated with a user account (such as a conference room).

The default rules created by CUC for forwarded calls are:

(a)  Attempt Forward—All calls forwarded from a user extension are routed to the user greeting.

(b) Opening Greeting—Calls forwarded from an extension that is not associated with a user account are routed to the Opening Greeting. Opening greeting routing rule just routes the call to the default system call handler "Opening greeting".

Step 3:

Unity connection then checks the redirecting ID or the calling ID into its database to see whether it recognizes the number or not and based on that it will apply the routing rule. If for a forwarded call the unity connection does not recognize the caller ID it selects the routing rule "opening greeting" and similarly if a user presses the message button on the phone, the call would come to CUC as a direct call with no redirecting ID and if the caller ID exists in the unity database CUC will select the routing rule "Attempt SignIn".

Note: Please do not confuse "opening greeting" routing rule with the Opening greeting call handler. They both are different but used together to answer calls from unidentified callers.

Port Status Monitor:

The best tool used in troubleshooting is remote port status monitor which can download from the link below:

http://www.ciscounitytools.com/SiteList/AllDownloads/alldownloads.html

Below are some of the examples from my lab explaining the port status monitor output for different types of calls:

(a). Direct call:

1. Direct call from an identified caller when he presses the message button on the phone:

06:22:18, New Call, CallerId=1000CalledId=7777,  RedirectingId=,  AltRedirectingId=,  Origin=16,  Reason=1,  CallGuid=8247897155A44071929903606F086C82,  CallerName=,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=1,  PortDisplayName=CUCMSIP-1-001,[Origin=Unknown],[Reason=Direct]

#### In the above output you can see that the call has no redirecting ID so unity treats it as a direct call. The port which answered the call is "CUCMSIP-1-001". ####

06:22:18, Changed the current search by extension search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

06:22:18, AttemptSignIn

06:22:18, State - AttemptSignIn.cde!Dummy

06:22:18, Event is [NULL]

06:22:18, SubSignIn

06:22:18, Subscriber Sign-In

06:22:18, State - SubSignIn.cde!AnswerPhone

06:22:18, Event is [TrueEvent]

06:22:18, State - SubSignIn.cde!AuthenticateUser

06:22:18, -->SubAuthenticate

2. Direct call from a user who exists on CUCM but does not exist in Unity connection:

06:26:51, New Call, CallerId=1002, CalledId=7777,  RedirectingId=,  AltRedirectingId=,  Origin=16,  Reason=1,  CallGuid=E42E8E826A89434887A5F74B7F372D3E,  CallerName=,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=1,  PortDisplayName=CUCMSIP-1-004,[Origin=Unknown],[Reason=Direct]

#### In the above output you can see that the call has no redirecting ID so unity treats it as a direct call. The port which answered the call is "CUCMSIP-1-004". ####

06:26:51, Changed the current search by extension search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

06:26:51, Changed the current search by name search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

06:26:51, AttemptSignIn   #### Attempt Signin here is not the Attempt signin forward routing rule but is referring to the conversation defined by default under the Attempt Sign in routing rule####

06:26:51, State - AttemptSignIn.cde!Dummy

06:26:51, Event is [NULL]

06:26:51, PHTransfer

06:26:51, State - PHTransfer.cde!LoadInfo

06:26:51, Event is [TrueEvent]

06:26:51, PHGreeting

06:26:51, State - PHGreeting.cde!PlayGreeting

06:26:51, Call answered if needed

06:26:51, Playing greeting for Call Handler:  Opening Greeting  

>>> Since the user does not exist in CUC, call gets transfered to opening greeting default system call hanbdler >>>>

(b). Forwarded call:

1. Call forward no answer to Voice Mail from a user who's mailbox is there on CUC:

06:41:04, New Call, CallerId=1002CalledId=7777,  RedirectingId=1000,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=F57EEA0314C94CBD9579A9EA374C7222,  CallerName=,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=CUCMSIP-1-007,[Origin=Unknown],[Reason=Forward No Answer]

#### The above output shows that the call has a redirecting ID so unity treats it as a forwarded call. The port which answered the call is "CUCMSIP-1-007 and the reason for redirection is also there which is "Forward No Answer". ####

06:41:05, Changed the current search by extension search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

06:41:05, Changed the current search by name search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

06:41:05, AttemptForward

06:41:05, State - AttemptForward.cde!Dummy

06:41:05, Event is [NULL]

06:41:05, PHTransfer

06:41:05, State - PHTransfer.cde!LoadInfo

06:41:05, Event is [TrueEvent]

06:41:05, PHGreeting

06:41:05, State - PHGreeting.cde!PlayGreeting

06:41:05, Call answered if needed

06:41:05, Playing greeting for Subscriber:  Aseem Anand

### Since user with extension 1000 exists on CUCM, direct forward rule forwards the call to the Subscriber mailbox ###

2. Port Status monitor output in case of a call to auto attendant:

04:42:18, New Call, CalledId=7777,  RedirectingId=6789,  AltRedirectingId=,  Origin=16,  Reason=4,  CallGuid=A316F53211264D2BBA6C17ECA6FE4BAA,  CallerName=,  LastRedirectingId=,  AltLastRedirectingId=,  LastRedirectingReason=4,  PortDisplayName=CUCMSIP-1-010,[Origin=Unknown],[Reason=Forward No Answer]

04:42:18, Changed the current search by extension search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

04:42:18, Changed the current search by name search space from <No scope> to 'cuc Search Space' ({30c32fdd-7b96-4bd3-ab23-699d7bc745eb})

04:42:19, AttemptForward

04:42:19, State - AttemptForward.cde!Dummy

04:42:19, PHTransfer

04:42:19, State - PHTransfer.cde!LoadInfo

04:42:19, Event is [TrueEvent]

04:42:19, PHGreeting

04:42:19, State - PHGreeting.cde!PlayGreeting

04:42:19, Call answered if needed

04:42:19, Playing greeting for Call Handler:  AutoAttendant_Aseanand

Similarly you can collect the outputs for other types of calls as well like Call forward ALL, Call Forward Busy etc.

Comments
Tumul Raizada
Cisco Employee
Cisco Employee

Great work dude! It is very lucid and informational.. :)

Bikramjit Singh
Community Member

Perfectly explains it! Very good doc.

sivneet01
Level 1
Level 1

This document is very helpful.

Deepak Rawat
Cisco Employee
Cisco Employee

Nyc document Aseem [+5]

Regards

Deepak

Aseem Anand
Cisco Employee
Cisco Employee

Thanks Deepak

Aseem

Abhishek Singh
Cisco Employee
Cisco Employee

Well Written & Concise. Very Helpful. +5

Plain and simple. Awesome Document!

Thanks!

Thammaya Gupta K.

jisidoro
Level 1
Level 1

Good Job!!! Very good!!

rahulkanhirode1
Level 1
Level 1

Awsome

anilkumar.cisco
Level 4
Level 4

+++5.. one stop shop for this question..

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: