Asterisk 1.2.1 on Nokia 770

(Please excuse the ugly appearance, I'm better at coding than design :).)

This page details the procedure that I followed in order to obtain a working (as in "non-crashing") version of Asterisk 1.2.1 (the latest release from Digium) on the Nokia770.

If you're in a hurry or you don't want to mess with compiling and Scratchbox (or you simply don't know what those are), just skip ahead to the binaries.

Step 1. Start Scratchbox.

Step 2. From within Scratchbox, do "wget http://ftp.digium.com/pub/asterisk/asterisk-1.2.1.tar.gz" to download the latest sources.

Step 3. Unarchive the sources with "tar xvfz asterisk-1.2.1.tar.gz". This will give you an "asterisk-1.2.1" folder. Change to that folder ("cd asterisk-1.2.1")

Step 4. You will need to patch the main Makefile and the one for the GSM codec in order to make them compile for the 770. Do "wget http://www.cayennegraphics.com/asterisk770/Makefile.diff" and "wget http://www.cayennegraphics.com/asterisk770/Makefile-gsm.diff" to download both diffs.

Step 5. Patch the main Makefile: "patch Makefile Makefile.diff".

Step 6. Patch the GSM makefile: "cd codecs/gsm; patch Makefile ../../Makefile-gsm.diff"

Step 7. Switch to the ARM target if needed ("sbox-config -st SDK_ARM"). Type "make". Wait :).

Step 8. After compilation has completed, type "make install". This will install Asterisk in your Scratchbox environment, under /tmp/ast121/

Step 9. Go to /tmp/ast121/usr/lib/asterisk/modules and do "rm -f *ilbc* *lpc* *sqlite* ; strip *.so". This will remove the ilbc and lpc10 codecs that are too processor intensive for the Nokia 770, the cdr_sqlite.so file and remove all symbols to make the files smaller. Also, go to /tmp/ast121/usr/sbin/ and do "strip asterisk" (I'm sure this could somehow be done directly at compilation time, but I don't know how yet). You can also take out the "mohmp3" folder from within /tmp/ast121/var/lib/asterisk/, it contains 4 large MP3 files used for music on hold (you can put them back if you figure out a way to play them on the 770).

Step 10. You're ready to move the binaries to your Nokia 770. Go to /tmp/ast121/ and type "tar cvfz asterisk-1.2.1-nokia770-arm-binary.tar.gz *". You can also download the binaries directly from http://www.cayennegraphics.com/asterisk770/asterisk-1.2.1-nokia770-arm-binary.tar.gz . Drop the files on your memory card or SCP them from your machine, your choice.

Step 11. On the 770, start an XTerm and become root.

Step 12. Go to the folder where you dropped the asterisk-1.2.1-nokia770-arm-binary.tar.gz file and (as root) type "tar -zvx -C / -f asterisk-1.2.1-nokia770-arm-binary.tar.gz"

Step 13. That's all. To run Asterisk, edit the configuration files at "/etc/asterisk", then type "asterisk -vvvvvc" to start it and get a console prompt.

For questions, suggestions or if you know ways to improve this procedure (or if you have managed to package this as a dpkg), contact razvan (dot) dragomirescu (at) gmail (dot) com .

Last updated: December 12, 2005