Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

CC6 Script to check busy DN

Status
Not open for further replies.

bazzieb

IS-IT--Management
Jan 21, 2009
68
ZA
Hi There

I have a dept of lawyers that take direct calls from clients. What i want to do is have the script intecept the DID and do a check to see if the lawyer is busy on a call or not.

I know skillsets have an OUT OF SERVICE check, but how would i go about checking busy DN's?

Kind Regards
BazzieB
 
If the the lawyers have a contact center set (and have to login) you can use option 1 or 2. If the lawyers 'just have a telephone set' you can use option 3.
see below;

1) Check if any agents are available on skillset level via:
IF IDLE AGENT COUNT Init_skill < 1 THEN
..
END IF

2) Check if a specific agent is available via:
IF IDLE AGENT <Agent ID> THEN
..
END IF

3) Route the call to an (non-Contact Center) extention via:
ROUTE CALL <any_dn> CONTROLLED

CONTROLLED keyword
By default, after a call is routed, it is no longer under the control of Contact Center Manager. However, if you use the CONTROLLED keyword, the call
remains in the control of Contact Center Manager. If an error occurs, such as an invalid or busy destination, the call is returned to the queue so that it can be further treated by the system.

The CONTROLLED keyword works only if the ultimate destination (directly, or indirectly through switch features such as CALL FORWARD) is an internal DN (that is, on the same switch). If the DN is an external number that cannot be connected (for example, because it is busy), the CONTROLLED option is ignored. If this situation occurs for a call, the user receives a busy tone, and the script stops processing the call. CONTROLLED mode applies only if the destination is an internal DN that is busy or that does not exist.

CONTROLLED keyword is not currently supported for SIP.
 
Hi Utreg

Thanks for this information, my script is now validating but i think i am still off somewhere, let me give you the full scenario:

We have a about 30 lawyers that receive calls directly to their DN. They do have call center phones and can also take calls from a skillset.

The problem we have is that when a call comes through to a lawyer that is busy on a call, the client will leave a voicemail which the lawyer forgets to check on a regular basis. What i want to do is create a global mailbox, remove the mailboxes from lawyers phones and then let the script take control of the incoming call to one of the 30 DN's. It must check to see if the lawyer is busy on the phone. If the lawyer is busy it must play a voice prompt and give the client 2 options:
Option 1 = tranfer the call to the skillset so another lawyer can deal with it, and
Option 2 = leave a voice message.

I do understand what you have given me in the reply, but how do i get CC6 to take control of the incoming call?

Do i capture all these DID's in a variable? I am using the DNIS variable.

Hope you can help

Kind Regards
BazzieB


 
Hi bazzieb,

You can create a global variable and use the intrinsics to validate against it.

e.g.
IF DNIS = lawyer_DIDs_gv THEN
OPEN VOICE SESSION
PLAY PROMPT
VOICE SEGMENT menu_options_vs
WAIT 2
COLLECT 1 DIGITS INTO
menu_choice_cv INTER DIGIT TIMER 4
END VOICE SESSION

WHERE v_menu_choice_cv EQUALS
VALUE 1: ROUTE CALL lawyer_mbox_gv
DEFAULT: EXECUTE Wait_Loop
END WHERE
END IF

Let us know if that gets you where you need to go! :)
 
To add to TelecomGuyUT's note, I believe you would need to use and IDC table in the PBX to convert those DID numbers. Redirect them to a CDN (you can use just one CDN for all those DIDs). Then, in the application for that CDN, the original DID numbers will be seen as DNIS, and you can sort out the lawyers that way.
 
To take control of the incoming call the caller has to end up in the CC6 Master_script.
This you can arrange via an IDC table (where all lawyers DNIS point to a CDN which is aquired en known in the Master_script).
In CC6 you can check on the DNIS of the lawyer in the way TelecomGuyUT described.

A bit more work is entering all DNIS of the layers separately and route to the agent like:

/* here: first 1234 = DNIS, second 1234 = Login ID for that agent */


Where DNIS Equals
value 1234: Lawyer_Agent assigned 1234
value 1235: Lawyer_Agent assigned 1235
..
value 1264: Lawyer_Agent assigned 1264
End Where

If Idle Agent Lawyer_Agent /* Lawyer is loggend in and free to take a call */
Queue to Agent Lawyer_Agent with Priority 1
Wait 2
ELSE /* Laywer is not available to take a call */
/* Queue to skillset or mailbox here like TelecomGuyUT described */
END IF

You will have more control on reporting in this way since all calls go via CC6.

If reporting is not needed you can also point the individual phonesets to CC6 (via EFD and EHT to a CDN). In this case you know the laywer is busy (or away) and can handle these calls via a Queue to skillset or mailbox.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top