Invox allows your phone system to interact with your web assets (database, website, web services, CRM, ticket systems etc.) in real time using simple IVR JSON or Voice JSON standards.
All call variables including callerid, callername, callid (unique for each call) are posted to the designated URL as JSONParam post parameter.
JSONParam would be
{{"callerid": "9999933333"}, {"callername": "james"}, {"callid": "4343434343"}, {"yourvariable": "yourvariablevalue"},...}
Your backend can read this post parameter and make changes to the JSON object as desired. The new data will be available to your phone system immediately.
PHP Code
// Read Invox Params
$phoneVariablesInJSON = $_POST['JSONParam'];
// Decode JSON
$phoneVariables = json_decode($phoneVariablesInJSON);
// Read Callerid
$callerid = $phoneVariables->{'callerid'};
// Read your variables
$caller $phoneVariables->{'yourcustomvariable'};
...add, delete or modify objects in JSON as desired print $updatedPhoneVariablesInJSON;
JSP Code
// Read Invox Params
String phoneVariablesInJSON = request.getParameter('JSONParam');
// Decode JSON
JSONObject json_obj = new JSONObject(phoneVariablesInJSON);
// Read Callerid
String callerid = json_obj.get('callerid');
// Read your variables
String caller = json_obj.get('yourcustomvariable');
...add, delete or modify objects in JSON as desired print $updatedPhoneVariablesInJSON; * The URL should always return qualified JSON object containing old keys. * You can use a new variable as $variablename anywhere in the phone system.
Example:
The following example prompts the caller for his account number and plays his name. JSP will be used for backend.
Step 1: Get Input for Account Number
Say 1002 is entered by the caller.Step 2: JSON I/O to get the accounts.
- Set the URL to get pull the relevant account data from the web assets.JSON I/O will post the caller selected account number and the caller details callerid, callername, callid (unique for each call) to the designated URL as JSONParam post parameter.
JSONParam would be
{{"callerid": "9999933333"}, {"callername": "james"}, {"callid": "4343434343"}, {"accountnumber": "1002"},...}
In the backend jsp code...
//Decode phoneVariablesInJSON to get the account details.
callerid - 9999933333
callername - james
callid - 4343434343
accountnumber - 1002
// Decode JSON
JSONObject json_obj = new JSONObject(phoneVariablesInJSON);
// Read accountnumber
String accountnumber = json_obj.get('accountnumber');
Now we can implement your business logic to get the account details.
String accountname = yourfunction(accountnumber);
Now your URL will return the JSON which has the details of the accountname and other information like caller details.
//{{"callerid": "9999933333", {"callername": "james"}, {"callid": "4343434343"}, {"accountnumber": "1002"}, {"accountname": "mike"},...}.
Step 3: Play Message to play the account holder name
Now use play message to play the account holder name.Account holder name is $accountname($ accountname value is mike) so Invox will play...
"Account holder name is Mike".
Play Message
Invox will conveniently charge the callers for the time they have spent speaking with you or your angents.
Get Input Node
Caller's credit card is first validated before the call is forwarded to the agent.
Variable Node
Invox will automatically compute the price real-time based on call duration and conveniently charge the caller's credit or debit card.







