Quick Subversion Checkout and Compilation HOWTO
Information current as of: 2004-12-03 01:00 GMT
- First, make sure you have the requisite version of subversion installed. This number, and other helpful information is available on the subversion info page at http://www.resiprocate.org/. You can find out what version you have on linux by running 'svn --version'. If you wind up accidentally using an old version of subversion, the sources you get will be unreliable and you will be faced with ridiculously difficult to diagnose problems. Don't do that.
- Next, check out the sources. subversion is a little disk space intensive, and your initial check out may take a fairly long time. To do this on linux, run:
svn checkout https://scm.sipfoundry.org/rep/resiprocate/main
This will create a 'main' subdirectory under whatever your current working directory is. Furthermore, svn commands will work inside and below that directory.
- The build system relies on the following external packages, which may or may not be installed on your system by default (names in parentheses indicate common names for :
- Berkeley DB (db4, db4-devel)
- Gnu Perfect Hash (gperf)
- Boost (boost)
- Open SSL (openssl)
- Perl Compatible Regular Expression Library (pcre)
- Now, you should be ready to compile the sources.
- As of this writing, the autotools build process is under fervent development, and will hopefully work for you. It didn't for me, so I had to do it the old fashioned way. In either case, check out Configuration and Building a stack. (The old fashioned way is to descend into main/sip and run 'make').
- Once that completes without error, you will have the library and a number of test programs compiled. To test the library, you can use the following two commands in the main/sip/resiprocate/test subdirectory. (These programs are also really useful in figuring out how to use the library)
./testClient debug 'sip:firstname.lastname@example.org;transport=udp'
That command will send an INVITE to the specified address. When the connection is established, testClient will send a BYE and then start the whole process over again. To get out of this loop, Ctrl-C testClient, and establish a connection. You can then send a BYE, which will time out, but the end result will be a disconnection.
./testServer debug 5 udp
That command will listen on port 5070 for SIP messages, and accept 5 connections. You can then use a user agent to call that testServer 5 times.
- NOTE: I'm sure that these tests are designed to be run together, and talk to eachother, but I have not gotten that to work. Instead, I use a SIP phone to interact with the two tests.
- NOTE: The parameter 'debug' to both of the above programs is incorrect, but will have the desired effect.