Book Image

FreeSWITCH 1.8

By : Anthony Minessale II, Giovanni Maruzzelli
Book Image

FreeSWITCH 1.8

By: Anthony Minessale II, Giovanni Maruzzelli

Overview of this book

FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat-driven products, scaling from a soft-phone to a PBX and even up to an enterprise-class soft-switch. This book introduces FreeSWITCH to IT professionals who want to build their own telephony system. This book starts with a brief introduction to the latest version of FreeSWITCH. We then move on to the fundamentals and the new features added in version 1.6, showing you how to set up a basic system so you can make and receive phone calls, make calls between extensions, and utilize basic PBX functionality. Once you have a basic system in place, we’ll show you how to add more and more functionalities to it. You’ll learn to deploy the features on the system using unique techniques and tips to make it work better. Also, there are changes in the security-related components, which will affect the content in the book, so we will make that intact with the latest version. There are new support libraries introduced, such as SQLite, OpenSS, and more, which will make FreeSWITCH more efficient and add more functions to it. We’ll cover these in the new edition to make it more appealing for you.
Table of Contents (23 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

The demo-ivr in PHP-HTTAPI


Before you start, you need to already have a web server set up to serve up PHP files, with the PHP XML extensions installed. Next thing you'll need to do is the PHTTAPI library.

In our demo script, named "demo-ivr.php", we have the library in the parent directory, "required" in the second line:

<?php 
require "../phttapi.php"; 
 
if ( array_key_exists( 'session_id', $_REQUEST ) ) { 
    session_id( $_REQUEST['session_id'] ); 
} 
session_start(); 
 
if ( array_key_exists( 'exiting', $_REQUEST ) ) { 
    header( 'Content-Type: text/plain' ); 
    print "OK"; 
    exit(); 
} 
 
$demo = new phttapi(); 
$opt  = array_key_exists( 'main_menu_option', $_REQUEST ) ? $_REQUEST['main_menu_option'] : ''; 
 
$demo->start_variables(); 
$demo->add_variable( 'IVR_variable_01', 'VariableValue01' ); 
$demo->end_variables(); 
$demo->start_params(); 
$demo->add_param( 'IVR_param_01', 'ParamValue01' ); 
$demo->end_params(); 
 
if ( preg_match( '/^10[01][0-9]$/',...