simple send fax Sample
A simple outbound application that starts a fax session on an outbound call and sends the contents of a tif file (myFax.tif).
A progress page is set so that the application can present the negotiated fax settings and a page count after each page has been sent. A next page is set so that the application can present the fax termination result.
Note, the progress page is expected to respond with a status of 204 No Content.
This application requires the tif file myFax.tif to be available in the cloud media store.
A progress page is set so that the application can present the negotiated fax settings and a page count after each page has been sent. A next page is set so that the application can present the fax termination result.
Note, the progress page is expected to respond with a status of 204 No Content.
This application requires the tif file myFax.tif to be available in the cloud media store.
Uses actions: Send Fax
-
-
{ "actions" : [ { "send_fax" : { "fax_to_send": "myFax.tif", "next_page" : { "url" : "SendFaxComplete", "method" : "Post" }, "progress_page": { "url" : "SendFaxProgress", "method" : "Post" } } } ], "token" : "my instance id", "api_version": "2.0" }
-
{ "actions" : [ ], "token" : "my instance id", "api_version": "2.0" }
-
{ [ ], "token" : "Error for Action: xxxx ActionIndex: xxxx Result: xxxx" }
-
{ }
-
-
-
Implementing this sample as an ASP.Net Web application:
-
// CSharp Wrapper sample for the Aculab Telephony REST API. // // Simple Send Fax: // A simple application that sends a fax to an answered outbound call. // It requests progress notifications while the fax is being sent and a call // to a next page when the fax sending completes. using System; using System.Collections.Generic; using Aculab.Cloud.RestAPIWrapper; public partial class SimpleSendFax : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(Request); String token = ourRequest.InstanceInfo.Token; // Setup the actions List<TelephonyAction> actions = new List<TelephonyAction> { new SendFax("myFax.tif", new WebPageRequest("SendFaxComplete.aspx"), new WebPageRequest("SendFaxProgress.aspx")) }; // Respond TelephonyResponse ourResponse = new TelephonyResponse(actions, token); ourResponse.ToHttpResponse(Response); } }
-
// CSharp Wrapper sample for the Aculab Telephony REST API. // // A page from the Simple Send Fax sample: // This receives notifications of the progress of the fax sending. using System; using System.Net; using Aculab.Cloud.RestAPIWrapper; public partial class SendFaxProgress : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(Request); String token = ourRequest.InstanceInfo.Token; Aculab.Cloud.RestAPIWrapper.SendFaxProgress progress = (Aculab.Cloud.RestAPIWrapper.SendFaxProgress)ourRequest.InstanceInfo.ActionProgress; // Add your own code here to use the progress information. // e.g. update a database, write to a log... int pagesSent = progress.PagesSent; Response.StatusCode = (int)HttpStatusCode.NoContent; } }
-
// CSharp Wrapper sample for the Aculab Telephony REST API. // // A page from the Simple Send Fax sample: // This is called when the fax sending has completed. using System; using Aculab.Cloud.RestAPIWrapper; public partial class SendFaxComplete : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(Request); String token = ourRequest.InstanceInfo.Token; SendFaxResult result = (SendFaxResult)ourRequest.InstanceInfo.ActionResult; // Add your own code here to use the result information. // e.g. update a database, write to a log... int pagesSent = result.PagesSent; // Respond TelephonyResponse ourResponse = new TelephonyResponse(token); ourResponse.ToHttpResponse(Response); } }
-
using System; using Aculab.Cloud.RestAPIWrapper; public partial class ErrorPage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(Request); ErrorResult result = ourRequest.InstanceInfo.ErrorResult; String token = String.Format("Action: {0}\nActionIndex: {1}\nResult: {2}", result.Action, result.ActionIndex, result.Result); // Respond TelephonyResponse ourResponse = new TelephonyResponse(null, token); ourResponse.ToHttpResponse(Response); } }
-
using System; using Aculab.Cloud.RestAPIWrapper; public partial class FinalPage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(Request); } }
-
-
Implementing this sample as an ASP.Net Core Web application:
-
// ASP.NET Core CSharp Wrapper sample for the Aculab Telephony REST API. // // Simple Send Fax: // A simple application that sends a fax to an answered outbound call. // It requests progress notifications while the fax is being sent and a call // to a next page when the fax sending completes. using System; using System.Net; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Aculab.Cloud.RestAPIWrapper; using System.Threading.Tasks; namespace Aculab.Cloud.RESTAPI.NETCoreCSharpSamples.Controllers { [Route("SimpleSendFax")] public class SimpleSendFaxController : ControllerBase { // Process the GET or POST request, set up the actions and construct the json response. [Route("FirstPage")] [HttpGet] [HttpPost] [ProducesResponseType(200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public async Task<IActionResult> SimpleSendFax() { try { // Unpack the request var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request); String token = telephonyRequest.InstanceInfo.Token; // Setup the actions required List<TelephonyAction> actions = new List<TelephonyAction>(); actions.Add(new SendFax("myFax.tif", new WebPageRequest("SimpleSendFax/SendFaxComplete"), new WebPageRequest("SimpleSendFax/SendFaxProgress"))); // Create response TelephonyResponse ourResponse = new TelephonyResponse(actions, token); return new OkObjectResult(ourResponse.ToJson(this)); } catch (ArgumentException) { return BadRequest(); } catch (Exception e) { return StatusCode((int)HttpStatusCode.InternalServerError, e.Message); } } } }
-
// ASP.NET Core CSharp Wrapper sample for the Aculab Telephony REST API. // // Simple Send Fax: // A simple application that sends a fax to an answered outbound call. // It requests progress notifications while the fax is being sent and a call // to a next page when the fax sending completes. using System; using System.Net; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Aculab.Cloud.RestAPIWrapper; using System.Threading.Tasks; namespace Aculab.Cloud.RESTAPI.NETCoreCSharpSamples.Controllers { [Route("SimpleSendFax")] public class SimpleSendFaxController : ControllerBase { // Process the GET or POST progress request. [Route("SendFaxProgress")] [HttpGet] [HttpPost] [ProducesResponseType(200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public async Task<IActionResult> SendFaxProgress() { try { // Unpack the request var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request); String token = telephonyRequest.InstanceInfo.Token; RestAPIWrapper.SendFaxProgress progress = (RestAPIWrapper.SendFaxProgress)telephonyRequest.InstanceInfo.ActionProgress; // Add your own code here to use the progress information. // e.g. update a database, write to a log... int pagesSent = progress.PagesSent; // Respond with no content return StatusCode((int)HttpStatusCode.NoContent); } catch (ArgumentException) { return BadRequest(); } catch (Exception e) { return StatusCode((int)HttpStatusCode.InternalServerError, e.Message); } } } }
-
// ASP.NET Core CSharp Wrapper sample for the Aculab Telephony REST API. // // Simple Send Fax: // A simple application that sends a fax to an answered outbound call. // It requests progress notifications while the fax is being sent and a call // to a next page when the fax sending completes. using System; using System.Net; using System.Collections.Generic; using Microsoft.AspNetCore.Mvc; using Aculab.Cloud.RestAPIWrapper; using System.Threading.Tasks; namespace Aculab.Cloud.RESTAPI.NETCoreCSharpSamples.Controllers { [Route("SimpleSendFax")] public class SimpleSendFaxController : ControllerBase { // Process the GET or POST request, set up the actions and construct the json response. [Route("SendFaxComplete")] [HttpGet] [HttpPost] [ProducesResponseType(200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public async Task<IActionResult> SendFaxComplete() { try { // Unpack the request var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request); String token = telephonyRequest.InstanceInfo.Token; SendFaxResult result = (SendFaxResult)telephonyRequest.InstanceInfo.ActionResult; // Add your own code here to use the result information. // e.g. update a database, write to a log... int pagesSent = result.PagesSent; // Create response TelephonyResponse ourResponse = new TelephonyResponse(token); return new OkObjectResult(ourResponse.ToJson(this)); } catch (ArgumentException) { return BadRequest(); } catch (Exception e) { return StatusCode((int)HttpStatusCode.InternalServerError, e.Message); } } } }
-
// ASP.NET Core CSharp Wrapper sample for the Aculab Telephony REST API. using System; using Microsoft.AspNetCore.Mvc; using Aculab.Cloud.RestAPIWrapper; using System.Net; using System.Threading.Tasks; namespace Aculab.Cloud.RESTAPI.NETCoreCSharpSamples.Controllers { public class RESTSampleController : ControllerBase { // Process the GET or POST request for the Error condition [Route("ErrorPage")] [HttpGet] [HttpPost] [ProducesResponseType(200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public async Task<IActionResult> ErrorPage() { try { // Unpack the request var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request); ErrorResult result = telephonyRequest.InstanceInfo.ErrorResult; String token = String.Format("Action: {0}\nActionIndex: {1}\nResult: {2}", result.Action, result.ActionIndex, result.Result); // Create response TelephonyResponse ourResponse = new TelephonyResponse(null, token); return new OkObjectResult(ourResponse.ToJson(this)); } catch (ArgumentException) { return BadRequest(); } catch (Exception e) { return StatusCode((int)HttpStatusCode.InternalServerError, e.Message); } } } }
-
// ASP.NET Core CSharp Wrapper sample for the Aculab Telephony REST API. using System; using Microsoft.AspNetCore.Mvc; using Aculab.Cloud.RestAPIWrapper; using System.Net; using System.Threading.Tasks; namespace Aculab.Cloud.RESTAPI.NETCoreCSharpSamples.Controllers { public class RESTSampleController : ControllerBase { // Process the GET or POST request for the Final Page [Route("FinalPage")] [HttpGet] [HttpPost] [ProducesResponseType(200)] [ProducesResponseType(400)] [ProducesResponseType(500)] public async Task<IActionResult> FinalPage() { try { // Unpack the request var telephonyRequest = await TelephonyRequest.UnpackRequestAsync(Request); String token = telephonyRequest.InstanceInfo.Token; // Create response // Only very limited actions can be returned here TelephonyResponse ourResponse = new TelephonyResponse(null, token); return new OkObjectResult(ourResponse.ToJson(this)); } catch (ArgumentException) { return BadRequest(); } catch (Exception e) { return StatusCode((int)HttpStatusCode.InternalServerError, e.Message); } } } }
-
-
-
Implemented as ASP.Net Web App:
-
' Visual Basic Wrapper sample for the Aculab Telephony REST API. ' ' The first page for the Simple Send Fax sample: ' A simple application that sends a fax to an answered outbound call. ' It requests progress notifications while the fax is being sent and a call ' to a next page when the fax sending completes. Imports System.Collections.Generic Imports Aculab.Cloud.RestAPIWrapper Partial Class SimpleSendFax Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Unpack the request Dim ourRequest As TelephonyRequest = New TelephonyRequest(Request) Dim token As String = ourRequest.InstanceInfo.Token ' Setup the actions Dim actions As List(Of TelephonyAction) = New List(Of TelephonyAction) actions.Add(New SendFax("myFax.tif", New WebPageRequest("SendFaxComplete.aspx"), New WebPageRequest("SendFaxProgress.aspx"))) ' Respond Dim ourResponse As TelephonyResponse = New TelephonyResponse(actions, token) ourResponse.ToHttpResponse(Response) End Sub End Class
-
' Visual Basic Wrapper sample for the Aculab Telephony REST API. ' ' A page from the Simple Send Fax sample: ' This receives notifications of the progress of the fax sending. Imports System.Net Imports Aculab.Cloud.RestAPIWrapper Partial Class SendFaxProgress Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Unpack the request Dim ourRequest As TelephonyRequest = New TelephonyRequest(Request) Dim token As String = ourRequest.InstanceInfo.Token Dim progress As Aculab.Cloud.RestAPIWrapper.SendFaxProgress = ourRequest.InstanceInfo.ActionProgress ' Add your own code here to use the progress information. ' e.g. update a database, write to a log... Dim pagesSent As Integer = progress.PagesSent ' Respond Response.StatusCode = HttpStatusCode.NoContent End Sub End Class
-
' Visual Basic Wrapper sample for the Aculab Telephony REST API. ' ' A page from the Simple Send Fax sample: ' This is called when the fax sending has completed. Imports Aculab.Cloud.RestAPIWrapper Partial Class SendFaxComplete Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Unpack the request Dim ourRequest As TelephonyRequest = New TelephonyRequest(Request) Dim token As String = ourRequest.InstanceInfo.Token Dim result As SendFaxResult = ourRequest.InstanceInfo.ActionResult ' Add your own code here to use the result information. ' e.g. update a database, write to a log... Dim pagesSent As Integer = result.PagesSent ' Respond Dim ourResponse As TelephonyResponse = New TelephonyResponse(token) ourResponse.ToHttpResponse(Response) End Sub End Class
-
' Visual Basic Wrapper sample for the Aculab Telephony REST API. ' ' A generic error page for all the samples. Imports Aculab.Cloud.RestAPIWrapper Partial Class ErrorPage Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Unpack the request Dim ourRequest As TelephonyRequest = New TelephonyRequest(Request) Dim result As ErrorResult = ourRequest.InstanceInfo.ErrorResult Dim token As String = String.Format("Action: {0}\nActionIndex: {1}\nResult: {2}", _ result.Action, result.ActionIndex, result.Result) ' Respond Dim ourResponse As TelephonyResponse = New TelephonyResponse(token) ourResponse.ToHttpResponse(Response) End Sub End Class
-
' Visual Basic Wrapper sample for the Aculab Telephony REST API. ' ' A generic final page for all the samples: Imports Aculab.Cloud.RestAPIWrapper Partial Class FinalPage Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Unpack the request Dim ourRequest As TelephonyRequest = New TelephonyRequest(Request) ' Do application tidying up ' ... End Sub End Class
-
-
Implemented as Java Servlets:
-
// Java Servlet sample for the Aculab Telephony REST API. // // Simple Send Fax: // A simple application that sends a fax to an answered outbound call. // It requests progress notifications while the fax is being sent and a call // to a next page when the fax sending completes. package com.aculab.telephonyrestapi.samples; import javax.servlet.http.*; import javax.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.aculab.telephonyrestapi.*; public class SimpleSendFax extends HttpServlet { private static final long serialVersionUID = 9126506431049960743L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(request); String token = ourRequest.getInstanceInfo().getToken(); // Set up the actions List<TelephonyAction> actions = new ArrayList<TelephonyAction>(); SendFax txFaxAction = new SendFax( "myFax.tif", new WebPageRequest("SendFaxComplete"), new WebPageRequest("SendFaxProgress")); actions.add(txFaxAction); // Respond TelephonyResponse ourResponse = new TelephonyResponse(actions, token); ourResponse.setHttpServletResponse(response); } }
-
// Java Servlet sample for the Aculab Telephony REST API. // // A page from the Simple Send Fax sample: // This receives notifications of the progress of the fax sending. package com.aculab.telephonyrestapi.samples; import javax.servlet.http.*; import javax.servlet.ServletException; import java.io.IOException; import com.aculab.telephonyrestapi.*; public class SendFaxProgress extends HttpServlet { private static final long serialVersionUID = 3062270390438029429L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(request); String token = ourRequest.getInstanceInfo().getToken(); com.aculab.telephonyrestapi.SendFaxProgress progress = (com.aculab.telephonyrestapi.SendFaxProgress)ourRequest.getInstanceInfo().getActionProgress(); // Add your own code here to use the progress information. // e.g. update a database, write to a log... int pagesSent = progress.getPagesSent(); // Respond response.setStatus(HttpServletResponse.SC_NO_CONTENT); } }
-
// Java Servlet sample for the Aculab Telephony REST API. // // A page from the Simple Send Fax sample: // This is called when the fax sending has completed. package com.aculab.telephonyrestapi.samples; import javax.servlet.http.*; import javax.servlet.ServletException; import java.io.IOException; import com.aculab.telephonyrestapi.*; public class SendFaxComplete extends HttpServlet { private static final long serialVersionUID = -6784375769664596000L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(request); String token = ourRequest.getInstanceInfo().getToken(); SendFaxResult result = (SendFaxResult)ourRequest.getInstanceInfo().getActionResult(); // Add your own code here to use the result information. // e.g. update a database, write to a log... int pagesSent = result.getPagesSent(); // Respond TelephonyResponse ourResponse = new TelephonyResponse(token); ourResponse.setHttpServletResponse(response); } }
-
// Java Servlet sample for the Aculab Telephony REST API. // package com.aculab.telephonyrestapi.samples; import javax.servlet.http.*; import javax.servlet.ServletException; import java.io.IOException; import java.util.ArrayList; import java.util.List; import com.aculab.telephonyrestapi.*; public class ErrorPage extends HttpServlet { private static final long serialVersionUID = -4842873371047361437L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(request); ErrorResult result = ourRequest.getInstanceInfo().getErrorResult(); String token = String.format("Action: %s\nActionIndex: %d\nResult: %s", result.getAction(), result.getActionIndex(), result.getResult()); // Respond List<TelephonyAction> actions = new ArrayList<TelephonyAction>(); TelephonyResponse ourResponse = new TelephonyResponse(actions, token); ourResponse.setHttpServletResponse(response); } }
-
// Java Servlet sample for the Aculab Telephony REST API. // package com.aculab.telephonyrestapi.samples; import javax.servlet.http.*; import javax.servlet.ServletException; import java.io.IOException; import com.aculab.telephonyrestapi.*; public class FinalPage extends HttpServlet { private static final long serialVersionUID = 5940620014313056844L; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { handleRequest(request, response); } private void handleRequest(HttpServletRequest request, HttpServletResponse response) throws IOException { // Unpack the request TelephonyRequest ourRequest = new TelephonyRequest(request); } }
-
-
Implemented as a Flask web application:
-
@app.route('/SimpleSendFax', methods=['GET','POST']) def handle_SimpleSendFax(): my_request = TelephonyRequest(request) app_inst_id = my_request.get_application_instance_id() print("SimpleSendFax: app_inst_id='{}'".format(app_inst_id)) fax_action = SendFax(fax_to_send='myFax.tif', progress_page=WebPage(url='SendFaxProgress', method='POST'), next_page=WebPage(url='SendFaxComplete', method='POST')) list_of_actions = [] list_of_actions.append(fax_action) my_response = TelephonyResponse(list_of_actions, token='my instance id') return my_response.get_json()
-
@app.route('/SendFaxProgress', methods=['GET','POST']) def handle_SendFaxProgress(): my_request = TelephonyRequest(request) action_progress = my_request.get_action_progress() my_token = my_request.get_token() negotiated_settings = action_progress.get('progress').get('negotiated_settings') if negotiated_settings: modem = negotiated_settings['modem'] datarate = negotiated_settings['data_rate'] print("Modem {0} rate {1}".format(modem, datarate)) pages = action_progress.get('progress').get('pages_sent', '0') print("Pages sent count {0}".format(pages)) # Return 'No content' Http Response code empty_json = '{}'.encode('utf-8') return empty_json, 204
-
@app.route('/SendFaxComplete', methods=['GET','POST']) def handle_SendFaxComplete(): my_request = TelephonyRequest(request) action_result = my_request.get_action_result() my_token = my_request.get_token() print("The fax result is {0}".format(action_result.get('result').get('description'))) my_response = TelephonyResponse([], my_token) return my_response.get_json()
-
@app.route('/ErrorPage', methods=['GET','POST']) def handle_ErrorPage(): my_request = TelephonyRequest(request) token = my_request.get_token() app_inst_id = my_request.get_application_instance_id() error_result_dict = my_request.get_error_result() action_string = error_result_dict.get('action', "?") result_string = error_result_dict.get('result', "?") print("ErrorPage: app_inst_id='{}' token='{}' action='{}' result='{}'".format(app_inst_id, token, action_string, result_string)) my_response = TelephonyResponse([Play(text_to_say='An error has occurred')]) return my_response.get_json()
-
@app.route('/FinalPage', methods=['GET','POST']) def handle_FinalPage(): # The FinalPage handler follows the guidelines on: # https://www.aculab.com/cloud/voice-and-fax-apis/rest-api/rest-api-version-2/rest-api-version-2/writing-a-rest-application # The guidelines are: # "Your final page should return an empty response, a 204 is preferable, but empty JSON is acceptable." my_request = TelephonyRequest(request) token = my_request.get_token() app_inst_id = my_request.get_application_instance_id() print("FinalPage: app_inst_id='{}' token='{}'".format(app_inst_id, token)) empty_json = '{}'.encode('utf-8') return empty_json
-
-
-
<?php header("Content-Type: application/json; charset=UTF-8"); require __DIR__ . "/../../autoload.php"; use Aculab\TelephonyRestAPI\Response; use Aculab\TelephonyRestAPI\SendFax; $fax = SendFax::tiffFile('myFax.tif') ->setProgressPage('SendFaxProgress.php', 'POST') ->setNextPage('SendFaxComplete.php', 'POST'); $response = new Response(); $response->setToken('my instance id'); $response->addAction($fax); print $response;
-
<?php header("Content-Type: application/json; charset=UTF-8"); http_response_code(204); require __DIR__ . "/../../autoload.php"; use Aculab\TelephonyRestAPI\InstanceInfo; $info = InstanceInfo::getInstanceInfo(); $p = $info->getActionProgress(); // Add your own code here to use the progress information. // e.g. update a database, write to a log... $pages = $p->getPagesSent();
-
<?php header("Content-Type: application/json; charset=UTF-8"); require __DIR__ . "/../../autoload.php"; use Aculab\TelephonyRestAPI\InstanceInfo; use Aculab\TelephonyRestAPI\Response; $info = InstanceInfo::getInstanceInfo(); $result = $info->getActionResult(); // Add your own code here to use the result information. // e.g. update a database, write to a log... $pages = $result->getPagesSent(); $response = new Response(); $response->setToken($info->getToken()); print $response;
-
<?php header("Content-Type: application/json; charset=UTF-8"); require __DIR__ . "/../../autoload.php"; use Aculab\TelephonyRestAPI\Play; use Aculab\TelephonyRestAPI\Response; use Aculab\TelephonyRestAPI\InstanceInfo; $info = InstanceInfo::getInstanceInfo(); $error = $info->getErrorResult(); $action = $error->getAction(); $desc = $error->getResult(); if (!is_null($action)) { error_log("Error from action \"$action\" with result:" . PHP_EOL . "$desc" . PHP_EOL); } else { error_log("Error result:" . PHP_EOL . "$desc" . PHP_EOL); } $response = new Response(); $response->setToken('Error'); $play = new Play(); $play->addText('An error has occurred.'); $response->addAction($play); print $response;
-
<?php require __DIR__ . "/../../autoload.php"; http_response_code(204); header("Content-Type: application/json; charset=UTF-8"); use Aculab\TelephonyRestAPI\InstanceInfo; $info = InstanceInfo::getInstanceInfo(); $call = $info->getThisCallInfo(); $callid = $call->getCallId(); $duration = $call->getSecondsCallDuration(); error_log("This call id: $callid" . PHP_EOL . "This call duration: $duration" . PHP_EOL);
-