Get Digit String issue

Hey Team, I am looking for the proper way to do this if the way I am doing it is not correct.
I use a get digit string and play a menu prompt to a caller
Press 1
Press 2
Press 3
Etc...
But if the caller presses a 5 digit code they get a super secret special menu.  All this works great.  When i do the debug I see the digits being passed to the sCED variable I use.  99% of all callers are not pressing the pound key after thier key press so the get digit string timeout brance gets used.
I have fixed this in two ways.  I use an if statement in the timeout to check if sCED has a value I then send it to another if statement for routing to the various menu options.
THe out way I fixed this is I just send every call which hits the time out on to be processed and evaluated.
Am I doing this correctly?  It all works fine but I wanted to make sure there are no gotchas or better ways to accomplish this.
Having the caller pass both a single digit and 5 digits is why I use the get digit string instead of a menu step.
See screen shot.  Thanks in advance for any feedback.
Go Butler Bulldogs!!

A couple of suggestions in the form of pseudo code (all in the name of effeciency):
label main_menu_resetset counter = 0label main_menuced = get digit string(timeout 3 sec, inter-digit 1 sec, no terminating or cancel digit, no retries)  successful    label main_menu_success    if (ced == super_secret_key)      true        goto super_secret_section      false    switch (ced)      case "1"        /* do menu option 1 tasks */      case N        /* do menu option N tasks */      default        goto main_menu_failure  timeout    goto main_menu_success  unsuccessful    label main_menu_failure    play prompt (invalid)    if (++counter > maximum)      true        goto customer_service      false        play prompt (try_again)        goto main_menu
Questions to ask yourself about your approach and this new approach:
How many steps do I have in this solution (not counting branches)?
How many steps for best case scenario execution?
"" worst case scenario?
How easy is it to change the super secret key (and length of key)?
How easy is it to add/remove menu options (steps required to add)?
At how many points are you addressing the failures in your menu?

Similar Messages

  • Get Digit String Step on UCCX 8.0.2

    Hello,
    I'm using the "Get Digit String" step to prompt callers for their account number.  I am using this step to collect account numbers from Spanish speaking callers.  I have created a spanish prompt asking the callers for their account number and am playing that when the call enters the "Get Digit String" step. I have also configured the "Timeout" and "Unsuccessful" steps to also play Spanish prompts before sending the call to the next step in the strip. The problem that I'm having is that if I don't enter a number, after the initial prompt, I hear a message, in English, that says "Are you still there" and then I'm prompted to enter my account number again.  How do I change the "Are you still there" message to a Spanish message?  Can this even be done?
    Any help would be greatly appreciated.
    Thanks.

    If you modify the system prompt, chances are in the future an upgrade can overwrite your recording. What you should do is set your retry and timeout counts to 0, put an increment node and increment an int variable, and use an if statement to check the index of that int to see how many times you retied. Within the timeout and and unsuccessful node put an audio file there to represent each message.

  • Ignoring Keys in "Get Digit String" steps

    I have a "Get Digit String" step to allow users to press '1' to bypass some announcements.  The Prompt for this step is set to play the announcments.  On the Input tab, I've set Maximum Retries = 0, so that I don't hear "Are you still there?" after the announcements play.  On the Filter tab, I've set only the '1' key as a valid option.  I've also set the Input Length = 1.  What happens is that if any key other than '1' is pressed, then the Unsuccessful branch executes, and the announcements are terminated.  But I only want the announcements terminated if the '1' is pressed.  All other keys should just be ignored, and the announcements should continue playing.
    Any ideas on how to get this done?

    That's not possible for one simple reason.  The script executes in a serial fashion.  One step at a time.
    What you are asking requires asynchronous activity.
    In one instance you need to play a message, and in another you need to validate user input.
    From what I can think of, your best solution is to eliminate the exclusivity of the number 1 and just allow any digit.
    I did think of an alternate method, but it requires greater knowledge of CallManager an MOH sources.
    Here's an example:
    2 CTI Port Groups, 1 for the call to land on, and 1 for your to redirect to which has a special MOH source that plays messages to the caller.
    Call comes in on port group 1
    You process some info
    You redirect the caller to the messages phone number in port group 2
    Place Call Hold
    Get Digit String (filter "1")
         Success
              Call Unhold
              Call Redirect somewhere else
         Failure
              Loop Get Digit Step
    EDIT:  Again, I want to stress that this method requires exceptional knowledge of CallManager's ability to handle MOH.  There's a lot to consider on this one.

  • CCX 8/9.x Speech Reco ("get digit string")

    I need to be able to Speak a Date in such as January 20, 1990 and populate a String Variable with the result (granted my Grammars are straight) however, The Get Digit String step won't do this for me (and I don't have a test environment yet).  What Step will I need to Use?  How to populate the String would be helpful as well.  Thanks.
    Sam

    It's been a while since I did this, but I think it's the Generic Recognition Step.  It could also probably be done with the Simple Recognition step, but I think that one is more for when the user is making a selection from a set of choices.  I say probably, because technically, saying a date is making a selection from a set of all of the dates which have ever existed.  But, I think you can see how that might not work.
    Have you read the step reference guide?
    http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_9_0/programming/guide/SeriesVol2.pdf
    This is a subject which does not get talked about often on these forums.  I wish more people used it, and then we'd have more discussions about it.  In my opinion, I think that it's just too complicated, expensive, and the masses just are not ready for it yet.  I've used a few ASR systems personally, and I always feel more comfotable just pressing the digits.  That's me though.
    Good luck.
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • Get Digit String in IVR with variable string?

    Hello, everyone!
    I  have the same problem, I need to have both 3 and 4 length input. With #  everything works fine, but I want to configure it without terminator to  be used by the caller.
    This is what I got so far:
    tranext = Extended Get String Digit
    - succesfull
    --if (tranext.length() == 4) then
    ----True
    -------Call redirect
    ----False
    --------If (tranext.length() == 3) then
    -----------True
    ---------------- Call redirect
    But it still calls only for 4 digit numbers, ignoring 3 digits.. What else do I have to do?
    IPC Version
    5.0(2)_Build064

    You need to do the "If (tranext.length() == 3) " logic under the timeout branch.
    HTH,
    Chris

  • Any Easy way to get Delimited String

    Hi,
    I have use create-delimited-string function in my BPEL process to create "," delimited string. i.e string1,string2,string3.
    What is best way to parse this string to get individual string.
    I want to parse string1,string2,string3 to get
    string1
    string2
    string3
    like StringTokenizer in java.
    Thanks
    Jigar

    Off the top of my head, you could create a bpel while loop, that loops until a string contains(',') function returns false.
    Then within the while loop do a substring-before() function to obtain each string before the comma.
    The issue above is that you will have to predefine the variables you are populating, so if you do not know how many results there are this may be a problem.
    I'm sure there are a couple of ways of doing this though. If you're not happy with it all and need a quick solution then there is always embedded java.

  • Problem to get max string value

    Hi
    my problem is i don't get correct result when i get max string value from my table. for example, it returns '9' as max value while i have some bigger string values like 73, 80,65, ...
    i found
    some solutions to handle this problem (like converting to char or adding some zero in the begining of my value) but it does not appropriate for my situation because my string value maybe everything (some of my customers can use numbers while some other
    else can use alphabetical+numbers)!.
    can anybody help me ?
    thanks in advance
    http://www.codeproject.com/KB/codegen/DatabaseHelper.aspx

    When I see NVARCHAR(50)(50) I am pretty sure the data was declared by an ACCESS programmer who has no idea what he is doing. Do you really have first
    and last names that need fifty UNICODE characters ?  You will get them!  If you invite garbage data, it will come. The USPS uses VARCHAR(20) for names; this has to do with the size of mailing labels and the fact
    that Latin-1 is required by ISO in ALL languages. 
    lease read the  "Stairway to Data" series and pay attention to last sections on the design of encoding schemes. What you have is useless and dangerous because it has no data integrity.  Tag
    numbers (learn what that means, please) need a regular expression and I like to have a check digit. My first guess, without an specs is that you need something like this:  
    patient _case_nbr CHAR() NOT NULL PRIMARY KEY
     CHECK (patient _case_nbr 
      LIKE '[ ABC][0-9][0-9][0-9][0-9][0-9]')
    Fixed length for the forms and display, characters limtied to the Latin-1 Unicode set, and easy to sort. 
     http://www.sqlservercentral.com/articles/Database+Design/72612/)
    --CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
    in Sets / Trees and Hierarchies in SQL

  • How can I get back old issues from my TIME app?

    Hi, I hope someone can help me.  I've been trying to get help for a month now.  I had purchased several issues from TIME app but when I just got my ipad 2, I couldn't get the issues back.  I used the same ID and password.  I decided to try buying a new issue and when I did, I had an email from itunes warning me that it was not my usual ID.  I am very confused.  I wrote to TIME and they say I should contact itunes.  I have spent hours trying to contact itunes for help.  They seem uncontactable.  Can someone please tell me if I can somehow get my old issues back?
    Karen

    If they were not backed up or part of photostream, then no, you cannot.

  • HT1768 I get a message "The file "iTunes Library.itl" cannot be read because it was created by a newer version of iTunes." Please advise what I need to do to get around this issue - at the moment iTunes wont open up!

    I get a message "The file "iTunes Library.itl" cannot be read because it was created by a newer version of iTunes." Please advise what I need to do to get around this issue - at the moment iTunes wont open up!

    Hi did you ever get a solution to this problem? Having the same issue myself!

  • Just had to wipe and my Mac but I'm still getting storage message issues.  The About Storage screen says I have 285GB of "Other."  What is it?  Where is it?

    Just had to wipe and my Mac but I'm still getting storage message issues.  The About Storage screen says I have 285GB of "Other."  What is it?  Where is it?  I can't even restore my photo library.

    This should help you understand http://pondini.org/OSX/LionStorage.html

  • I'm getting the below issue when I try to deploy a report with Dynamic parameters, when I deploy it with static parameters I'm not getting this issue.

    I’m getting the below issue when I try to deploy a crystal report with Dynamic parameters in BI Launch Pad, when I deploy the same report with static parameters I can deploy and run it. I have Restarted the BI server, still the issue exitno use. kindly help me on this issue.
    “This error occurred: Adding Crystal Report "CrystalReport1.rpt" failed. The server with kind rptappserver returned an error result. Failed to copy the report file to the report object. Refreshing the report object properties might have failed. Failed to read data from report file CrystalReport1. Reason: Failed to read parameter object”.

    BO does not run dynamic params through the report as would happen without BusinessObjects (BO) or Crystal Reports Server (CRS).  When you publish a report with dynamic parameters to BO/CRS, the prompt is published to the repository so that it can be accessed through the Business View Manager (which can be installed as part of the client tools).  In order for this to work a couple of things need to happen:
    1.  You need to be sure that you check the "Update Repository" box on the Save As screen the first time you publish the report.
    2.  Your BO/CRS user needs to have "view" access to the Crystal2013ReportApplicationServer in the Servers section in the CMC - in fact, the Everyone group should be given view access to the server in order for dynamic prompts to work correctly.
    3.  In the Business View Manager, the Administrator user needs to give your user, or, even better, a Crystal Developers group full control access to the "Dynamic Cascading Prompts" folder.
    Best practice for dynamic prompts in a BO/CRS environment is to actually create the prompts in the Business View Manager.  This will allow you to create a single data connection that can be reused and also create lists of values such that the same list or prompt can be reused by multiple reports.  If you just create the prompts in Crystal, you will end up with multiple data connections to the same database, the prompts will use the whole query for the reports to get the dynamic values instead of just a focused query to the lookup table that contains the values, and there ends up being lots of duplication and chaos.
    -Dell

  • How to get a string "yyyyMMdd" into date like MM/dd/yyyy?.

    Hi
    How to get a string "yyyyMMdd" into date like MM/dd/yyyy?. i have used
    SimpleDateFormat.parse but it is giving long value. i want to disply the date
    like MM/dd/yyyy
    thank you

    Do you want the string rearranged or do you want to create an instance of some form of Date class?
    If you want to rearrange the string you could just do it yourself provided you know the date string is going to be of the format yyyyMMdd.
    something like this:
    String newDate = origStr.charAt(4) + origStr.charAt(5) + "/" + origStr.charAt(6) + origStr.charAt(7) + "/" ...etc.

  • What is the table name for getting Last Receipt  & issue date of material?

    Hi Friends,
    What is the table name for getting Last Receipt  & issue date of material?
    *Case 1:*
    Here, I am running report in May 2008. But, if there is no goods receipt for the respective material since last 13th March 2007.
    Then in this case Last goods receipt date should be 13th March 2007.
    Please guide me.
    Regards
    Siva

    I checked MSEG table. But, I didn't find any field for date.
    Can you tell me field name.
    Regards
    Siva

  • RME - Failed to get error string

    Constantly getting errror "Failed to get error string from logger 6203" whenever trying to retrieve Startup/Running out of sync report.
    Context: RME > Configuration Mgmt > Startup/Running out of sync report.
    Any one has ever encountered such a problem?

    Hi
    Has the default location of the config files changed from:
    Windows: C:/PROGRA~1/CSCOpx/files/archive/config
    Solaris: /var/adm/CSCOpx/files/archive/config
    to some other directory or path?
    If Solaris are the permissions ok on
    /var/adm/CSCOpx/files/archive/config
    They should be 750 on the directories in here and then the .cfg files these directories should be 640
    Also, the owner of the files and directories should be user casuser with group casusers and not root
    David

  • Get matched string problem

    i have a simple question
    i want to find string which has roman and cryillic letters inside
    for example
    '04556888A321212V' (A in roman,V in cryillic) matched case
    '04556888A321212S' (A in roman,S in roman) nn matched case
    i want to get first string
    thanks in advance

    I'm not so sure about your problem. But are you looking for this?
    satyaki>
    satyaki>select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    Elapsed: 00:00:00.20
    satyaki>
    satyaki>
    satyaki>with data
      2  as
      3    (
      4      select 'ABCDEFGHIJKLMNOPQRlmnopqrstuvxyz' cola from dual
      5      union all
      6      select 'ÀÁÚÄÅÔÝÙÈÆÊËÌÍÎÏÃÐÑÒÓóâõéç' from dual
      7      union all
      8      select 'ABVCHDYÎÏÃÐÑÒ' from dual
      9    )
    10  select case
    11           when length(translate(cola,'ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz',' ')) < length(cola)
    12           and  length(translate(cola,'ÀÁÚÄÅÔÝÙÈÆÊËÌÍÎÏÃÐÑÒÓÂÕÉÇàáúäåôýùèæêëìíîïãðñòóâõéç',' ')) < length(cola) then
    13             'Matched Case...'
    14         else
    15           'Non Matched Case...'
    16         end res
    17  from data;
    RES
    Non Matched Case...
    Non Matched Case...
    Matched Case...
    Elapsed: 00:00:04.30
    satyaki>
    satyaki>Regards.
    Satyaki De.

Maybe you are looking for

  • Dates are deleted

    Folks, I faced an error "Dates are deleted" (BC803) while creating PO from PR, please advice the cause, when this std error would trigger. Regards TGB

  • Regarding Migration from Testing to Development

    Hi All, I am going to migrate from Windows 32-bit to unix 64 bit. I am using hyperion 9.3.1. I dont know, how to migrate from windows 32 bit to unix 64 bit. I want to migrate Planning, Essbase and Shared Services. This is the first time, i am doing t

  • Bug - User Account - Tied to PC Settings "App"

    Accounts, or at least the main administrator account, are tied to the PC Settings App Upon removing the PC Settings Application, there are certain commands that still require the app rather than running in the Windows GUI. This results in a silent fa

  • Acrobat's menu disappears when using QApplication even with qt_mac_set_native_menubar(false)

    I am working an Acrobat plugin (SDK acrobat 8) which uses Qt Widgets. It works fine with Qt 4.3.4. After upgrading to Qt 4.6.4 carbon, it is no longer possible to see Acrobat's menu if QApplication is instanciated. int argc = 0; (void)new QApplicatio

  • Filter settings on ports not working

    Hi, I have a scenario that we receive EDI messages which are processed through a orchestration that enriches the data. I have 2 send ports, 1 port for the automatic processing into our system. The filter is a promoted property which is listening for