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 249 Troubleshooting Check for the following mistakes: 1. Did you start the string of tokens without @ when you wanted Amanda to perform a hookflash or PCPM? 2. Did you start the string of tokens with @ when Amanda should NOT perform a hookflash or PCPM? 3. If the tokens are in an Extension field, did you forget that both Do Not Disturb and Call Screening must be OFF? 4. Did you check the trace file for information about what went wrong? T IP:Remember that when a string of tokens in an Extension field fails, Amanda goes to the mailbox specified in the Done Chain for that mailbox. If you are testing a program and are not sure which strings of tokens fails, use different mailboxes in the Done Chain fields to help you. For exam- ple, if you do not know which of two strings fails, you might put mailbox 4000 in one Done Chain and mailbox 4001 in the other. If you use @P(G1, your_personal_mailbox) in the Extension field for 4000 and use Z [( file) ] Command that tests for the existence of the specified file or LIGHT.ON. If the file is there, Amanda immediately stops processing the rest of the tokens for this mail- box. Otherwise, the next token is executed. fileA string or variable containing a valid DOS file name for a text file. The default is to delete the file LIGHT.ON in the mailbox’s directory. Example: Z()X() causes Amanda to check for LIGHT.ON. If it is not there, the X() command causes Amanda to create it. See also the X() command. Failure: Does not fail Alphabetical Token Reference (Continued) Token SyntaxDescription
250 Installing [email protected] @P(G2, your_personal_mailbox) in the Extension field for 4001, then you know which string fails based on which of your personal greetings Amanda plays.
Chapter 16: Programming Examples System Paging of a User for Special Callers This example illustrates inter-mixing tokens with Amanda’s standard call processing. Application This application creates a special mailbox (for example, 611) for family, friends, or special customers. When callers access this mailbox, Amanda pages you over the telephone paging system in your office. After letting you know that you have an important call, Amanda transfers that call to your extension through a “backdoor” even if your regular extension mailbox (for example, 111) might have its Do Not Disturb setting ON. The steps required to implement this feature might be summarized as follows: 1. Put the caller on hold. 2. Access the telephone switching system paging feature. 3. Say something such as “There is an important call for David.” 4. Transfer the call to a “backdoor” mailbox that rings the extension.
248 Installing [email protected] Translating to Amanda’s Tokens This could be translated into Amanda tokens as follows: 1. Dial the code for putting the caller on Transfer Hold (which is normal processing if the first character is not an @ sign). 2. Dial the telephone switching system paging access code, for example, 33* (if that is your system’s code for a system page.) 3. Play a greeting that you have already recorded such as “There is an important call for David” using the P() token. 4. Dial the code for retrieving the caller from Transfer Hold and then trans- fer the caller to a “backdoor” mailbox that rings the extension. For example, to retrieve the caller you use %X and to access the “backdoor” mailbox use the G() token. Result The final result might be: 33*P(G1)%XG(6111) where G1 for the current mailbox has the “important call for David” recording and mailbox 6111 transfers the call to the extension 111 by having 111 in its Extension field with Do Not Disturb set to OFF and its Lock ON. Switching and Maintaining Languages This example illustrates how you can completely over-ride Amanda’s standard processing. Amanda has the ability to support multiple languages simultaneously on any port. The only requirements are that you install an alternative language prompt file and you configure the mailboxes to allow a caller to change to the alternate language. Additionally, you can control which mailboxes a caller has access to when they select a specific language.
Chapter 16: Programming Examples 249 Application Let’s start by allowing a caller to select outgoing greetings in a different language. When a call is answered by Amanda, processing begins at the Company Greeting mailbox (which is 990 by default.) After the greeting is played, processing (by default) continues at mailbox 991 which plays the caller Instructions. During either the Greeting (990) or the Instructions (991) you can give the caller the option to press a digit to hear the Instructions in a different language. When the caller enters the language digit, Amanda should then be configured to access another mailbox that contains the proper Instructions using the Token Programming Language. The following diagram helps illustrate this: This now gives your callers the option to hear their instructions in the language of their choice (realize that you can have additional language selections as additional menu choices). However, after the caller selects Spanish by pressing 1, when they access a mailbox, Amanda still says in English, “Please hold while I try that extension.” We have changed which language instructions a caller hears, but we still have not changed which
250 Installing [email protected] language system prompts the caller hears. To change the system prompts to another language we must use tokens (and of course have installed the appropriate language prompts). Using Amanda’s Tokens The token to change system prompts is L(). To change to the Mexican Spanish system prompts, use L(MEXICAN) provided that the Mexican Spanish system prompts file resides in the Amanda directory and is named MEXICAN.IDX (if your system has a Rhetorex voice board) or MEXICAN.BDX (if your system is connected to a Norstar KSU). (Argentinian Spanish is ARGENTIN.IDX or ARGENTIN.BDX.) To accomplish this, we could use another mailbox that changes the system prompts to Mexican and then continues processing wit the Spanish Caller Instructions as follows: mailbox 980’s Extension field contains the tokens @L(MEXICAN)G(981) which causes Amanda to: 1. Not put the caller on transfer hold 2. Change the system prompts to the file MEXICAN 3. Continue processing at mailbox 981.
Chapter 16: Programming Examples 251 NOTE:There are several ways this same activity could have been accomplished. For example, instead of using the G(981) to- ken, mailbox’s RNA Chain could have had 981 in it. (We use the RNA Chain, since Amanda returns Ring No An- swer after successfully performing the tokens in the Exten- sion field). Another Consideration This works for most situations. However, there is one final consideration. What happens if the caller enters an invalid extension or choice? By definition, an invalid mailbox has no Done Chain. As a result, Amanda defaults to using the Done Chain of the Company Greeting mailbox on that port. The following diagram illustrates this: The result is that a caller, who has selected Spanish and entered an invalid mailbox, eventually ends up at the English Instruction mailbox!
252 Installing [email protected] To have callers always access the proper language Instruction mailbox, you can add a control structure to Amanda. In this example, we might perform the following: 1. If an alternate language is selected, remember which language was selected. 2. Before playing the default Instruction mailbox, determine which lan- guage Instruction mailbox should play and continue processing at that mailbox. Using Amanda’s Tokens This could be accomplished with tokens as follows: 1. To remember that a specific language was selected, we could use a storage (variable) token such as %S1 to have a value that represents the language. To assign %S1 a value, we use the =() token. For example, =(%S1,MEXICAN) stores the value MEXICAN into %S1. 2. To determine which language Instruction mailbox to access, we could use the I() token, often called the If token, which allows Amanda to con- tinue processing at the correct mailbox. For example, I(%S1,=,MEXI- CAN,981) checks the value of %S1 for MEXICAN and if it matched, then continues processing at mailbox 981 (the Spanish Caller Instruc- tions mailbox in this example). Finally, to make sure that this occurs before playing the default Instruction mailbox (in this example mailbox 991) we need to insert this control mailbox between the Company Greeting mailbox (990) and the Instruction mailbox (991) as shown in the next diagram.
Chapter 16: Programming Examples 253 This configuration now changes Amanda’s standard processing and keeps the caller connected to the correct language Instruction mailbox. It works because whenever a new call is answered, Amanda initializes the %S tokens to (the empty string). Therefore, if the caller never presses 1 for Spanish, then %S1 is never set to the value MEXICAN and control is always passed on to mailbox 991 from mailbox 992. Order Shipment Information This example illustrates how you can interact with data files to retrieve useful information that is given to callers by request.
254 Installing [email protected] Application The application is as follows: 1. Ask the caller to enter an order number (let’s assume that it is five digits). 2. Determine whether or not the corresponding order has shipped. 3. If the order has not shipped, inform the caller. Otherwise, tell the caller the date the order was shipped. In order for Amanda to determine an order’s shipped status and its ship date, she needs to retrieve information from some source. One possible way she can obtain the data is by using the serial, S(), token to request it from another computer. An alternative solution is to access the information by looking in a file on Amanda’s hard disk (or alternatively, a network server). For this example, we use the second implementation and assume that the following files exist on Amanda’s hard disk in the root directory: SHIPPED - An ASCII text file with order numbers that have been shipped (one per line), for example: 11111 22222 33333 12345 SHIPDATE - An ASCII text file where each line contains an order number and its ship date separated by a comma (one per line), for example: 11111,06301994 22222,07011994 33333,07061994 12345,07121994