03-09-2011 09:09 AM - edited 03-14-2019 07:32 AM
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.
Solved! Go to Solution.
03-09-2011 08:52 PM
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:
03-10-2011 11:47 AM
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!
03-14-2011 06:45 PM
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!
08-17-2011 02:34 PM
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!
08-17-2011 06:49 PM
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
03-09-2011 08:52 PM
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:
03-10-2011 09:34 AM
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.
03-10-2011 11:47 AM
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!
03-10-2011 03:41 PM
Thank you, Anthony. I think I should maybe spend some more time on the programming side, it might help.
03-14-2011 06:45 PM
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!
08-17-2011 02:10 PM
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.
08-17-2011 02:34 PM
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!
08-17-2011 05:57 PM
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?
08-17-2011 06:49 PM
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
08-17-2011 07:17 PM
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
08-18-2011 11:22 PM
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
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide