Amanda Work Group Installation Manual
Have a look at the manual Amanda Work Group Installation Manual online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 32 Amanda manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
Chapter 15: Programming Amanda 189 For example, I(%S1,=,,101) can be read as “If the variable %S1 equals the empty string, go to mailbox 101. If not, go to the next token in this mailbox.” I(%G0,>,5,2000) can be read as “If the variable %G0 is greater than 5, go to mailbox 2000. If not, go to the next token in this mailbox.” The G() command which tells Amanda to go to another mailbox’s Extension field right now. (Notice that this is not the same as the %G0 through %G9 global variables.) There is no comparison made—just an immediate branch to a new mailbox. For example, G(2000) can be read as “Go immediately to mailbox 2000.” A loop is the name given to a set of tokens that are repeated. For example, if the last token in the Extension field for mailbox 151 is G(151), Amanda returns to the beginning of the Extension field for mailbox 151. This forms a loop. It forms an infinite loop unless Amanda can branch to another mailbox’s Extension field before performing the G() command. Sometimes you want an infinite loop, but usually an I() command appears within the loop (somewhere between the beginning of the loop and the G() command) and allows Amanda a way out of the loop. For example, if you want Amanda to process the tokens for 151 exactly three times, you use a variable as a counter. You add 1 to the variable every time through the loop and branch when the I() command determines that the variable is equal to 3. If you want Amanda to process the tokens for 151 until a certain value is entered by the caller, you store the caller’s input in a variable and use the I() command to branch when the variable finally contains the value you are waiting for. The examples in this section shows a loop in which Amanda repeats the tokens in one Extension field over and over—until stopped. You can make more complicated loops. For example, you can use the G() command to go from mailbox 151 to mailbox 152 to mailbox 153, before returning to mailbox 151. This is still a loop because eventually Amanda returns to mailbox 151. It is just a longer, more complicated loop than the earlier examples.
190 Installing [email protected] T1 Lines If you are using a T1 line, the only tokens you can use are: Any DTMF digit (0–9, A, B, C, D, # , *) Any system, port, or global variable (any token that starts with %) E F P W Examples This section provides practical examples using some of the available tokens. Customizing the Employee Directory The default operation of the employee directory minimizes the work you have to do as a system administrator. All you have to do is put values in the Dir Name 1 and Dir Name 2 fields for each employee’s mailbox. A little extra work on your part can make it easier for the caller to use the employee directory. Application This example explains how to streamline the functionality of the employee directory (by default, mailbox 411) so that the caller does not have to dial the extension. The default use of the employee directory: 1. A caller enters 411 for the employee directory. 2. The caller enters three digits representing the first three letters in either the first or last name of the person he wants to call.
Chapter 15: Programming Amanda 191 3. Amanda reads the extension for each person whose name matches the digits. 4. The caller dials the correct extension. The customized use of the employee directory: 1. A caller enters 411 for the employee directory. 2. The caller enters three digits representing the first three letters in either the first or last name of the person he wants to call. 3. If more than one employee matches the digits, Amanda asks the caller to choose. For example, Amanda might say “For Steve Smith, press 1; for Stella Clark, press 2.” 4. Amanda dials the extension. Translating to Amanda’s Tokens This example shows the use of the G() command, which stops Amanda from processing the current mailbox and goes directly to the specified mailbox. It also illustrates the M() command that causes Amanda to play a greeting and wait for a single-digit number from the menu as a response. To customize the employee directory: 1. Make a list of everyone’s first and last names (as they will appear in the Dir Name 1 and Dir Name 2 fields in their mailboxes). Example: Steve Forest mailbox 105 JoAnn Johnson mailbox 106 Bob Knapp mailbox 107
192 Installing [email protected] 2. Determine what three digits would match each name: Example: Steve Forest mailbox 105 783 367 JoAnn Johnson mailbox 106 562 564 Bob Knapp mailbox 107 262 562 3. Create mailboxes for each of the sets of three-digits. Example: Create mailboxes 783, 367, 562, 564, and 262. 4. For each of these mailboxes, make sure that: Do Not Disturb is locked OFF. (Do Not Disturb: OFF Lock: ON) Call screening is locked OFF. (Screen Calls? OFF Lock: ON) 5. Fill in the Extension fields for mailboxes that only match one of the employees with @G( employee_mailbox) Example: Because 783 and 367 match Steve Forest, the Extension fields for mail- box 783 and mailbox 367 should be: @G(105) Because 564 matches JoAnn Johnson, the Extension field for mailbox 564 should be: @G(106) Because 262 matches Bob Knapp, the Extension field for mailbox 262 should be: @G(107) or @P(G1)P(N,107)G(107)
Chapter 15: Programming Amanda 193 6. For mailboxes that match more than one of the employees: a. Record G1 (Greeting 1) as “For first matching name, press 1; for second matching name, press 2; …” substituting the real names of employees for the italicized words. b. In the Menus fields, put the mailbox for the first matching name in 1; the mailbox for the second in 2, and so forth. c. In the Extension field, puts: @M(G1,1,30) This command causes Amanda to play Greeting 1 and waits for the caller to enter a digit indicating a choice from the menu. If the caller does not enter a digit within 30 seconds, Greeting 1 repeats. Example: Because 562 matches both JoAnn Johnson and Bob Knapp, the Menus for mailbox 562 would be: 1106 2107 The greeting would be: “For JoAnn Johnson, press 1; for Bob Knapp, press 2.” T IPS:To make this better yet, use: @P(G1)P(N, employee_mailbox)G( employee_m ailbox) instead of: @G( employee_mailbox) Record a Greeting 1 for each of the new mailboxes that says “You are being transferred to” after which Amanda plays the Name and Extension recording for the employ- ee’s mailbox. For mailbox 564 in the example, this would look like: @P(G1)P(N,106)G(106) The P() command plays greetings and so forth. In this case, the first P() command plays Greeting 1; the second plays the Name and Extension recording. If the matching digits conflict with existing mailboxes (for example, 564 matches JoAnn Johnson, but it is already the mailbox for another employee), use 99564 or some other variation that does not conflict with employee mailboxes.
194 Installing [email protected] When more than one employee matches the digits that the caller enters, you can add 9 to the menu (with mailbox 411) and append the greeting to end with: “…press 9 to return to the employee directory.” Then, if the caller doesn’t want any of the people mentioned in the greeting, he can try an- other name. Token Reference This section contains two tables, each of which lists all of the tokens in the Token Programming Language: A quick token reference table, which lists each token by its func- tion or purpose. The functions are in alphabetical order so that you can easily find all the tokens that perform similar functions. For ex- ample, the J() and T() commands both deal with faxes so they are grouped under Fax. This table provides only the syntax for each to- ken. For a full description of the token, you must look in the alpha- betical reference. An alphabetical token reference table, which lists the tokens in al- phabetical order based on the first letter in the token’s name. For ex- ample, %I and I are found under I. Tokens whose names do not contain a letter are listed in ASCII order before the letters. This table provides complete descriptions and examples of each token. Quick Token Reference Function/Purpose of TokenSyntax absolute valueP [ repetition]( number,N [, hangup]) Add+( variable[, value]) ANI (Automatic Number Identification)%H Append, file|( file) Assignment=( variable, value[, start, end]) Boards, serial numbers%B1 %B2 %B3 %B4 %B5 %B6
Chapter 15: Programming Amanda 195 Caller hang-upH( mailbox) Caller ID%H Comment%F( field[, mailbox]) ConditionI( value, operator, value, mailbox) Conference callext_noKM Creating message notification fileX [( file) ] CurrencyP [ repetition]( amount, currency[, hangup]) Current connect time%T Current date in American format%Y Current port number%C Current time%Z Current mailboxP [ repetition] (U [, mailbox[, hangup]]) %U Current mailbox’s Extension field%E Date%I( field, msg_no[, mailbox]) P [ repetition]( date,D [, hangup]) %Y Days of week%W Deleting fileY [( file) ] Deleting, messageKD( msg_no[, mailbox]) Dial (pulse dial)~ Dial codesF Quick Token Reference (Continued) Function/Purpose of TokenSyntax
196 Installing [email protected] dial tone%X dial tone, wait forW( n,T [, mailbox]) Directory Name field%F( field[, mailbox]) Disk space%D P [ repetition](D) DollarsP [ repetition]( amount, currency[, hangup]) DTMF digitsP [ repetition]( DTMF) P [ repetition](R) 0123 4567 89AB CD*# DTMF for relay pagingP [ repetition] (R) %R DTMF, save caller’s entryR( greeting[# mailbox], variable [, timeout[, timeout2]]) Earth recallE Exit for caller hang upH( mailbox) Exit for mailbox[ ext_no]H Extension fieldext_no @ %E *Extensions, partially supervised transferU- ext_no Quick Token Reference (Continued) Function/Purpose of TokenSyntax
Chapter 15: Programming Amanda 197 Fax, incremental( file) Fax, initialization%A Fax, receiveJ( file_or_box, phone_no[, tokens]) Fax, sendT( file, phone_no[, tokens]) Fields, process extension or Notify field as tokens@ Fields, returns number of characters in a stringLEN[ string] Fields, values in mailbox record%F( field [, mailbox]) Fields, Variable field in notification record%V Fields, Extension %E Fields, information%I( field, msg_no[, mailbox]) Files, append|( file) Files, as indicatorsX [( file) ] Y [( file) ] Z [( file) ] Files, delete recordKV( file, field, value) Files, from recordingsKR( file_or_box[, recording_info]) Files, import{ file} Quick Token Reference (Continued) Function/Purpose of TokenSyntax
198 Installing [email protected] Files, read{ file} V( file, field, value{, field, variable}[, n] [( file) N( file, field, value{, field, variable}) Files, search?( line, file, mailbox) Files, voiceP [ repetition](X, file[, hangup]) Files, write]( file) N( file, field, value{, field, variable}) FrancsP [ repetition]( amount, currency[, hangup]) Free disk spaceP [ repetition] (D) %D FrequencyKB( frequency, msecs) From%I( field, msg_no[, mailbox]) GotoG( mailbox) GreetingP [ repetition]( greeting[, mailbox[, hangup]]) Hang-up[ ext_no]H O( time) Hang-up, cleanupH( mailbox) Hang-up, partially supervisedU- ext_no HookflashE F O( time) Quick Token Reference (Continued) Function/Purpose of TokenSyntax