- December 2024 (3)
- September 2024 (1)
- August 2024 (2)
- July 2024 (2)
- May 2024 (2)
- April 2024 (2)
- February 2024 (2)
- April 2023 (1)
- March 2023 (2)
- September 2022 (1)
- February 2022 (1)
- November 2021 (1)
- March 2021 (1)
- February 2021 (2)
- August 2019 (1)
- November 2018 (1)
- May 2017 (1)
- December 2016 (1)
- April 2016 (1)
- August 2015 (1)
- December 2014 (1)
- August 2014 (1)
- March 2014 (1)
- December 2013 (1)
- October 2013 (3)
- September 2013 (4)
- August 2013 (2)
- July 2013 (1)
- June 2013 (1)
- February 2013 (1)
- October 2012 (1)
- June 2012 (1)
- May 2012 (1)
- April 2012 (1)
- February 2012 (1)
- October 2011 (1)
- June 2011 (1)
- May 2011 (1)
- April 2011 (1)
- March 2011 (1)
- February 2011 (1)
- January 2011 (1)
- December 2010 (3)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (1)
- July 2010 (1)
- May 2010 (3)
- April 2010 (1)
- March 2010 (2)
- February 2010 (3)
- January 2010 (4)
- December 2009 (2)
- November 2009 (5)
- October 2009 (2)
- September 2009 (2)
- August 2009 (3)
- July 2009 (1)
- May 2009 (1)
- April 2009 (1)
- March 2009 (5)
- February 2009 (5)
- January 2009 (5)
- December 2008 (3)
- November 2008 (7)
- October 2008 (4)
- September 2008 (2)
- August 2008 (1)
- July 2008 (1)
- June 2008 (1)
- May 2008 (1)
- April 2008 (1)
- January 2008 (5)
- December 2007 (3)
- March 2007 (3)
- February 2007 (1)
- January 2007 (2)
- December 2006 (4)
- November 2006 (18)
- 3D (5)
- AI (17)
- Admin (3)
- Blogging (5)
- Business of Software (9)
- Copyright (1)
- Dirigible (3)
- Django (1)
- Eee (3)
- Finance (6)
- Fine-tuning LLMS (10)
- Funny (11)
- GPU Computing (2)
- Gadgets (8)
- JavaScript (1)
- Linux (13)
- Memes (2)
- Meta (7)
- Music (4)
- NSLU2 offsite backup project (13)
- OLPC XO (2)
- Oddities (4)
- Personal (3)
- Politics (3)
- Programming (64)
- Python (39)
- PythonAnywhere (12)
- Quick links (2)
- Rants (4)
- Raspberry Pi (1)
- Resolver One (22)
- Resolver Systems (18)
- Robotics (8)
- Space (2)
- Talks (3)
- Uncategorized (5)
- VoIP (2)
- Website design (4)
Installing Asterisk
Continuing down the VoIP-experimentation route, I've installed Asterisk on a spare Linux box. It seemed most sensible to do it from the CVS repository, so I tried:
jura:/home/root# cd /usr/src
jura:/usr/src# mkdir asterisk
jura:/usr/src# cd asterisk
jura:/usr/src/asterisk# export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
jura:/usr/src/asterisk# cvs login
However:
jura:/usr/src/asterisk# cvs login
Logging in to :pserver:anoncvs@cvs.digium.com:2401/usr/cvsroot
CVS password:
Unknown host cvs.digium.com.
jura:/usr/src/asterisk# ping cvs.digium.com
ping: unknown host cvs.digium.com
jura:/usr/src/asterisk#
I guess they've moved over permanently to Subversion (which is a good thing, though it would be nice if it were more prominently documented). So:
jura:/usr/src/asterisk# svn checkout http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2
A asterisk-1.2/build_tools
...
A asterisk-1.2/formats/format_g726.c
A asterisk-1.2/aescrypt.c
U asterisk-1.2
Checked out revision 48358.
jura:/usr/src/asterisk# svn checkout http://svn.digium.com/svn/zaptel/branches/1.2 zaptel-1.2
...
A zaptel-1.2/oct612x/Makefile
Checked out external at revision 12.
Checked out revision 1688.
jura:/usr/src/asterisk# svn checkout http://svn.digium.com/svn/libpri/branches/1.2 libpri-1.2
The rest of the build went reasonably easily once I started following the online instructions rather than the (admittedly literally months old) VoIP Hacks book, which omits certain bits of useful information (like the packages you need to have installed in order to make the compile work) and is clearly a bit out-of-date generally. For anyone else out there who googles for error messages to see if there's any easy fix, if you successfully compiled and installed libpri, but then found that building zaptel crapped out with vast numbers of error messages, the last ones looking like this:
/usr/include/linux/fs.h:383: error: storage size of `i_ctime' isn't known
/usr/include/linux/fs.h:515: error: storage size of `f_owner' isn't known
zaptel.h:1115: error: storage size of `confin' isn't known
zaptel.h:1116: error: storage size of `confout' isn't known
zaptel.c:6472: error: storage size of `zt_fops' isn't known
make: *** [zaptel.o] Error 1
jura:/usr/src/asterisk/zaptel-1.2#
...or, alternatively, when building asterisk, you got the following:
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no
configure: error: termcap support not found
make: *** [editline/libedit.a] Error 1
jura:/usr/src/asterisk/asterisk-1.2#
...then you should go back and reread the list of packages you need installed before building. They are:
- Linux 2.4 kernel sources or kernel 2.6 header files. (for libpri)
- bison and bison-devel packages (This is used to build Asterisk)
- ncurses and ncurses-devel packages (Used to build astman, etc.)
- zlib and zlib-devel packages
- openssl and openssl-devel packages
The relevant apt packages (for my Debian 2.4 test machine) were
kernel-source-2.4.27
, bison
(bison-devel
doesn't exist, which makes some
kind of sense -- surely any use of a compiler compiler is development?), ncurses-dev
and libncurses5-dev
, zlib1g-dev
, openssl
, and libssl-dev
.
Once these are installed, the build goes much more smoothly.
It's all installed happily on my machine, and if I didn't have work to do tomorrow I'd be posting again later this evening about how to set it up with the SPA-3102. I guess that will have to wait 'til later :-/