Last updated 24 February 2015. Created on 2 March 2011.
Edited by HongPong, leoburd, dooug, matt@antinomia. Log in to edit this page.

How is VoIP Drupal structured?

The following image shows some of the main modules that are part of the VoIP Drupal framework.

The VoIP Drupal framework is composed of modules that can be grouped into “core,” “useful” and “utility” categories. The modules in the “core” category are included in the official VoIP Drupal project page ( They provide either essential or extremely useful functionality required for other other modules to benefit from the VoIP Drupal capabilities. Among other things,

  • The voip.module defines a common API that facilitates the interaction with VoIP servers of different kinds. It provides ways to make, receive and cancel phone calls, select default voices, and more.
  • The voipcall.module defines the attributes and behaviors associated with each call sent or received, including their caller id, destination number, duration, etc. VoIP Drupal calls also include scripts with commands such as “read text,” “play audio file,” “get input from keypad,” and others that determine what should be done whenever a call is picked up. Those scripts can be extremely powerful. Depending on the need, they might be either predefined or built in real time. They also have the potential to access any PHP or Drupal function available in the system.
  • The voipscriptui.module provides an easy way for developers to create new VoIP Drupal scripts direct from the web browser.
  • The voipscriptsamples.module includes examples that highlight how to implement common and complex features in the “VoIP Drupal way”.

The VoIP Drupal "core" also include modules that implement the functionality associated with specific Internet telephony servers. Ideally those modules should only be accessed via the functions provided by the VoIP Drupal API modules. We already have the following modules available:

The modules in the “useful” category demonstrate good, useful applications of the VoIP Drupal API. Example modules include:

  • audioblog.module, which allows users to access and record audio blog entries via SMS and regular phone calls.
  • click2call.module, which makes it easy to create website buttons that provide answering machine capabilities or execute custom made scripts.
  • messaging_voip.module, which integrates VoIP Drupal with the Drupal Messaging framework, making it possible for users to receive event notifications via phone calls
  • multifactor.module, which provides a secure method for multi-factor authentication using VoIP Drupal and phone based pin numbers.
  • phonerecorderfield.module, which calls the user to record the audio contents of a Drupal field.
  • visualvoipdrupal.module, which provides a graphical programming language that facilitates the creation of VoIP Drupal scripts.
  • voicemail.module, which provides voicemail boxes for users and nodes.
  • voipextension.module, which provides a basic API that enables Drupal modules to assign phone extension numbers to nodes, users, views, and other elements of the system.
  • voipnumber.module, which defines a phone number type to be used with other VoIP Drupal modules
  • voipphone.module, which embeds a phone on the page, enabling users to make phone calls directly from the browser.
  • voipusernumber.module, which provides phone numbers to Drupal users and manages auto-login and registration based on caller ids.
  • voipvoice.module, which enables users to add their own voices to phone menus and audio prompts.
  • voipwebform.module, which enables users to take webform surveys by telephone.
  • And many more to come!

Finally, the modules in the “utility” category implement useful functionality that does not require VoIP Drupal in order to be adopted. They include:

  • audioconverter.module, which converts audio files from supported CCK fields (AudioField, AudioRecorderField) to the mp3 format using FFMPEG.
  • audiorecorderfield.module, which provides a new CCK field that enables the recording of audio files directly from the web browser.

Looking for support? Visit the forums, or join #drupal-support in IRC.


sgarraway’s picture

The non-core modules referenced on this page don't seem to be located with the distribution. Is there another location to download these modules?

leoburd’s picture

Sorry for the late reply. Now all the non-core modules have their respective links associated with them...

falakniazi’s picture

I am developing a voice Broadcast application using a drupal module that uses plivo helper library for php. What advantages the above module will provide me if I am already using Plivo in my drupal module. I don't see any reason why should I use above module.