My Internet corner

My Internet corner

Skip to: Content | Sidebar | Footer

Site migration from Drupal to WordPress

5 November, 2008 (11:00) | Site | By: xming

It seem that I am still not happy with my site (after migrated from Joomla) so let’s try wordpress. Found this to help the migration, it’s not for wordpress 2.6.x so the categories got lost. But I have all the posts and comments migrated.

I still need to fix the attachments.

UPDATE, file links are fixed except for outdated files.

CallWeaver’s ebuild in the voip overlay

3 July, 2008 (14:10) | Callweaver, Gentoo, VoIP | By: xming

Thanks to svoop we have the callweaver’s ebuild in the Gentoo overlay. Details of how to use it is here.

CallWeaver ebuild

30 June, 2008 (12:57) | Callweaver, Gentoo, VoIP | By: xming

This is a new set of ebuilds for spandsp (0.0.5_pre3) and callweaver (, have fun.^W CallWeaver

24 April, 2007 (13:42) | Callweaver, Gentoo, VoIP | By: xming

After long debates and voting, CallWeaver is born. The name was a good name but there was a conflict with the product from Voicetronix.

So the website, mailing list, svn, bug tracker are all up. And now developers are focusing to bring stable T.38 gateway.

How is the machine setup?


The server is running Gentoo under Xen. For the website, code browser and bug tracker we use retrospectiva, which uses Ruby on Rails. Subversion is just as the code repository, postfix+clamav-milter+sqlgrey+mailman for the mailing lists.


The first attempt was suing Apache and fastcgi for Ruby on Rails, but the perfomance was terrible and I noticed that Apache was still forking cgi instead of using fcgi, I couldn’t find the cause quick enough so I moved on.

So the second attempt was to use it with lighttpd, but found out later that lighttpd won’t work with subversion so apache is still needed. No problem you may think, just use llighttpd as a reverse proxy, well I did that and lighttpd was suffering from massive memory leaks with its mod_proxy. After a svn check out lighttpd was using more than 400MB.

The final solution is using mongrel to serve Ruby on Rails pages and use Apache as reverse proxy, Apache also serves subverion directly using mod_dav and mod_svn. Which works fine.


Migrating the svn was done using svm which is a perl tool to mirro the svn. For svn write access I use mod_auth_external and a small perl script to let the users authenticate themselfs with the credentials in the retrospectiva’s DB.

mailing list

<coming soon> RC3 released

2 January, 2007 (15:04) | Callweaver, Gentoo, VoIP | By: xming has released RC3:

  • editline was replaced by GNU readline
  • NConference replaces app_conference
  • generic timer rewrite
  • a lot of bug fixes, with particular reference to chan_sip
  • better support for OSX (CLI issue should be fixed)
  • initial support for ucLinux

The tarball can ge downloaded from here. Gentoo users can use the ebuild in the attachment.

Happy 2007. and uclibc: tarball update

14 December, 2006 (22:50) | Callweaver, VoIP | By: xming

This is a upgrade tarball for the previous vmware image. Lines marked red means changes since last version.

You can use this as xen DomU by using your own xenified xen kernel or you can this to upgrade the previous vmware image. Please be careful not to overwrite your important configuration files.

Softwares on the image:

  • openssl-0.9.8d
  • audiofile-0.2.6
  • jpeg-6b
  • spandsp-0.0.3_pre27
  • speex-1.1.7
  • tiff-3.8.2
  • busybox-
  • libcap-1.10-r5
  • ncurses-5.5-r3
  • readline-5.1_p4
  • uclibc-0.9.28
  • zlib-1.2.3

System softwares

  • dropbear-0.47
  • grub-0.97
  • kernel-2.6.19
  • baselayout-lite-1.0_pre1
  • e2fsprogs-1.39

Here is the tarball. using uclibc and Vmware image for download

2 December, 2006 (02:07) | Callweaver, VoIP | By: xming

I have made to compile and run with uclibc. The vanilla uclibc has some threading problem so I have to use the Gentoo embedded project, which works like a charm. The whole system including kernel is around 12MB. I have made a VMware images, the smallest images size that I could make is 100MB, so the included image is 100MB compressed to 9MB.

This image is the first attempt to make the to run with uclinux. The image only provides a very minimal Linux and the it is not very polished. You will need to have do to some manual work to get it working like modpobe the NIC (pcnet32) and ifconfig your eth0.

It is not intended for general use, but rather as a demonstration for what is possible with and uclinux. You can also download this to try out without installing the software, it’s a ready to test image.

Here are the information you need to get this up and running:

  • the root password is <empty>
  • modprobe pcnet32
  • ifconfig eth0
  • use beardrop (as ssh daemon)
  • openpbx (to start the openpbx)
  • openpbx -r to connect to the CLI

Have fun, and please leave a comment if you have any suggestion. If there is anyone who wants a image or loop back image to use with Xen, please leave a comment.

Softwares on the image (this is an actual dependency list for

  • openssl-0.9.8d
  • audiofile-0.2.6
  • jpeg-6b
  • spandsp-0.0.3_pre26
  • speex-1.1.7
  • tiff-3.8.2
  • busybox-
  • libcap-1.10-r5
  • ncurses-5.5-r3
  • readline-5.1_p4
  • uclibc-0.9.28
  • zlib-1.2.3

System softwars

  • dropbear-0.47
  • grub-0.97
  • kernel-2.6.19
  • baselayout-lite-1.0_pre1

NOTICE: If you have downloaded before and the file-system is in read-only mode, you will have to download again or give the rw option in grub and change the grub.conf after booting.

Click here for the image. RC2 released, multi platform support.

26 November, 2006 (01:07) | Callweaver | By: xming

The RC2 of has just been released. The biggest change since the RC1 is the generic timer, which means on platforms where POSIX timers aren’t implemented, you can use now.

Calls have be pssed through FreeBSD 6.1, FreeBSD 6.2, FreeBSD 7, Darwin 8.8.1, NetBSD 3.1 and of course all kinds of Linux (Centos, Debian, Gentoo, …). Works on Solaris are in progress.

During the ./configuration stage it will try to figure out if your platform has in kernel POSIX timers or not. If no the generic timer will be used.

If you want to test this amazing project and you are already using Asterisk, then this shoudn’t be too difficult.

Required dependencies

one some Linux distro you may need to install the -devel pakage too

  • ncurses
  • zlib
  • jpeg
  • tiff
  • spandsp 0.0.3_pre25
  • libedit on Linux (use –enable-internal-libedit on other platforms)
  • libcap on Linux

Optional software

  • zaptel if you need zaptel compatible hardware
  • libpri if you use a PRI interface
  • mysql
  • posgrsql
  • odbc
  • speex

Installation (Gentoo)

  • download the attachment
  • enable your portage overlay by putting PORTDIR_OVERLAY=<you overlay dir> in /etc/make.conf
  • put them in your $PORTDIR_OVERLAY
  • set the USE flags you want (to see the USE flags available tpe emerge -pv
  • emerge

Installtion (non Gentoo)

  • download this
  • installed all the required software either fom the source or by using the native package manager
  • unpack the tar.gz
  • cd
  • read the README for your platform in doc/osnotes
  • set the environment variables in the README
  • ./configure <insert your options> (for Linux)
  • ./configure –enable-internal-libedit <insert your options> (for non Linux)
  • make && make install

Migrating from Asterisk

  • the dialplan commands in are case sensitive (this is because uses hash tables to speed up the dialplan, for a speed increase see here). Run contrib/scripts/ to check your dialplan (details).
  • AEL does not work, so you have to migrate it to plain dialplan
  • if you use perl-asterisk than you can use this to migrate your AGI to OGI.
  • the asterisk.conf is openpbx.conf


  • the configuration is almost the same as Asterisk
  • for the universal jitterbuffer please read doc/README.generic_jb
  • for T.38 put t38udptlsupport=yes in you sip.conf and edit udptl.conf


  • to start: <installed dir>/sbin/openpbx or the init script if it is provided.
  • to connect to the CLI: <installed dir>/sbin/openpbx -r

More informations and OGI

4 November, 2006 (13:15) | Callweaver | By: xming

Asterisk has AGI and has OGI. The use and functionalities are the same, except the name change. If you have been using James’ asterisk-perl and you want to migrate your AGI to OGI, well you can try the openpbx-perl package (openpbx-perl-0.0.1.tgz) in the attachment.

And if you want to use it with Gentoo portage, download the ebuild (openpbx-perl-ebuild.tar.bz2) and untar it in your PORTDIR_OVERLAY, then download the openpbx-perl-0.0.1.tgz and put it in your distfiles directory.

Openpbx-perl is a port from the asterisk-perl, nothing more and more less.

In you existing script you will hve to change the following:

use Asterisk::AGI;


use Openpbx::OGI ;


my $AGI = new Asterisk::AGI;


my $OGI = new Openpbx::OGI ;

Here are the ogi package and the ebuild. and its ebuild

1 November, 2006 (15:24) | Callweaver, Gentoo, VoIP | By: xming is fork of the famous asterisk pbx. You can read the reasons for the fork on its home page. Recently the first RC1 has been release but there seems to be no ebuild for Getnoo. The ebuild on the overlay is outdated and does even work.

So I made an ebuild (and a ebuild for rcent spandsp too), just download and untar everything in your PORTDIR_OVERLAY.

Here are some differences between openpbx and asterisk

  • supports t.38 fax-over-IP protocol
  • Universal Jitter buffer
  • Reduced dependency on zaptel timers
  • Support for STUN
  • Improved dial plan performance