1. Introduction
TeleAPG is an all-in-one telephony application generator for integrated Voice/Fax Response, PBX and other Voice/Fax applications. TeleAPG's intuitive user interface allows you to program the voice/fax/PBX system with ease even you are not a experienced software engineer. You dont have to deal with the complicated voice/fax application programming interface (API) to develop computer telephony applications. TeleAPG offers more than 68 function modules which can be used not only for integrating your applications with TeleSynergys Voice/Fax/PBX boards, but also for data processing, database access, program flow control and hand shaking functions.
2. TeleAPG Overview
In this section, we will show you the structure of TeleAPG, the applications developed by TeleAPG, and the built-in function modules of TeleAPG.
2-1. Structure
TeleAPG is designed for TeleSynergy manufactured hardware. It can be divided into the following parts:
1. Configuration Tools - Configure & Tools
Configure & Tools provides users tools and access windows to hardware, software and system configuration, voice recording/editing, fax document management, and schedule job management.
2. Programming Device - Planner
Planner is TeleAPG's programming tool based on graphical user interface as the illustration showed below:
Users can complete a program task by placing the appropriate function modules to the work sheet in an order of a call flow and define the necessary variables. A program task completed by Planner is called a "Plan". All related plans have to be organized under a "Template" to accomplish an application. A template also contains related database, voice files, fax documents and parameters for each plan in the template.
To create a plan, all you have to do is to put the function modules into a tree structure. Then do the necessary setup for each function module. Each function module in a tree structure is a node. Each node has its own step ID which is it's unique code in this call flow. On the right-hand side of the above picture, there are all the palettes of function modules - General, Fax, Voice, Trunk, Extension and Trunk/Extension Palette.
A debug tool "Breakpoint" is available. You can stop running the program at any point with "breakpoint" inserted to inspect and debug the whole application program.
3. Template
As explained above, a plan is used to describe the call flow and is developed by the Plan editor (Planner). The AP Engine will interpret the call flow according to the description of the plan, the Planner does not generate a real application with lengthy source code as the general programming language or program generator. It actually gets a list of call flow description ready for the engine. When the AP Engine runs the call flow of the plan, it may play voice files, access global variables, Database Fields and do the holiday checking. An application's call flows can be divided and grouped into several Plans. By the way of including Plans, related data files (DB Field definition, global variable definition, and holiday definition.) and voice/fax messages into a Template, it is easy to maintain a Project. For example, "Template Store" is a function for you to copy all the related files of an existing template to a denoted disk path for storage. "Template Restore" is a function for you to install the template from the stored disk path to another PC which already have a preinstalled TeleAPG. It saves you a lot of time and manpower when shipping applications to customers.
4. Run-Time Engine - AP Engine
As the AP Engine launches, it will also load necessary firmware. The AP Engine will interpret the call flow according to the description of the plans -- When the AP Engine executing the call flow of the plan, it may access global variables, Database Fields, do the holiday checking, and control the related Hardware to play voice, send/receive fax, pick up phone, etc.
5. Related Hardware:
TeleAPG supports only TeleSynergys Voice/Fax/PBX boards. The H/W TeleAPG support includes Voice Board, Fax Board, PBX Board and T1/E1 Interface Board.
Through easy template creation, TeleAPG provides a convenient way to compose applications such as:
All the applications above can be programmed by using TeleAPG. The IVR/FOD applications can be a self-service mechanism for frequent asked questions. An Auto-attendant system with ACD function can play voice guide in different languages and lead customers to proper service agents, and the Fax/Voice Broadcasting functions can be helpful tools for telemarketing. With TeleAPG, you can create applications optionally according to the real needs of your Customer Interactive Center.
Illustration below shows some applications that can be done by using TeleAPG.
2-3. Built-in Function Modules
TeleAPG provides more than 68 function modules which can be divided into 7 categories showed below according to their characteristics.
1. Voice Control:
Function modules in this category are responsible for voice processing functions such as recording, playing, DTMF signals gathering and delivering, etc.
Icon |
Command |
Description |
|
Get Digits | Get keystrokes (digits; in DTMF terms) entered by caller from a remote telephone. |
|
Send Digit | Send digits to telephone line. This is used to simulate a callers behavior in using a telephone to do paging, telephone call, call transfer, or to test a target voice system from another ones. |
|
Message Recording | Record on-line messages. The recorded voice messages can be either saved as a voice file with specified file name or an inquiry number, or saved into the Mailbox specified. |
|
Play Data | Play your customized greeting. The voice data can be either a voice file or a text data in working buffers (Text-To-Speech), or a combination of both. |
|
Move Voice Mail | Add a voice message to a mailbox or all members of a user group. |
|
Set Line Gain | Set the volume of recording/playing message. The setting only effects the physical lines. |
|
Voice Manipulation | Set DTMF digit to forward, rewind, pause, stop playing a specified voice file |
2. Fax Control:
Function modules under this category handle fax receiving/delivering, files converting for fax out, and other fax processing functions.
Icon |
Command |
Description |
|
Fax Handler |
Both Fax-one-call and Fax-callback are supported. Either transmit fax documents immediately or set up a fax-back function that allows the caller to retrieve information by sending a fax to the caller's fax machine. |
|
Fax Dial |
Dial out to send a fax. |
|
Fax Callback |
Specified to applications allow fax-callback only. |
|
Fax Receive |
Receive fax from the telephone line. |
|
PCS Callback |
Similar to Fax Callback module, but the clients are restricted to do fax call back. (System reserved function) |
|
Fax Convert |
Allow you to convert a File from Text, PCX or BMP format to a Fax format file. |
3. PBX Control:
Function modules in this category handles trunk lines connecting/disconnecting, internal processing of trunk lines and extensions, and many other PBX related functions.
Icon |
Command |
Description |
|
On Hook | Hang up current trunk line. |
|
Off Hook | Off hook current trunk line. |
|
Trunk Wait Event | Wait to proceed next step until one of the specified events occurs. |
|
Trigger Trunk/Extension plan | Get one extension line or trunk line to execute the specified plan. |
|
Trigger an Extension plan from Ringing Group | Get an extension or several extensions from a ringing group to execute a specified plan. |
|
Connect /Disconnect | Connect or disconnect two lines |
|
Get Current Line | Get current physical line number. |
|
Get Triggered Line | Get the physical line number which triggers the current line. |
|
Send/Stop Tone | Send tone to or stop the current device line. |
|
Wait Answer | Request the plan which is triggered by "Trigger Trunk/Extension plan" or "Trigger Extension plan from Ringing Group" to confirm if it is ready to be triggered. |
|
Connect / Disconnect Resource | Connect or disconnect a resource with the current device. |
|
PBX Send Digits | Send digits by the connected dialer. Available after a DTMF receiver is disconnected. |
|
PBX Get Digits | Get DTMF digits from the current line through a built-in DTMF receiver. Available after a DTMF receiver is connected. |
|
Check Toll restriction | Check the specified lines service level with a target destination phone number. |
|
Check Barge In Privilege | Check extension number's barge in privilege. |
|
Time Limit | Start /or stop a time limit timer for the current plan. |
|
Conference | Allow the current line to enter or leave a conference |
|
Send/Stop Ringing | Ring or stop ringing current extension |
|
Extension Wait Event | Wait until specified event occurs on current extension line. |
|
Confirm Answer | Request the trigger plan to confirm whether the answer from the triggered plan could be accepted or not. |
|
Get Pick Up Queue | Get a line from the Pick Up queue. |
|
Put Pick Up Queue | Put the current line into Pick Up queue. |
|
Reset Line | Reset a specified line. |
4. Database Access:
Function modules in this category deal with database access for updating file contents, searching required files, add new databases and delete old databases.
Icon |
Command |
Description |
|
Retrieve Database |
Retrieve the contents of specified DB Field(s) in current database record and put them into working buffer(s). |
|
Seek Database |
Seek index file of the database with the keystrokes entered and find data that matches search criteria. |
|
Update Database |
Update the contents of specified DB fields of the current database record with contents in working buffer(s). |
|
Pack/Delete Database |
Pack Database or delete a record of the Database file |
|
Add Database |
Add a new record to database file with the contents of the specified working buffers to specified fields. |
5. Data Processing:
Function modules in this category control functions that relative to processing procedures including data delivering, data manipulating, data comparing and data composing etc.
Icon |
Command |
Description |
|
Query Set | Find all matched records according to a set of specified criteria. |
|
String Manipulation | Make operation upon character string. |
|
Text Composer | Arranging a caller-dependent fax document by integrating a list of variable text together into a template text. |
|
Compare Data/Buffer | Allow you to make comparison between the contents of specified working buffers or constant. |
|
Arithmetic Operation | Make an arithmetic operation between several operands. |
|
File Manager | Rename, copy, concatenate, or delete files. |
|
TCP/IP Receive | Receive data from the clients. (System reserved) |
|
TCP/IP Send | Send data to the clients from the server; can be used to end the data sending process. (System reserved) |
|
Mapping Key String | Map an input key string to another number or a Latin character. |
|
Get System Information | Get the information about the current date, current time, current voice/fax line, installed directory of TeleAPG and an 8-character unique code. |
|
Assign Data | Assign the contents of designated working buffers to specified value. |
|
Load Global Buffer | Load global variables to the system at run time. |
|
Date Manipulation | Check the correction of the date entry, calculate time interval and find out day of the date. |
|
Line transaction Log | Add a record to Line transaction log. |
6. Flow Control:
Function modules in this category are used to coordinate multiple plans, arrange scheduled jobs into a plan, branch follow-up procedures and decide processing procedures of a plan.
Icon |
Command |
Description |
|
Query Skip/Close |
Setup the way you want the record pointer to skip on the query records or to close the query function. |
|
Retry Handler |
Handle the retry process: such as timeout, and error condition. |
|
Set TCP/IP Connection |
Connect to the specified host automatically. |
|
Schedule Job |
Provide the mechanism to add a new item or delete an existing item in Schedule Queue. When you delete a job, the operation on existing item is identified by the specified criteria. |
|
System Control |
Pause all or some plans; can also be used to resume plan work. Usually used when the database is being maintained or renewed. |
|
Check Current Time |
Check the current time and determine if it's a holiday or in the specified period of time. |
|
Plan Return |
Return the procedure back to the mother program. |
|
Execute Application Program |
Call a Windows application from the plan just like a subroutine in general programming language. This provides the way to integrate the voice system and a Window's application together. The function is completed when the window application has been started. |
|
External Plan |
Allow you to proceed with a different plan. |
|
Menu Branch |
The caller can choose between different options by pressing the keys on his telephone keypad. |
|
GoTo |
Jump the procedure from one step to another step. |
7. Program/Task Hand-shaking:
Function modules in this category are used mainly to support programming applications.
Icon |
Command |
Description |
|
Input Data from File | Allow you to retrieve data from a specified text file. |
|
Output Data to File | Allow you to output contents from a list of working buffer to a text file. |
|
Send Event | Send event to other plan. |
|
Send Parameter | Send parameters to other plan. |
|
Receive Parameter | Receive parameters from the other plan. |
|
Wait Event | Wait here till specified events occur. |
3. How to Program an Application by using TeleAPG
By demonstrating an IVR/FOD system step by step below, we will show you how TeleAPG program an application.
3-1. Identify the Application
Suppose you are going to build an IVR/FOD application that allows callers to retrieve product catalogue and price list. You hope callers can either use a telephone to request and receive information they need through a fax machine, or they can call and receive information via a facsimile. All calls access this application will go through trunk lines directly.
Based on the above description and your system's trunk line amount, the necessary components include: TF-9142 (Fax boards) incremental 4 lines for fax handling, TV-2242/2282 for voice services, TS-1384A for boards communication and TeleAPG. Refer to TeleAPGs User Guide for hardware cabling and setting.
3-2. Prepare a Draft Call Flow
This draft starts from the incoming call, then middle processing, and ends at the documents fax back. Figure below is an example.
Preparing Fax Documents
Before starting Planner to create a new plan, prepare necessary fax documents for retrieval. TeleAPG provides a "Fax Capture" tool for you to convert documents from any within Windows application such as Word, Excel, PowerPoint to fax format (.EFX). Once the to-be-retrieved documents are transformed to fax format, callers can get the documents they need immediately without wasting time to wait for the on line conversion - no matter how many documents and how many copies are requested. Thus, it not only saves a lot of time for callers but also ensures system steady.
Recording Voice Files
Record all greetings and voice prompts before programming. Use the System Message Recording tool under "Configure & Tools" to assign the voice inquiry numbers and record your voice files. Figure below shows message number, file path, file name and scripts of all voice prompts used in this example.
3-3. Drag and Drop Function Modules
According the divisibility and easy launch, we program this call flow into 3 plans and put them together as one template. Refer to the call flow chart showed above and follow the step-by-step instruction below to build your application.
Step 1:
To start the Planner, Click
menu item from TeleAPG and you will see
a window displays as the following:
Step 2:
Enter the Administrator ID and password for security to prevent templates freely modified by others.
Step 3:
Choose "New Template" under the menu "File" and creat a new Template.
Step 4:
Click
on the tool bar to open a new plan, and you will get a brand new work sheet.
step 5:
After getting the new work sheet, following the procedures below to complete the application.
Step 5-1:
Use Assign Data function module to assign working buffers as counters and
set them to "0". (We recommend you to initialize the working buffers that you
will use in the plan at the beginning.) The detail operations are:
Double-click the Assign Data icon (
) on the screen, get setup window for
"Assign Data" function module, and then set W009 and W010 as "0".
Step5-2:
Since the predefined call flow shows that the application starts from the
companys greeting. Therefore, choose Play Data function module to instruct
the system to play greeting.
Click
from the
module pallete on the work sheet.
Click again when the mouse reaching the conjunctive place. The result will be like the screen shot bekow.
Check "Play Voice File" and fill in "c:\ch\" and "700" when it is defined as Leading Path, or "c:\ch\700" when it is defined as "Full Path"
Use Fax Handler function module to define it's "one-call fax" or "two-call fax".
According to the predefined call flow, choose the correspondent function modules and place them on the work sheet as demonstrated above, TeleAPG will show you all the related branches. Double click each function module and fill in the parameters to define your system functions.
After finishing all function modules' setting, select menu item "File/Save" to save the plan and get a setup window as below:
3-4. Run AP engine
After complete programming with Planner, store the template and then run AP engine. Before running AP engine, all related hardware, variables, voice files and fax documents have to be ready for retrieving.
4. Summary
Through the sample showed above, you will find to compose an application with TeleAPG is just as easy as drawing a call flow chart.
TeleAPG is easy to use!
With TeleAPG, you dont need to be an experienced programmer. The graphical user interface allows you to program applications with incredibly ease.
TeleAPG is easy to maintain!
Instead of being the tedious programming codes, the application is presented as a
structured flowchart with function modules easily dragged and dropped.
TeleAPG is easy to expand!
From the basic applications like auto attendant, E-mail , IVR, FOD, to the
complicate CT applications such as ACD, UMS, Call logging and Tele-marketing a call center
uses, TeleAPG takes care of it all.
More over, a PBX Template is available for TeleAPG users. Solutions like Interactive Voice response, Fax-On-Demand, On-Line Chatting, Auto-Attendant, and Voice Mail can be built easily and be packed all into one system.