Friday, 24 May 2013

Outbound dialer in uccx

In case of UCCX outbound dialing are of two type : Direct preview and IVR mode (IVR mode is further divided in progressive and predictive)

Direct preview:

In case of direct preview dialing

1. when a agent is in ready state and the dialer has selected a contact from the campaign manager the dialer ask the resource manager to reserve the resources

2. The resource manager change the agent to reserve state

3.  The dialer send a call to the Agent and same time initiate a popup in the agent desktop with the details of the contact, The agent either chooses to accept the call or reject the call if the Agent accept the call the call is connected , The dialer instruct the resource manager to place a outbound call from the Agent phone

4. Once the call is answered the the contact is closed by the dialer and marked as a voice call and send the details to the campain manager

IVR Mode:

In case of outbound dialer in IVR mode below  steps occurs;

1. The dialer chooses a contact  and as per the dialing mode (predictive or progressive based on algorithm ) dial the contact using the SIP via voice gateway

2. If the contact is not a live contcat which the SIP gateway can determine by using the CPA capability ,the dialer update the status accordingly in the configuration database

3. if the contact is a live contact then the dialer update the configuration database accordingly and send a SIP refer message to the SIP gateway which in turn transfer the call to the CTI route point associated with the IVR application which in turn choosea a IVR port and trigger the IVR application associated with the campaign .


The difference between these two is that in case of preview dialer the call is dialer from the Agent Phone while in IVR mode the acll is handled by a IVR application associated with the campaign.

Wednesday, 15 May 2013

Login issue in Cisco Agent Desktop

Recently during a deployment  project faced issue with Agent not able to login to CAD and giving error in the logs located at C:\Program Files (x86)\Cisco\Desktop\log ..

The error contain the message "Retrive value for LDAP Request Timeout from preferences"

So from the logs it seems that the CAD is timeout while initiating a login to UCCX .

Hence i increased the Timer for LDAP Authentication in the phonedev.cfg in
C:\Program Files\Cisco\Desktop\Config

and add the below line
[ReqTimeout]
Milliseconds=20000


it will increase the timeout value.

Next chnage in registry setting  in the below location
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Calabrio\CAD\Site Setup

Change the LDAP Connection Timeout parameter value to 60

it resolved my login issue . Hope it help someone else.

Friday, 3 May 2013

ISDN CAS ( Channel associated Signalling )


CAS ( Channel associated sgnalling) is a kind of PSTN signalling for E1/T1 Link.

In case of CAS the signalling information is sent over the B Channel and hence the signalling is In Band.
Hence CAS is alos called a "Robbed bit signalling".

Below are the list of signalling used by CAS to detect phone and network events.
1. Loopstart
2. groundstart
3. E&M

The disadvantage of loopstart is that it is prone to glare (A situation where incoming and outgoing call both try to sieze a channel )

The best to use is E&M as it  provide both disconnect and answer supervision and is not prone to glare problem

Typical configuration of CAS include below command:

controller T1 0

clock source line primary

ds0-group 1 timeslots 1-24 type e&m-fgd dtmf dnis

In this case the below type command mean that it card will collect dual tone multifrequecy for DNIS for E&M
"type e&m-fgd dtmf dnis " .

You can find many such frequency or type you can select one as per your requirement....

Good Link from Cisco for T1 CAS troubleshoot..

http://www.cisco.com/en/US/tech/tk652/tk653/technologies_configuration_example09186a00801040bc.shtml

Tuesday, 30 April 2013

Showing Enterprise Data in Cisco Agent Desktop

Few days back i got a requirement from one of our customer.They want to deploy CCX in there setup and the requirement is when someone call a trigger point from PSTN and when the call reaches the the CAD, The CAD should display the name of the Customer for whom the trigger point has been configured .

So to acheive this we need to do few configuration in the Desktop administrator and the CCX script editior.
so first in the cisco desktop administrator.
Go to Service Configuration> Enterprise data > Field
Modify the Call Variable change the call variable name to anything meaningful (I changed it to Customer Name)






Next step is to define a layout i created and named it " Custom" and added i want to incorporate in the layout this layout will be displayed in the CAD window.


 Before that we need to get the called number that has been dialed,This you can get from "Get Call Contact Info" and assign it to a  string variable "strCallingNumber"


After that you can either use the caller number info to configure the customer name by using either the Switch or If statement
 Next step will be in the CCX script editor and add a " set enterprise variable ' step.

Remember before defining the "set enterprise variable" step you need to define the ECC varible from setting > Expanded call varible



Name this variable as "user.layout"

Now add a "Set Enterprise variable"












Sunday, 28 April 2013

UCCX Script for Checking Holiday

I am going to share a vey common scenario that many UCCX customer demands in there scripts.This is how incorporating a holiday check in there scripts as a subfow.

As this scripts are commonly used by all the scripts so better to create it as a separate individual scripts and to return a Value (either true or fasle).True in case it found a holiday and flase if it doesn't find a holiday.

To acheive this the best option is to use the XML document  for holiday the sample document that i used is as below  and name it as per your own ( I named it Holiday.xml)

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- m/d/yyyy NO LEADING ZEROES IN DATE NUMBERS !!!! -->
<Holidays>
       <Holiday1>2/2/2013</Holiday1>
       <Holiday2>4/26/2013</Holiday2>
       <Holiday3>4/27/2013</Holiday3>
 </Holidays>


Remember  not to put any leading "0" in mentioning the date.

Now lets get a date form the system to get a date from the system create a date (Lets say todaysdate) variable and using the create java object step get the current date from the system,The constructor  for this is java.utils.Date().

It will look like as below


Now next step is to use the execute java method to get the date,month and year in a separate variable ( an integer type variable) .





Do the Same with separate variable for Month and day.

Once you get the variable in integer format  change then to string format using the execute java method as shown below:



 Now once you get all the value in string format arrange them in the daye format ( i used mm/dd/yyyy)
so to scheive this use the set step,




Now using the get XML data get the list of holiday from the XML document created previously and assign it to a variable (type string)


Now using if statement comapre the two value  (one you received from the system an done you rceived from the XML document and put a logic or set a boolean variable to true if condition matches and use it for the Main script.





Monday, 22 April 2013

What is a E1/T1 PRI and how to configure NFAS PRI

Many time during our engineering graduation and at the time of networking career came across E1/T1 link.
I was thinking of writing or discussing this in the blog keeping very basic  fundamental of these and a few initial configuration that we do to make it work.

E1 and T1 are the carrier and ISDN PRI work over it. The ISDN are of two type BRI and PRI The PRI has two options.

T1 - In this the ISDN contain 23 B channel and 1 D channel (Control channel for ISDN)
E1- In this the ISDN contain 30 B + 1 D channel

I am going to discuss NFAS in this post ..

NFAS: Nfas is a function of Pri where 1 D channel control multiple pri , To a Max 1 D channel in NFAS can control 478 B Channel , In NFAS for sake of redundancy you can also define a secondary D channel apart from the primary one

Configuration command for NFAS:
pri-group timeslots 1-24 nfas_d function nfas_interface int_number nfas_group group_number

 function - The function to be performed by timeslot 24, either primary, backup, or none. Every NFAS group must have one primary. The router does not require a backup, however most NFAS implementations
 do have a backup D channel. Contact your telco to determine whether you should configure a backup D channel for your NFAS group. The rest of the controllers can be configured with none, which designates the 24th timeslot as a B channel.  

 int_number - A value assigned by the service provider and used to uniquely identify the PRI. The values possible range from 0 to the highest t1 available on the router, minus one. For example, if the router has 10 T1s the NFAS interface number can range betweeen 0 and 9. The 0 interface must be assigned to the primary D channel and the 1 interface to the backup D channel.

 group_number - Group identifier unique on the router. Multiple NFAS groups can exist on the router. Each group must be configured with a primary and secondary controller. 

Never user Interface id number as 1 if you are planning to implement backup D Channel

Sample Config:

isdn switch-type primary-ni

controller T1 0
 framing esf
 clock source line primary
 linecode b8zs
 pri-group timeslots 1-24 nfas_d primary nfas_int 0 nfas_group 0
!
controller T1 1
 framing esf
 clock source line secondary 1
 linecode b8zs
 pri-group timeslots 1-24 nfas_d backup nfas_int 1 nfas_group 0
!
controller T1 2
 framing esf
 clock source line secondary 2
 linecode b8zs
 pri-group timeslots 1-24 nfas_d none nfas_int 2 nfas_group


Here Controller T1 has the primary D channel and all has been binded to group 0 with command parameter "nfas_group 0"..

Command that is helpful in troubleshooting idsn issue is 

Debug isdn q931..

 

  

Sunday, 21 April 2013

Unity Connection Trace troubleshooting

The Traces for the unity connection is divide into two one is micro traces and other is macro traces.

Micro traces deal with problem related to specific service component
Macro traces deal with problem related to some general problem

Here is the list from cisco guide which will give you when to use which trace.

Macro Traces:







Micro Traces:





 To enable trace you need to enable relevant traces from the cisco unity connection servicability page ..