File: /home/posscale/subdomains/3pcc/readme.txt
Remote Call Control Interface Sample based on PHP
----------------------------------------------------------------------------------
Configuration
----------------------------------------------------------------------------------
To run this sample, the following applications should be installed and properly configured:
1. Apache 2
2. PHP 5.
In the php.ini file for PHP5, change the following settings:
a. Uncomment the following line:
extension=php_xmlrpc.dll
extension=php_sockets.dll
b. Set implicit_flush = On
----------------------------------------------------------------------------------
Use
----------------------------------------------------------------------------------
The sample provides the following options:
1. Creates and transfers a call.
2. Creates two calls and joins them.
3. Upload legible configuration
To create and transfer a call, follow these steps:
1. Specify the "From", "To", "Transfer To� fields for �Call1".
2. Click the "Run Transfer" button.
To create two calls and join them, follow these steps:
1. Specify the "From", "To" fields for �Call1" and �Call2".
2. Click the "Run Join" button.
To upload legible configuration
1. Specify filepath to configuration file
3. Click the "Upload" button
It is also possible to play a voice message for "Call2" by selecting a file name from the appropriate dropdown list.
----------------------------------------------------------------------------------
Specification
----------------------------------------------------------------------------------
RCCI based on PHP includes the following files:
1. Page file "rcci.php".
2. Page file "rcci_updateconfig.php".
3. PHP class file "XMLCalls_inc.php".
3. CSS file "styles.css".
The class constructor should initialize objects with the connection and authentication parameters as shown below:
$net = new XMLCalls ($ip_addr, $port, $user_name, $password)
XMLCalls_inc.php contains the class XMLCalls that has the following interface functions:
Authenticate()
authenticates the user on the Quadro with the "$user_name" and "$password" specified when creating the object.
Join($from, $to, $from2, $to2, $play_filename)
creates 2 calls, plays a message to the second called party, then joins the calls.
What happens if executed:
the party "$to" rings, indicating the "$from" as a caller.
Once "$to" answers the call, "$to2" rings, indicating the "$from2" as a caller.
The party "$to" hears silence. Once "$to2" answers the call, the voice message, specified as $play_filename", is played.
When the playback is complete, the parties "$to" and "$to2" are connected, and can talk to each other.
Transfer($from, $to, $transfer_to)
creates a call from the party "$from" to "$to", then transfers it to the party "$transfer_to".
What happens if executed:
the party "$to" rings, indicating the "$from" as a caller.
Once "$to" answers the call, the party "$transfer_to" will ring.
While the call is ringing at the party "$transfer_to"�s phone, "$to" listens ring-back tone.
If the party "$transfer_to" answers the call, a two-way communication is established between "$to" and "$transfer_to".
UpdateConfig($filePath)
upload legible configuration file specified by "$filepath" to Quadro.
There are some low-level interface functions, the main of which is the following:
Call($from, $to)
creates a simple call. After calling this function, the "$to" party will ring, indicating the "$from" as a caller.
After "$to" answers the call, they hear silence.
The call created by this function, should be handled further, using methods shown in the example.