uCommon Telephony Libraries

The idea of a new phone system server project on embedded hardware, David created a free common embedded library.
Making and Using uCommon

The Make system is a refined replacement for the Make ruleset provided with the Axis cris system. Mostly this was done to make it easier to drop in Make rules for other and different embedded target development systems and cross-compiler environments in the future.

One unpacks the uCommon tarball into a directory like most other free software. You should also install the cris compiler and tools. I assume the procedure would be similar for other eLinux-based target development systems, but so far I have worked primarily with only the Axis tools.

Once the tarball is extracted, you should look into the master ``rules'' file. This file holds definitions for use with your compile target environment and may have to be altered based on your cross-compiler arrangement. The values provided are based on my personal configuration. I choose to put the cris system in /arch/cris rather than the more common /usr/local/cris, for example.

If you are using something other than the ETRAX, you may need to refine the rules file further for your use. If you do, please send an e-mail explaining what you changed and why. I would like to incorporate rules configurations for other embedded target development environments as part of the standard distribution of uCommon.

If you are using a standard GNU/Linux host and just wish to build and/or use uCommon to build GNU/Linux applications on your host machine directly, you should not need to modify any files in the distribution. Simply enter make host followed by make. You can also do a make install.

To use uCommon in your projects, simply include the appropriate headers, found in the uCommon header directory, and add -luCommon in your list of link libraries.

Other Projects

The new DBS Server is, of course, being written using the uCommon library. In addition, uMedia library is planned to deal with network audio and rtp, and uScript library, based on my ccscript, will offer a small and easily embedded script-language interpreter.


David Sugar is a maintainer for several GNU packages, including Bayonne and Common C++, as well as the author of numerous other lesser known free software packages. David is an active member of the Embedded Linux Consortium, the public's elected representative to the International Softswitch Consortium and acting CTO of Open Source Telecom Corp.