The Project Workspace
By entering the Edit area you can access to the following dashboard.
The dashboard comes with following functional areas:
- General: displays the general project settings (name and description)
- Variables: section to define, add or edit the variables to be used by the IVR application
- Databases: in this section you will tell the system how to connect to the remote DB (useful when you want to build DB driven IVR applications)
- Time Intervals: where you can define time intervals on which the IVR is active
- Sounds: here you can upload the audio files for your IVR application
- Recordings: here you can find recorded calls
- Design: in this section you can design the IVR structure thanks to the drag and drop interface.
Media files and Messages
By clicking the button New Sound + you can upload an audio file to be included in your application.
The system opens the following popup:
- Name: type the name for the file to refer to into the IVR application. Please avoid spaces and special charachters
- Description: you can type a short file description
- File: by clicking Select you can locate an audio file on you local file system
By clicking Save you can upload the file to the system.
Listen to the media files
On the Sounds section you can also:
- Download the audio file: note that you will download the audio file converted in the format that fits the Asterisk System needs;
- Listen to the audio file preview;
- Edit or Delete the audio file.
In this section you can add variables to the project. Variables can be used in the IVR application for several purposes, like:
- Dinamically change the application flow;
- Read or write data in a database table or managing Asterisk variables;
- Store the customer pressed digits and codes...
In order to add a variable you have to fill the pop up:
- Variable Name: the name you want to use to refer to the variable
- Type: the variable can be:
o Global: it is an Asterisk variable able to to be inherited indefinitely by channels created by the main and subsequent channels
o Channel: such kind of variable lives into a single channel and it is not inherited by any child subsequent channels
- Description: here you can provide a short description about the meaning or usage of the variable you are defining.
When defined, you can Save the current variable. To exit the form without defining any variable click on Close.
Using this capability you can connect your IVR application to a remote DB (Data Base) to read and write data from and to the IVR application itself.
In order to define a DB connection you just need to provide the following information inside the popup:
- Database: database name you would like to connect to.
- Host: the server IP of the database
- Username: DB username
- Password: DB password
- Confirm Password: DB password confirmation
- Type: indicates the driver to perform the DB connection. Currently just Mysql.
- Description: here you can provide a short description
In order to save the configuration press Save Changes. To exit without any change press Close.
The Cally Square design area is the application core: you can use it in order to design your IVR, expoiting the benefit of a pure Web Drag and Drop HTML5 based interface.
The working area is sliced in two main sections:
- A tool palette from which:
- you can choose the developing tools to implement the IVR (mainly Asterisk key applications and more specific Cally Square value added applications);
- you can navigate the design area, via the IVR project map:
- The design area where you can drag and drop the boxes from the tool palette.
Drag and Drop
In order to design the IVR flow, you have to connect the boxes each other using arrows, like in the picture below.
Please use the following procedure: when you move the curson on to a box, the yellow arrow apperas. Click on it and drag the mouse keeping the left button pressed. Go over the box you want to connect and release the left button.
The two boxes are connected now.
All the boxes wait for at least one arrow in (except the Start and Finally box) and all the boxes wait for at least one arrow out (except the Hungup and End boxes).
When you use the menu or background or any other box requiring a label on the branch, you just need to double click on the branch to add the labels (a text box will appear and you will be able to add the labels).
The design area comes with a toolbar located on the top header.
· Save : save the project to the local file system. Please keep in mind when the project is just saved it is still not active on the production asterisk system
· Publish : publish the project to the remote system. If the project is published with no errors you can consider it active and it can be used in your asterisk telephony system
· Print : IVR tree preview for an hardprint
· Undo/Redo : undoes or redoes the last action on the application
· Trash : deletes the selected boxes
· Copy/Cut/Paste copies, cuts or pastes the selected boxes into the clipboard
· Actual SIze/Zoom in/Zoom Out : resize the design area or restore the original size
Once your IVR application has been saved and published without errors you can use it with your xCALLY system.
Go to the Dial Plan section, create a new Route and associate to this route the IVR-Cally Square application.
Free PBX integration
In order to call one Cally Square IVR project inside your Free PBX system just perform the following steps:
- Browse the administration FreePBX web interface under the Admin section and select Custom Destination.
- Fill in the Custom destination field with context,extension,1
For example fill in with:
c. Fill in a description in the Description field
d. Click on Save
e. Browse under the Connectivity section à Inbound Routes and select your existing inbound involved route (or create a new one if you need)
f. Reach the bottom of your inbound route page and select Custom Destination in the pick-list field.
g. Select the previously created custom destination (see below screenshot)
Connect to your Linux FreePBX system console (i.e. via ssh) and add the following lines inside the file
exten => s,1,NoOp(Inbound IVR Cally Square calls)
exten => s,n,AGI(agi://127.0.0.1/square,project=6)
You are done!