{{indexmenu_n>70}} ====== Single Digit Actions ====== Single digit action (SDA) templates are used to define 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:vs7:manual:tpl-sda-nightmenu.png?nolink|}} 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. //Since custom SDA templates are edited directly in the mailbox (not in this dialog), you will also have the option to click //**Apply**//. In this case, it will act the same as clicking OK: the custom template will be saved.// ===== Action Assignments ===== In each of the selection boxes, you may either choose an action from the list, type in an extension number to transfer to, or leave it blank. A blank entry is considered invalid, although if it is not marked for single-digit entry the caller may type that digit as the first digit of an extension number. You can also manually type in the action, even if it is not shown in the list, as long as what you type in is a valid action. **In some cases, even if you select the action from the list you may need to type in additional data such as a mailbox number.** ==== 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 ==== The following keys and events can be assigned one of the available actions: |< 85% 15% >| ^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.| |//Fax Freq//|**Deprecated.** //Fax is not supported in this version.//| ===== Other Settings ===== There are four additional settings listed below the //Action// settings. They are: |< 85% 15% >| ^Setting^Description^ |//Max 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.//| |//Restrict to single digit entry//|Sets or clears all //SD// checkboxes.\\ \\ **Enabling this option will also change the //Max DTMF// setting to 1 digit and will disable that field so it cannot be changed.** This is done because setting //Max DTMF// to any value but 1 makes no sense if all //SD// checkboxes have been checked.| |//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 ===== There are a number of possible actions that can be assigned to each DTMF digit or event. These actions can be divided into the follow general categories: * **[[vs7:manual:admin:templates:sda:routing|Call routing]]** -- actions that can transfer the call to another extension or to an outside line. * **[[vs7:manual:admin:templates:sda:directory|Directory access]]** -- actions that access a spell-by-name directory. * **[[vs7:manual:admin:templates:sda:greet|Greetings and Languages]]** -- actions that change what greeting is played or change the active language for the caller. * **[[vs7:manual:admin:templates:sda:isirsi|ISI and RSI]]** -- actions that invoke either the Inventory System Interface IVR or the Room Status Interface IVR or both. * **[[vs7:manual:admin:templates:sda:misc|Miscellaneous]]** -- action that do not fit in any of the other categories. * **[[vs7:manual:admin:templates:sda:paging|Paging]]** -- actions that trigger pager notifications. * **[[vs7:manual:admin:templates:sda:login|User login]]** -- actions that allow the caller to login to a mailbox. ===== 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 //distribution, group// and //QA//, has at least a basic SDA template assigned (usually //Standard//). //QA// mailboxes always behave according to the assigned QA script and therefore do not use SDA templates at all. //Distribution// and //group// mailboxes are vastly simplified mailboxes compared to the standard type. They use a built-in SDA that will return to the auto attendant if the ''*''key is pressed and on any other DTMF (or on //No Input//), will go directly to recording a message. Because this behavior is built-in, it cannot be changed by the user. ===== 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.** |< 70% 10% 20% 20% 20% >| ^ 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: |< 80% 10% >| ^ 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.