{{indexmenu_n>30}} ====== Single Digit Action ====== ine the menu options available to callers while the mailbox greeting is playing (and for a specified number of seconds after it ends). If the greeting finishes playing with no interruption from the caller, the system consults the SDA template to determine how long to wait for a response. When the caller does press a DTMF digit, the system consults the assigned SDA template to determine what it should do. And if the caller never responds at all, the SDA defines what to do in that case also. Whether you are editing an existing template or creating a new one (global or custom), the system will display a dialog similar to the one shown in the figure below. The main difference is in the text displayed in the title bar. The example below shows the //Night Menu Action// template. {{:images:vs8:vsconfig:sda.png?direct|}} To save your changes, click **OK**. If you are creating a new template, you will be prompted to enter a filename before the data is saved. If you are creating a custom template, the filename is created for you. Clicking **Cancel** will discard any changes not previously saved. ===== Action Assignments ===== {{:images:vs8:vsconfig:sda-edit.png?direct|}} ==== Single Digit Entry (SD) ==== The //SD// checkbox indicates whether the given DTMF digit is restricted for single digit entry. If it is checked, the system will take the assigned SDA action immediately after the caller presses that digit, if it is the first digit pressed. If the //SD// checkbox is not checked, then the system will not act immediately after that digit is pressed but will wait to see if the caller is dialing an extension to transfer to. Since digits //A-D, *// and //#// cannot be used as part of an extension number, they are always acted upon immediately, so no //SD// checkbox is provided for them. **If the //SD// checkbox is checked for any of the digits 1-9, the caller will not be able to dial any extension that starts with that number. For example, if //SD// is checked for the '5' key, then the caller cannot dial any extension number starting with '5'.** ==== Action Keys / Events ==== ^Action^Description^ |//[[vs8:vsconfig:mailbox:sda:misc|Default]]//|Stops playback of the greeting and invokes the No Input action.| |//Dial//|Dial DTMF on the same line. This cannot be used for transfers on SIP based systems and can only be used on analog system typically to transfer offsite.| |//[[vs8:vsconfig:mailbox:sda:login|DID Login]]//|Performs user login based on the caller ID.| |//Direct Message//|Take a message.| |//[[vs8:vsconfig:mailbox:sda:directory|Directory]]//|Invokes the standard spell-by-name directory.| |//[[vs8:vsconfig:mailbox:sda:misc|Disconnect]]//|Ends the call and hangs up.| |//Empty//|Assumes a blind transfer for any number the user enters.| |//Goto//|Goto another system mailbox.| |//[[vs8:vsconfig:mailbox:sda:directory|Guest Directory]]//|Invokes the guest spell-by-name directory, which only contains guest mailboxes and which behaves differently than the standard directory.| |//[[vs8:vsconfig:mailbox:sda:login|Guest Login]]//|Invokes the GuestLogin IVR application.| |//[[vs8:vsconfig:mailbox:sda:misc|Invalid]]//|Prevents dialing the digit as a single-digit entry. Dialing it as the first digit in an extension number is allowed, if the SD box is not checked.| |//[[vs8:vsconfig:mailbox:sda:isirsi|Inventory (ISI)]]//|The ISI option invokes the user interface that housekeeping or other hotel staff would use to update the inventory for a guest room mini-bar.| |//[[vs8:vsconfig:mailbox:sda:isirsi|ISI or RSI]]//|The ISIRSI option invokes a user interface that housekeeping or other hotel staff can use to update both the mini-bar inventory and the room clean status for a guest room.| |//[[vs8:vsconfig:mailbox:sda:greetings|Language]]//|Change the language for the remainder of the current call. Optionally, send the call to a different mailbox after changing the language.| |//[[vs8:vsconfig:mailbox:sda:login|Login]]//|Queries the caller for the mailbox number, then performs user login for the mailbox entered (if it is a valid mailbox).| |//Main SDA//|Goto the SDA defined as default for this tenant.| |//Operator//|Transfer to operator.| |//[[vs8:vsconfig:mailbox:sda:paging|Page]]//|Schedules a pager notification for all active relay page notification templates assigned to the current mailbox. Optional digits after the word Page (and a space) will be sent as part of the pager display text.| |//Play Error//|Play an error prompt.| |//[[vs8:vsconfig:mailbox:sda:greetings|Play File]]//|Play a specified voice file. File must exist in the mailbox folder for the current mailbox and must have either the .WAV or .GRT file extension.| |//[[vs8:vsconfig:mailbox:sda:greetings|Play Greeting]]//|Play a specified greeting.| |//[[vs8:vsconfig:mailbox:sda:paging|Relay Page]]//|Prompts caller for a callback number, then schedules a pager notification for the current mailbox (requires the mailbox to have at least one active relay page notification template assigned).| |//[[vs8:vsconfig:mailbox:sda:greetings|Replay Greeting]]//|Replay the greeting for the current mailbox.| |//[[vs8:vsconfig:mailbox:sda:isirsi|Room status (RSI)]]//|The RSI option invokes the user interface that housekeeping or other hotel staff would use to update the room clean status for a guest room.| |//[[vs8:vsconfig:mailbox:sda:misc|Say Time]]//|Plays the time and date for the caller, then disconnects.| |//SDA//|Execute another SDA by name.| |//[[vs8:vsconfig:mailbox:sda:greetings|Skip Greeting]]//|Same as Take Message.| |//[[vs8:vsconfig:mailbox:sda:greetings|Take Message]]//|Halt playback and go immediately to recording a message.| |//Transfer//|Blind transfer to the number listed.| |//[[vs8:vsconfig:mailbox:sda:misc|Wakeup Call]]//|If the caller ID matches a guest mailbox, the caller is guided through scheduling a wakeup call.| The following keys and events can be assigned one of the available actions: ^Key / Event^Description^ |//0-9, *, #, A-D//|DTMF digits to which an action can be assigned.| |//No Input//|Event triggered if the caller does not press any DTMF digits within the time allotted.| ===== Other Settings ===== There are four additional settings listed below the //Action// settings. They are: ^Setting^Description^ |//Maximum DTMF//|Maximum number of digits to wait for if the caller dials an extension number. **This setting is ignored if single digit entry is in effect.**| |//Wait for input//|The number of seconds to wait for a DTMF digit after the greeting has finished playing.\\ \\ //After the first DTMF digit is received, the system will use the global inter-digit delay value to determine how long to wait for each additional DTMF digit. The default inter-digit delay value is 5 seconds.//| |//Disable translation on transfers//|If checked, extension (mailbox) numbers entered by the caller will not be translated by the translation table.\\ \\ By default, extensions entered by callers are always run through the translation table before the transfer is attempted. This option disables translation for this template only.\\ \\ //If you assign the //Goto// or //Login// actions to the SDA and configure them to use inline translations, they will not be affected by this setting.// **//Likewise, translations are never applied to SDA keys that are configured to transfer to a specified mailbox.//**| ===== Action Options ===== ===== How It Works ===== The SDA menu goes into effect as soon as the mailbox greeting starts to play and continues until the //Seconds to wait for input// have elapsed following the conclusion of the greeting. As soon as the caller presses a key or the wait time is exceeded, the SDA template will take effect. If a DTMF digit is received, the system will check if it is supposed to wait for additional digits. If so, it will use the inter-digit delay time to decide how long to wait for the next DTMF digit. As soon as it times out without receiving another DTMF, it will move to the next step: processing the DTMF it has received. If it received more than one digit, it will check if the digits received represent a valid mailbox; if so, it will transfer to that extension (or goto that mailbox if the mailbox's assigned COS does not allow transfers or if the mailbox's DND setting is enabled). If the digits received are not a valid mailbox, it will state that fact and return to the auto attendant. If only one digit was received, then the system will take the action assigned to that key. If no action was assigned (i.e., it was left blank), then the system will state that it was an invalid entry and will replay the greeting. ===== Why Use It ===== Single digit action (SDA) templates are used to offer various call routing options to the caller based on single-digit DTMF keypresses. They are most commonly used for the main greetings auto attendant mailbox(es) and for audiotext menus, but are also used for subscriber mailboxes to offer some basic options (such as allowing the caller to skip the greeting and go directly to recording a message). Every mailbox type, except //list and group//, has at least a basic SDA template assigned (usually //users//). ===== Inline Translations ===== Both the //Goto// and //Login// actions (and only those actions) support inline translations, which will take any DTMF entered by the caller, run it through the specified translation, and then perform the specified action on the translated number. An inline translation string has two parts: a single-character code indicating the type of translation to perform, followed by one or more digits used in performing the specified translation. The following table lists all supported translation codes. **All examples assume the translation was assigned to the '4' key.** ^ Code ^ Meaning ^ Example ^ Caller's DTMF ^Result (mailbox)^ | + | Add | +1000 | 412 |1412| | - | Subtract | -100 | 412 |312| | A | Append | A3 | 412 |4123| | P | Prepend | P3 | 412 |3412| | R | Replace | R300 | 412 |300| | S | Strip | S1 | 412 |42| | M | Mask | M3%%***%%1\\ M5%%^**%% | 412\\ 412 |34121\\ 512| As shown in the table above, there are seven translation types: * **Add / Subtract** -- adds (or subtracts) a given value to (from) the DTMF entered by the caller. * **Append / Prepend** -- adds one or more DTMF digits to the end of (or in front of) the DTMF digits entered by the caller. * **Replace** -- ignores whatever the caller entered, replacing it entirely with the specified DTMF digits. * **Strip** -- removes all occurrences of the specified DTMF digit(s) from the digits entered by the caller. * **Mask** -- uses the specified mask string to manipulate the DTMF digits entered by the caller, according to a strict set of rules detailed below. **When using a translation, remember that the translation will be performed on all of the DTMF digits entered by the caller, including the initial DTMF key that indicates which menu action to perform.** ==== Using the Mask Translation Type ==== Where the other translation types are straight-forward, the mask translation type requires further explanation. When you use this translation type, the additional data you provide is called a //mask// and is used by the system to manipulate the user-entered DTMF in order to produce the desired output string. Masks use special characters to instruct the system on what to do with each character of the user input: ^ Character ^What it means^ | ''*'' |Copy the next digit in the input string to the next position in the result string, as-is.| | ''^'' |Discard the next digit in the input string.| | ''0''-''9'' |Copy directly to the next position in the result string, as-is. Does not affect the input string at all.| When building the result string, the system will never copy a digit from the input string unless the mask tells it to do so. If the input string is ''12345'' and the mask is ''789'' then the result string will be ''789'', because the mask did not have any asterisks (*) to tell the system to copy any of the input digits to the result string. Furthermore, each special character (* or ^) in the mask acts on one and only one digit in the input string. So with an input of ''12345'' and a mask of ''%%**%%'', the result string would be ''12''. Any other character in the mask than those four special characters will be added to the result string in the next available position. Given the same input string but with a mask of ''%%**0**%%'', the result string would be ''12034''. **Processing a non-special character in the mask does not cause the system to skip the next character in the input string.** As suggested by the above examples, digits in the input string are dealt with one by one, from left to right, and once a digit has been copied or discarded, you cannot return to it later in the processing.