Wednesday, 9 April 2014

UnityCN AA Practical Sample and Features

This article mainly interprets AA feature on cisco unityCN and specifies details step by step.
Let’s pay attention to some prerequisites before start here:
  1. Using SIP for integration between cisco UnityCN and callmanager. And all PSTN calls is via SIP trunk.
  2. 2800 is used for internal calling to call handler main menu. And 7055002800 is to be accessed for PSTN calls.
  3. Here is how the AA menu consist of:
2800
AA main
0: 2001 (“operator”)
1: sales -2801
2: engineering -2802
3: directory-handler
4: transfer- 914082023001
Or while playing greetings, you are able be transferred by dialing any numbers including pstn numbers.


STEP 1:
Create SIP trunk for incoming calls to 2800 accessing to unity from external SIP trunk which retrieve last four digits for internal routing.
Notes: ticking this checkpoint is necessary in order to meet Direct Routing. Otherwise unity will ask you for pin number, which is directed to users’ mailbox.
Watch out these css fields for calling out to PSTN from unity.
STEP 2:
Create line groups:
Use broadcast for distributing option:
Create hunt list
Create hunt pilots:




STEP 3:
Creating main Call handler for directing input options and personalized greeting.
Go to greeting sub menu:
Chose “standard” option
Tick this option to call PSTN numbers while playing greetings:
After greeting, restarts greeting again:
Recording customized greeting to introducing the mainframe of your AA:
STEP 4:
Create other sub menus
Each handlers are transferred to pilots numbers in CCM:
Enginneering:
Sales:
STEP 4.2: assign new directory handlers


STEP 5:
Assign 2800 as accessing number matched dialed number from sip trunk:
And send call to AA MAIN handler:
Match dialed number 2800:


STEP 6:
Going back to main menu handler and assign specific input information for directing:
Click caller input submenu:
Notes:
  1. Unlock and ignore digit 9 for dialing PSTN number, otherwise, unity will strip 9 when dialing resulting from dialing failure.
  2. * is designed for login users’ mailbox, for security concerns, we ignore the key and lock it.
  3. Same step to #





STEP 7:
Assign each key to handlers:









Feature 1:
By default, Unity allows callers to dial any number while playing greeting, but that is under limited by Restriction tables:


So caller is able to call internal numbers that not starting with 9, like 2001, 2000 and 2000, but is not allowed to dial any PSTN numbers, like 9, 91, 9011
To break this rule, go to “Default System Transfer”.  Because we only need dial 914082023001, uncheck the following restrictions:


Feature 2:
The trouble I ran into was that I failed to digits via sip trunk after entered main call handler.  Changing the dtmf signaling is able to solve this issue:
dial-peer voice 2 voip
translation-profile outgoing no-9
destination-pattern 91T
voice-class codec 1
session protocol sipv2
session target ipv4:142.100.64.11
dtmf-relay rtp-nte   


The original one is “sip-notify”.





Feature 3:


When troubleshooting sip messages using “debug ccsip message”, I found pound sign # was translated to %23 based upon RFC standards.  


*Mar  1 03:06:57.027: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg:
Received:
CANCEL sip:01185224044001%23@12.12.12.2:5060 SIP/2.0
Date: Sun, 09 Feb 2014 07:15:51 GMT
From: "FROM-BARRIE" <sip:+17055002001@142.100.64.11>;tag=0e6cbc86-6b78-4e1c-967c-167cf57ad519-33233030
Content-Length: 0
To: <sip:01185224044001%23@12.12.12.2>
Call-ID: 4fb300-2f712b27-202-b40648e@142.100.64.11
Via: SIP/2.0/UDP 142.100.64.11:5060;branch=z9hG4bK2e67b8cd63b
CSeq: 101 CANCEL
Max-Forwards: 70


Therefore to solve failing to dial any numbers ending with # sign, I went over the translate-rules, and then changed them to retrieve shot numbers. as below:



voice translation-rule 1
rule 1 /^.*\(3...\)/ /\1/
rule 2 /^.*\(4...\)/ /\1/


original ones:
voice translation-rule 1
rule 1 /^.*\(3...\)&/ /\1/
rule 2 /^.*\(4...\)&/ /\1/


& means last ending position.

No comments:

Post a Comment