Integrate with Remote Applications Using CallAPI Events Print

  • 0



CallAPI Events is a CallAPI service that provides ways to notify web applications about various events triggered by telephone calls. The notification is performed using REST calls. With the help of this service, a developer can define custom requests to be sent when specific events occur.

Other CallAPI services serve different scopes and developers may interact with one or more services, depending on the application they build. There are 3 other CallAPI services:

  • CallAPI Control: Allows developers to initiate and manage calls in real-time, get information about past calls, manage CallAPI Events, and test the CallAPI Control access permissions.
  • CallAPI Interactive: Allows third-party applications to control the call flow in the IVR using XML actions.
  • CallAPI Email: This service includes methods that are accessible in the VoipNow Professional email flow.

Even though there are 4 CallAPI services at the moment, note that this might change. New services are scheduled to be added in the future.

There are currently 3 events supported by the CallAPI Events service:

  • Dial-In: Triggered when a call is received by an extension.
  • Dial-Out: Triggered when a call is made by an extension.
  • Hangup: Triggered when the call the extension is involved in gets hung up.


Events Management

There are 2 ways to manage the CallAPI Events: either through the CallAPI Control REST interface or using the web management interface.


Events Management Via CallAPI Control Service

CallAPI Control is the CallAPI service that makes call management accessible to developers through a HTTP REST interface. The Event resource operations are:

  • Add: Add a request to the CallAPI Events for a specific extension.
  • Edit: Edit a specific request.
  • Remove: Remove a certain request.
  • ListAll: List all events related to a specific extension.


Events Managed With the Web Interface

In order to enable CallAPI Events in the VoipNow Professional web management interface, you have to go to the homepage of the extension you want to associate the events with and then comply with the following requirements:

  1. Click the SystemAPI & CallAPI icon available in the Tools section.
  2. Click the CallAPI Events tab.


Adding Request Calls to Events

In order to add request calls to events, you must go to the CallAPI Published Events for Extension {ext_no} page. The attributes you can modify are:

  • Request method: The method used when making the request (this can be either GET or POST).
  • Request ID: An unique ID generated for each request, useful for identifying requests when they are managed via CallAPI Control.
  • URL: The request URL that is called when the event is triggered.
  • Status: Requests can be enabled or disabled with the help of this functionality. A disabled request is no longer performed.
  • Notes: An informative note about the request, used for reference only.


Default Request Parameters

Here is a list with the parameters that are automatically added to each request. Their main usage is to provide third-party applications with more information about events:


NameOccurenceTypeRequired Description
CallID 1 String No   The call's unique identifier.
CallerIDNum 1 String No   The caller's CallerID number.
CallerIDNam 1 String No   The caller's CallerID name.
CalledDID 1 String No   The public number of the called extension (if available).
CalledExtension 1 String No   The extension that received the call. Supported format: extended extension number (eg, 12340101).
CallStatus 1 String No   The call status. For Dial-In and Dial-Out type events, this parameter is set to CALLING, for Hangup events is set to ANSWER or UNKNOWN.
CallFlow 1 String No   The call flow: IN - for the calls received by the extension or OUT - for the calls made by the extension.
CallerExtension 1 String No   The extension that made the call. Supported format: extended extension number (eg, 12340101).
CalledNumber 1 String No   The number that was dialed by the caller. It can be a public number or the extended number of an extension.



Was this answer helpful?

« Back


ezyexchange  hosted microsoft exchange
ezytel  enterprise-grade hosted PBX
ezycloudsms  2-way cloud SMS
ezybroadband  NBN, wireless or fibre ethernet
ezy365  microsoft 365 licensing
ezywebhosting  enterprise web hosting
ezyssl  build trust, secure your brand
ezydomains  your name in the cloud
ezyreseller  our services, your clients


ezycloud | powered by Digital Hybrid
PO Box 7208, South Penrith, NSW, 2750


Call   1300 882 942
SMS   0409 19 88 66

COPYRIGHT © 2009 -       Digital Hybrid Pty Ltd | really communicate       ACN 139 660 585   |   ABN 37 139 660 585   |   ALL RIGHTS RESERVED WORLDWIDE