cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3245
Views
40
Helpful
8
Comments
Amit Sharawat
Cisco Employee
Cisco Employee

When call lands on Cisco Unity Connection

The unity connection arbiter checks if the call that has come to the UCX is a direct call or the forwarded call.

Direct calls:

 If the message button of the IP phone is presses.
 If somebody has dialed the voicemail pilot number.


Forwarded call:

If a DN has CFA/CFNA/CFB etc. to VM set and we call that DN.

 

Routing Rules:

Based on if the call is a direct call or forwarded call, UCX arbitor invokes the following:

 

  • Direct routing rules
  • Forwarded routing rules

 

Note: There are 2 system defined routing rules of each of the above category, which cannot be deleted but can be modified to our requirements.

  • Attempt Sign In
  • Opening Greeting

 

We can define “Routing Rule Conditions” to match the following in order to process that routing rule.

  • Calling Number         
  • Dialed Number         
  • Port     
  • Phone System     
  • Schedule     

 
After the call is filtered using the above conditions, we can define the next action to be taken for the call.

 

After matching the condition, we can send the call to the following:

  • Call Handler     
  • Interview Handler     
  • Directory Handler     
  • Conversation     
  • User with Mailbox

 

Sending call to Call Handler

We can send the call to a specific call handler. We can define if we directly dial the handler or send the call to the greetings of the handler.

 

“Attempt Transfer” will dial the extension of the call handler and “Go Directly to Greetings” will the take the calls to the greeting of that call handler “Goodbye”.

 

Call handler settings:

  • After the call is sent to the call handler, “Transfer Rules” settings will kick in for the call if it is a “Attempt Transfer” call.
  • Greetings” settings will kick in for the call if it is a “Go directly to Greetings” call.

 

 

Transfer Rule settings on call handler

There are 3 options available in the transfer rules based on the schedule defined for them.

  • Alternate – Override “Standard” when enabled     
  • Closed – For off-hours      
  • Standard – Business hours

Note: When Alternate transfer rule is enabled, it overrides the closed and the standard.

 

After the call handler selects the rule, it check the configuration for the call transfer.

We can define the time schedule for the rule, during which it will be active.

 

We can define if we can send the call to the greetings of the call handler or transfer to any of the extension on the call manager

 

*****Sample call trace analysis*******

 

 

Call Information:

 

Calling number: 2001

Called number:2002

Call Handler ext:2003

Call Handler call forward:2004

 

Traces Collected

Micro traces:

For Routing rules:

Arbiter (levels 14, 15, 16)

RoutingRules (level 11)

 

For Transfer rule:

ConvRoutingRules (all levels)

RulesEngine (all levels)

 

Macro Traces:

Call Control (Miu) Traces

Call Flow Diagnostics

 

 

 

Call information in the traces:

15:46:26.834 |28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,Arbiter,-1,Incoming Call [callerID='2001' callerName='' calledID='2002' redirectingID='2002' altRedirectingID='' lastRedirectingID='2002' altLastRedirectingID='' reason=8=FwdUncond lastReason=8=FwdUncond] port=PhoneSystem-1-002 portsInUse=1 ansPortsFree=1 callGuid=BA54852534EA4734A8D3A935E851C3E3

 

 

Arbitor is trying to match the routing rule:

28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,RoutingRules,11,FindFirstTrueRule: StartIndex=[0]

BA54852534EA4734A8D3A935E851C3E3,RoutingRules,11,FindFirstTrueRule: Checking rule: Operator1 at index 0

28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,RoutingRules,11,Expression CallingNumber EQ 200? evaluates to TRUE.

28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,RoutingRules,11,FindFirstTrueRule: Rule [Operator1] evaluates to TRUE; Index=[0].

Arbiter,14,Routing Descision: AppName='PHTransfer' TargetId='{ebf1a1da-104f-44b3-a574-3cbf0fedb44a}' Type='3' Language='<No Language>'

 

 

As per the settings on the routing rule, call is sent to the call handler:

28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,5,PHTransfer_RunInit: Got call handler [{ebf1a1da-104f-44b3-a574-3cbf0fedb44a} call handler test 1 2003 SECONDARY]

 

These are the call handler settings applied on its transfer rule.

|28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,3,GetContactRuleProperties: ICsNamedProps::SetPropBool(bXferPlayIntro) to value: true returned 0x00000000 S_OK [Src/PHTransfer.cpp:642]

15:46:26.866 |28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,3,GetContactRuleProperties: ICsNamedProps::SetPropLong(lXferAction) to value: 1 returned 0x00000000 S_OK [Src/PHTransfer.cpp:646]

15:46:26.867 |28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,3,GetContactRuleProperties: ICsNamedProps::SetPropLong(lXferType) to value: 0 returned 0x00000000 S_OK [Src/PHTransfer.cpp:650]

15:46:26.867 |28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,3,GetContactRuleProperties: ICsNamedProps::SetPropLong(lXferRings) to value: 4 returned 0x00000000 S_OK [Src/PHTransfer.cpp:654]

15:46:26.867 |28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,3,GetContactRuleProperties: ICsNamedProps::SetPropString(strXferExtension) to value: 2004 returned 0x00000000 S_OK [Src/PHTransfer.cpp:658]

15:46:26.867

28654,PhoneSystem-1-002,BA54852534EA4734A8D3A935E851C3E3,ConvSub,5,GetContactRuleProperties: Transfer options:  Extension=[2003], action=[1], type=[0], rings=[4], RNA action=[1]

 

 

 

 

6832763C1FF437CA1B839548C710CBD,MiuGeneral,25,Enter CAvMiuCall::TransferEx destAddr='2004' type=1=WaitConnect maxRings=4 mediaSwitch='40e9f5b8-49be-4e12-a044-778ab0480208' bstrSrcAddress=''

 

 

Unity Conn.  Initiates the transfer based on the settings applied:

Send StationSoftKeyEventMessage (16 bytes) softKeyEvent=4=SkTrnsfer lineInstance=1 callReference=18023395

MiuSkinny,24,CMiuSkinnyCall::InitConsultCall

MiuSkinny,24,MiuSkinnyLine set active call = consultation call

 

 

 

MiuSkinny,24,CMiuSkinnyLine::RecvSuperTransferOffHook

MiuSkinny,24,CMiuSkinnyCall::ConsultCallGenerated()

CMiuSkinnyLine::DialTransfer(2004)

CMiuSkinnyCall::Dial: 2004

Send StationKeypadButtonMessage (8 bytes) kpButton=2=skpTwo

Send StationKeypadButtonMessage (8 bytes) kpButton=0=skpZero

Send StationKeypadButtonMessage (8 bytes) kpButton=0=skpZero

Send StationKeypadButtonMessage (8 bytes) kpButton=4=skpFour

 

 

Transfer completed by unity connection:

76832763C1FF437CA1B839548C710CBD,MiuSkinny,24,CMiuSkinnyCall::CompleteTransfer

16:11:03.932 |28654,PhoneSystem-1-002,76832763C1FF437CA1B839548C710CBD,MiuSkinny,13,Send StationSoftKeyEventMessage (16 bytes) softKeyEvent=4=SkTrnsfer lineInstance=1 callReference=18023395

 

 

 

 

Transfer completing seen in “MiuCall” traces as well.

16:11:04.141 |28654,PhoneSystem-1-002,76832763C1FF437CA1B839548C710CBD,MiuCall,11,263=[16:10:49.606 tid=0x6FEE 'tx> StationKeypadButtonMessage (8 bytes) kpButton=2=skpTwo']

16:11:04.141 |28654,PhoneSystem-1-002,76832763C1FF437CA1B839548C710CBD,MiuCall,11,264=[16:10:49.907 tid=0x6FEE 'tx> StationKeypadButtonMessage (8 bytes) kpButton=0=skpZero']

16:11:04.141 |28654,PhoneSystem-1-002,76832763C1FF437CA1B839548C710CBD,MiuCall,11,265=[16:10:50.207 tid=0x6FEE 'tx> StationKeypadButtonMessage (8 bytes) kpButton=0=skpZero']

16:11:04.141 |28654,PhoneSystem-1-002,76832763C1FF437CA1B839548C710CBD,MiuCall,11,266=[16:10:50.507 tid=0x6FEE 'tx> StationKeypadButtonMessage (8 bytes) kpButton=4=skpFour']

 

'rx> StationDisplayPromptStatusV2Message (28 bytes) timeOutValue=0 lineInstance=1 callReference=18023397 promptStatus="Ring Out"']

'rx> StationDisplayPromptStatusV2Message (28 bytes) timeOutValue=0 lineInstance=1 callReference=18023397 promptStatus="Connected"']

 

76832763C1FF437CA1B839548C710CBD,MiuMethods,12,Exit CAvMiuCall::CallDisassociate=0x00000000=S_OK

76832763C1FF437CA1B839548C710CBD,MiuMethods,12,Exit CAvMiuCall::TransferComplete=0x00000000=S_OK

 

 

 

 

 

 

 

 

Comments
Mohammed Khan
Cisco Employee
Cisco Employee

Good Doc +5

Regards,

Mohammed Noor

Very good document. Thanks for sharing

Amit, Excellent document !

Regards

Lavanya

CSC Moderator

Aman Soi
VIP Alumni
VIP Alumni

[+5] to Amit for sharing Nice DOC.

 

regds,

aman

Terry Cheema
VIP Alumni
VIP Alumni

Nice work (+5)

HemanthKannan
Level 1
Level 1

Very Nice Document... (+5)

jasonstepp
Level 5
Level 5

Great doc, Thank you.

Abhishek Singh
Cisco Employee
Cisco Employee

Very Nice and Descriptive Document. +5

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: