New Channel Driver: chan_console

I just merged a new channel driver into Asterisk trunk which will be in Asterisk 1.6.  The module is called chan_console.  It is a new console channel driver which uses portaudio as a cross platform audio interface instead of using something like ALSA or OSS directly.  I wrote it to give myself a console channel driver that I could use on my Mac.  However, portaudio supports a number of other audio interfaces, as well.

The audio interfaces that portaudio supports are

  • Advanced Linux Sound Architecture (ALSA)
  • AudioScience HPI
  • Macintosh Core Audio for OS X
  • Windows Direct Sound
  • JACK Audio Connection Kit
  • Unix Open Sound System (OSS)
  • Windows Vista WASAPI
  • Windows WDM Kernel Streaming
  • Windows MME

Asterisk-dev – Another Module for Testing: chan_console

Asterisk-commits – Commit to Asterisk trunk

team/russell/chan_refcount: Improving Asterisk Performance

I have a branch that is ready for testing that makes some significant changes to the Asterisk channel handling core.  The changes improve the data structure management for Asterisk channels.  This will provide a large performance benefit.  See the following post to the asterisk-dev mailing list for more information, as well as where to get the code for testing.

Asterisk-dev – Request for Testing: team/russell/chan_refcount

Asterisk as a video soft phone

Asterisk trunk recently got a pretty cool new feature. You can now use Asterisk as a highly configurable video soft phone. The commit to trunk is here.

The way it works is pretty neat. Asterisk already had a couple of console channel drivers: chan_oss and chan_alsa. These channel drivers allow you to use a local OSS or ALSA sound device as an endpoint for a call. These interfaces are commonly used to interface with overhead paging systems. They are also commonly used by people to use Asterisk as an extremely powerful soft phone.

Now, Asterisk as a softphone just got a lot cooler.

The OSS console channel driver, chan_oss, now has video support. This means that you can make video calls from the Asterisk CLI. For the video source, you currently have a couple of options. The first is to use a webcam. The second, which I find quite interesting, is you can use an X11 screen grabber. That means you can have a section of your local display that gets captured and sent along as the video stream.

There is also a “skinnable” dialpad for use as a graphical softphone interface for dialing.

The code uses libavcodec from ffmpeg for video transcoding. As the commit message states, it currently supports h261, h263, h263+, h264, and mpeg4.

Many thanks to Luigi Rizzo, Sergio Fadda, and Marta Carbone for the great new feature!