Phone API Reference

Desk Phone API features described in this section are deprecated and supported only on the following models: D40, d45, d50, d60, d62, d65, d70

D-Series Phone API Reference Guide

The D-Series Phone API is a JavaScript toolset used to build custom apps.

At its most basic, a custom app is a zip file that contains an app.json file and a JavaScript file.

 

Zip File

An app is packaged into a zip file. The zip contains the app.json file, JavaScript file, and additional data (icons, language files, etc.).  

A Sangoma Phone uses the zip file to install the app.

app.json File

Each app requires a JSON file named app.json. The JSON file describes to the Sangoma Phone App Engine what the app is and what its settings are. See the article app.json for details.

JavaScript File

The following are the principal phone API modules comprising the toolset:

  • Core - Basic building blocks of any Sangoma Phone app. Used for functional programming.

  • Classes - Core classes available to every app.  Used for functional programming.

  • Extended - Libraries to add additional functional methods to a Sangoma Phone app.

  • Extended Classes - Additional libraries to add more functional class constructors.

  • UI Core (window) - Automatically defined object that enables app display for every app at runtime.

  • UI Classes (Widgets) - Basic graphical building blocks (class constructors).

  • UI Extended - Additional tools for building user interaction into your app.

  • UI Extended Classes - Additional UI class constructors for creating more than basic UI elements.

Links to these modules and their libraries are in the sidebar. See the Getting Started page and the other Guides for general instructions, and the Phone API Demos  for annotated sample programs to give you custom app examples.

The phone app programming model is single-threaded, event-driven. Avoid long-running processing loops because they limit the responsiveness of apps, and after a few seconds, they will cause your app to be killed.

 

Return to Documentation Home I Return to Sangoma Support