cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1680
Views
0
Helpful
11
Replies

Call Center Authentication question (CCX 8)

shikamarunara
Level 4
Level 4

Hello,

     I've created an administrator interface so that people can dial in and record prompts for a help desk.  I would like to know how to set up authentication to this so that only agents of a particular resource group can pass.  Right now, I know how to set it up so that an agent or supervisor can authenticate, but would like to restrict it to a particular group.  The java syntax I am using is;

is_supervisor == true

is_agent == true

Any help is appreciated.question.jpg

5 Accepted Solutions

Accepted Solutions

Anthony Holloway
Cisco Employee
Cisco Employee

You cannot obtain the group or CSQ membership of your users from within a script.

You will need to manually manage this process.

E.g.,

String[] help_desk_users = new String[] {"jsmith", "bjohnson"}

Then check if the logged in user is in that Array.

Here is a screen shot of how to search an Array for a value:

**Bonus - Two additional ways, each shorter than the next:

View solution in original post

You are welcome.  Thank you for the 5 star rating!

Contact Center is a bit closer to programming and logical thinking, versus telephones.  I have a background in programming, and therefore UCCX fits me quite nicely.  The documentation also is not as confusing for me as it might be for you...but it's still pretty confusing or lacking at times.

So for you, it's very possible that UCCX will always be slightly out of reach, just as TDM Telephone technology is for me.  BTW, what the heck is with all those wires anyway? 

Good luck, and just keep asking questions!

View solution in original post

UCCX runs on Java, so when you are faced with a question like: "How do I get just the last four digits of the calling number?"

Look to Java for the answer:  http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#substring(int)

And when you are faced with a question like: "How do I attempt to play one prompt, but if it's missing or corrupt, play another prompt?"

Look to UCCX for the answer:  http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_8_0/user/guide/uccx801_exp_lang.pdf

Snippet:

The Prompt Substitution Operator |||

The operator ||| is called the prompt substitution operator. It is used to create a

substitute prompt. A substitute prompt is a prompt where the first prompt is

queued for playback whenever the substitute prompt is used in a media context.

If a failure occurs while attempting to queue the prompt then the substitute is

queued instead. For example the main prompt could represent a TTS prompt

which in cases where the system has not been installed or licensed with TTS

support, one would want to fallback to a pre-recorded prompt. In this case,

queuing a TTS prompt would fail and the substitute would be used instead. This

operator is not associative.

You will slowly get the hang of which types of questions are answered by Java and which by UCCX, but it will take time, and possibly looking in both locations.

Again, don't stop asking questions!

View solution in original post

I would not focus on Java.  You can do alot inside of UCCX, with just the UCCX steps and documentation as your reference.  If you pickup a Java book, it will not only be void of anything UCCX related, but it will go on to teach you about Enterprise class programming, and blah blah blah.

And when you get stuck, ask questions!

View solution in original post

I don't want to steer you away from learning Java, if you really want to.  But, take your original post for example.

You did not have to do what I did and build an Array, and iterator, just to see if a particular person was in the list.

I did that because I know Java, not because it was the only way to do it.

You could have just as easily done this (albeit a little clunkier, but it would have gotten the job done):

if user_id == "avholloway" || user_id == "ekholloway" || etc..

And that kind of syntax is built right into the script Editor, you just need to click the buttons:

So, if you are really looking for a Java book, I can only recommend the one Java book I have read: Head First Java

View solution in original post

11 Replies 11

Anthony Holloway
Cisco Employee
Cisco Employee

You cannot obtain the group or CSQ membership of your users from within a script.

You will need to manually manage this process.

E.g.,

String[] help_desk_users = new String[] {"jsmith", "bjohnson"}

Then check if the logged in user is in that Array.

Here is a screen shot of how to search an Array for a value:

**Bonus - Two additional ways, each shorter than the next:

Thanks, Anthony.  You've helped me with quite a few call center script scenarios in the past (thank you!), but I'd like to know how I can develop my skills so that I can learn these myself?  How did you learn to do all this?  Is this in a book somewhere?  I've read the Cisco Scripting documentation and I find them confusing.

You are welcome.  Thank you for the 5 star rating!

Contact Center is a bit closer to programming and logical thinking, versus telephones.  I have a background in programming, and therefore UCCX fits me quite nicely.  The documentation also is not as confusing for me as it might be for you...but it's still pretty confusing or lacking at times.

So for you, it's very possible that UCCX will always be slightly out of reach, just as TDM Telephone technology is for me.  BTW, what the heck is with all those wires anyway? 

Good luck, and just keep asking questions!

Thank you, Anthony.  I think I should maybe spend some more time on the programming side, it might help.

UCCX runs on Java, so when you are faced with a question like: "How do I get just the last four digits of the calling number?"

Look to Java for the answer:  http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#substring(int)

And when you are faced with a question like: "How do I attempt to play one prompt, but if it's missing or corrupt, play another prompt?"

Look to UCCX for the answer:  http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_8_0/user/guide/uccx801_exp_lang.pdf

Snippet:

The Prompt Substitution Operator |||

The operator ||| is called the prompt substitution operator. It is used to create a

substitute prompt. A substitute prompt is a prompt where the first prompt is

queued for playback whenever the substitute prompt is used in a media context.

If a failure occurs while attempting to queue the prompt then the substitute is

queued instead. For example the main prompt could represent a TTS prompt

which in cases where the system has not been installed or licensed with TTS

support, one would want to fallback to a pre-recorded prompt. In this case,

queuing a TTS prompt would fail and the substitute would be used instead. This

operator is not associative.

You will slowly get the hang of which types of questions are answered by Java and which by UCCX, but it will take time, and possibly looking in both locations.

Again, don't stop asking questions!

Hi Anthony,

     It's been a while, hope you're doing well.  Can't thank you enough for the help on authentication from a few months ago.  I took ample notes. 

     Like I mentioned previously, I would like to work more on my programming skills so that I can improve on the CRS scripting.  Can you recommend a good beginner's java book for this purpose?  Also, is java a good language to have in the market?  Some people I talk to think that it's going away, but it seems to continue being used.

I would not focus on Java.  You can do alot inside of UCCX, with just the UCCX steps and documentation as your reference.  If you pickup a Java book, it will not only be void of anything UCCX related, but it will go on to teach you about Enterprise class programming, and blah blah blah.

And when you get stuck, ask questions!

Hey Anthony,

     Understood, however the problem I'm having is that the custom syntax that is added in the call center scripts is java, which frankly I've no experience in.  The only way I've been able to work through issues was due in large part to the kindness of strangers in the forums.  I've read the documentation on scripts but a fair deal of it is incomprehensible.  Many people that I talk to can't explain java syntax amended in their steps because their scripts are lifted from somewhere else.

     I dont mind learning java and I'm aware that much of what I will pick up from a book will be far and above what's called for in CCX, but if it will help me figure out how to work with it it'd be worth it, shouldn't it?

I don't want to steer you away from learning Java, if you really want to.  But, take your original post for example.

You did not have to do what I did and build an Array, and iterator, just to see if a particular person was in the list.

I did that because I know Java, not because it was the only way to do it.

You could have just as easily done this (albeit a little clunkier, but it would have gotten the job done):

if user_id == "avholloway" || user_id == "ekholloway" || etc..

And that kind of syntax is built right into the script Editor, you just need to click the buttons:

So, if you are really looking for a Java book, I can only recommend the one Java book I have read: Head First Java

Thanks, Anthony. You're a big help, as always. Some java learning may not hurt, so I think I'll look into it. It seems that the better CCX techs are well versed in it.

Sent from Cisco Technical Support iPad App

I'd second that book - though my other half did find it hilarious that I was suddenly reading what appeared to be a childrens' book with illustrations of dogs sat in cups. She still talks about it...

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!