AsteriskIntegration

Summary

The Asterisk PABX system can provide impressive capabilities to Ubuntu home and business users.

Rationale

With the increasing popularity of VoIP, provision of joined-up voice services would be a major asset for Ubuntu, especially if it installed and integrated usefully out of the box. Asterisk allows seamless use of landline phones with IP telephony which is a growing requirement for small and medium size businesses. An easy to install and admin Asterisk on Ubuntu solution is sorely needed, as the existing tools either require you to adopt another distro or fail to provide timely updates.

Use cases

  • Simon has a small business and wishes to reduce his phone costs. With the Ubuntu server install, he finds he is also equipped with a full-featured PABX system at no cost.
  • Raoul uses Asterisk to host a conference call which his SIP/H323 provider does not allow.

more use cases

Scope

The goal is to provide an easy to install version of Asterisk, either for connection to POTS/Copper or as a completely VoIP solution. User would be walked through initial hardware setup. As Asterisk is already packaged, coordination with pkg-voip in Debian would be needed. Further work would include packaging of the new Asterisk-GUI, as well as working on prebuilt dahdi modules.

Design

Implementation

The simplest way to have a gui is to package the Asterisk GUI, which is a framework developped by Digium, and already packaged by Debian. It manages users, provisions phones, and can setup voip providers or dahdi hardware. The interface can also be used to develop simple IVR scripts. One of the advantages of this gui is that it reads and writes directly to standard asterisk configuration files, so it can be compatible with custom scripts. It doesn't need any LAMP stack. However, it still needs testing and integration with the other packages.

Another interesting solution is FreePBX, which Debian made some efforts to build a package, but never released it. It's in the pkg-voip subversion tree. However it would require a lot of work and testing to bring the packaging up to release-quality status. Furthermore, the upstream project is in a complete rewrite (version 3.0, probably out at the end of 2010), so we should consider wether it's worthwile to work on the current 2.6 version.

The Asterisk Now GPL project by Digium, the original creators of Asterisk also provides a very nice and friendly UI wizard in the spirit of an "it just works" approach. AsteriskNOW is released as open source under the GNU General Public License (GPL). Starting with the 1.5,version, the system is now based on CentOS 5.3 with AsteriskGUI, parts of FreePBX and the new DAHDI drivers. Porting from CentOS to Ubuntu will likely take a lot of time.

Other GUIs/Applicances:

  • Elastix: based on Centos, Asterisk 1.4, FreePBX, that also adds SugarCRM, Hylafax+Avantfax and other interesting functions.
  • Trixbox (formerly Asterisk@home): based on Centos, FreePBX + trixbox dashboard. Latest version based on Asterisk 1.6.

As of 2009-11-20, here is the status of the Ubuntu Asterisk stack:

Packages already in Ubuntu:

  • Asterisk 1.6.2.0~rc2 (current asterisk.org is rc6)
  • dahdi tools 2.2.0 (current)
  • dahdi drivers 2.2.0.2 (current)
  • dahdi dkms module (adds diff with Debian) instead of module-assistant to automatically compile the driver for new kernel versions

Other packages: everything is built in jmdault's ppa, waiting for review+upload by a MOTU.

  • asterisk-gui. It's getting there, though it still has some bugs to iron out for production use. Latest version is 2.0.4.9.svn.4809, Debian has 4980 (unreleased)
  • We also need to package Asterisk-addons for the MP3 module (music on hold) and the MySQL module (required for most management front-ends as well as most call center applications). Our repo has 1.6.2.0-rc1 (upstream is rc2)
  • asterisk-chan-capi: ISDN Channel driver. Latest version (1.1.2) can be taken from Debian, but needs to be rebuilt for the new Asterisk.
  • asterisk-prompt-fr-june: French-Canadian Sounds by June Wallack. Our repo has 1.4.15, latest is 1.4.16
  • asterisk-core-sounds-es-gsm: Spanish sounds by Allison Smith. Our repo has 1.4.15, latest is 1.4.16
  • asterisk-sounds-extra: Extra english sounds. Latest version 1.4.9
  • libasterisk-agi-perl: Perl Asterisk interface. Latest version: 1.01
  • op-panel: Flash operator panel for Asterisk. Latest version 0.30

It would be nice to have Asterisk and Dahdi would need to be included in main. See MainInclusionReportAsterisk and MainInclusionReportZaptel. However, we need to address support issues first.

Connecting analog telephone handset require a special FXS interface, or an ATA device.

  • The Asterisk Gui support provisioning of Polycom phones
  • Supporting Sipura/Linksys devices is straightforward, and making a configuration wizard only needs some HTML. For example, see http://downloads.revolutionlinux.com/Sipura/

  • * SPA3102 is awesome, since it contains both FXS and FXO interfaces, so it can act as a bridge: POTS->Asterisk->Phone, with lots of interesting applications.

  • We could also support hardware cards, such as Digium and Sangoma, however this would probably require some partnerships in order to have demo cards to support them.

Finally, we need a working client. For the moment, the only working client on Ubuntu is Twinkle. Ekiga is unuseable (101 bugs in Launchpad, many with SIGSEGV crashes).

Ideally, we need a multi-platform client (Linux, Mac, Windows). Qutecom (ex-wengophone) could fulfill that role, though it has some unstability due to the recent rewrite ot the code.

Code

Data preservation and migration

Outstanding issues

I suggest, in addition to a server task, there should be a supporting meta package, ubuntu-pbx-server, to easily pull together the set of required and recommended asterisk related packages we would use for anyone who wishes to setup default pbx functionality on any Ubuntu install.

References

BoF agenda and discussion

UDS Lucid

History

  • The spec dates from 2006
  • jmdault updated the wiki page
  • The PPA has not been updated yet
  • The main packages have been integrated in Karmic -> Lucid

  • There are *lots* of packages in Debian Voip
  • What do we want in Ubuntu?

GUI

  • AsteriskGUI vs FreePBX

Actions

  • persia will upload by dec10 if not done by others before
  • asterisk-gui to be used
  • default configuration (debconf configuration also) - team project
  • upstream dkms bug fixes for server - daviey
  • Foster #ubuntu-voip, and sort out ownership. - Daviey
  • Add a tasksel for; PABX Server


CategorySpec

AsteriskIntegration (last edited 2009-12-10 21:52:23 by pool-71-254-63-126)