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
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 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!