Download the latest stable version of partysip-x.x.x.tar.gz. Here is my preferred command list to compile partysip:
tar -xvzf partysip-x.x.x.tar.gz mkdir build-lnx cd build-lnx CFLAGS="-DMULTICAST_SUPPORT -I/usr/local/include" ../partysip-x.x.x/configure make make installThe file ./INSTALL in the main directory of the source tree gives more details about the compilation process for partysip on UNIX.
oSIP and partysip are developed on Debian. My actual system (May 2002) uses the 2.4.17 Kernel, with gcc-2.95.4 and libc-2.2.5.
oSIP has been tested on linux, windows, solaris, OpenBSD (3.1 only), VxWorks and various UNIX.
Partysip has been tested on linux, OpenBSD, TRUE64 and solaris. Note that the CVS may sometimes not be correct for all platforms as developments takes place on linux.
Also, oSIP is known to compile on HP-UX and OSF -but not fully tested!-.
oSIP can be built without thread and semaphore support. In this case, you can use oSIP in non-multi threaded applications. In this case, no dependency beyond the standard C library is needed. That say, partysip will require a threaded version of osip.
oSIP hides implentations details for partysip: it provides a common interface for posix_thread interface, psos interface, windows interface and vxworks interface. The same is implemented for mutex and semaphore which are mandatory in a threaded architecture.
Here is the list of usually used configuration:
oSIP also can support sysv and vxworks semaphores, and has interfaces for three other thread implementations: psos, windows, vxworks.
Note that sysv semaphore conflicts with posix threads. (This is why you need at least version 3.1 of OpenBSD).
CFLAGS and LIBS can be used to add additional compilations parameter. CC can also be used for the same puporse. Here is a sample:
CC="cc" CFLAGS="-DOLD_NAMESER" LIBS="-lrt -L/usr/local/lib" ./configure
SIP is the Session Initiation Protocol. It's a signalling protocol for IP telephony. It is a replacement for H323
SIP primarily initiates, modifies and terminates multimedia sessions. Sessions can be phones calls with audio and video. SIP extensions also defines instant messaging and presence features.
Yes, it is. The initial version of oSIP has some bugs which has been resolved over the past 2 years. The latest SIP rfc (rfc3261.txt) has been released in the middle of 2002 and can be found at http://www.ietf.org/rfc/rfc3261.txt.
Partysip is a SIP proxy server. A proxy server have to find routes for SIP requests. In addition to the standard routing rules, partysip can get the routes from additional plugins. Partysip can also start services when a dedicated plugin has been built for this service.
Partysip has been tested at an early development stage and for very basic scenario at the SIPit #10 in Cannes (Apr 2002). The list of tested SIP phones is quite long, but partysip has grown since the SIPit #10. The new features has been tested with most common used phones. The regularly tested phones are the Siemens phones, the Cisco phones, linphone (www.linphone.org) and Windows Messenger (be sure to use Windows Messenger4.7! 5.0 don't have support for SIP).
If you are using successfully or can't get one SIP phone to work with partysip, inform us at firstname.lastname@example.org. Most errors comes from bad configuration of either the phones or partysip.
Partysip is under work but you may found the set of capabilities enough for your needs:
Those expiremental feature are working for me (partysip-0.5.4) but still considered experimental because I don't test them often.
Partysip is still missing some interesting and usefull feature. Here is the TODO list:
This is the strength of partysip. Plugins can be added to provide a service (accounting, bandwidth reservation, game server..., conference server) or to define new routing rules.
partysip can be found on http://savannah.gnu.org/download/partysip/.
The purpose of Partysip is to route requests (ie: find your correspondant!).
The purpose of plugins is to help the routing process and start services.
Yes, they are optional.
It can be very useful to remove plugins: if you don't want authentication, you can remove the authentication plugin. If you don't want to be a registrar, you can remove the rgstrar and the ls_localdb plugin. This will at least improve performance.
In the configuration, you simply have to update your "plugin" definition:
plugins = udp syntax ls_sfull
The filter plugin is for your. Based on matching regular expressions, partysip will statically route initial request to a specific destination.
The filter plugin could be extended to reject request with specific answer codes. This would be usefull to avoid spam (it will exist on day...).
Of course, more complex plugins (conference application, Instant Messaging and Presence management with SIMPLE).
You can download a RADIUS and a LDAP plugin which are good saparate samples.
Yes it is. Note that the "plugin_start" method is never used but still mandatory to define.!
Not yet. I hope this FAQ will be useful. The mailing list is the definitive way to get support.
serverip and servername MUST be set to prevent the proxy from forwarding a REQUEST where the request-uri targets to itself. In this case, the server should be "responsible" for the request. This means the plugin will look in the local or remote database for the user in the local domain "servername".
If you have several interface, you have to put all of them in serverip and servername like in:
serverip = 18.104.22.168, 192.168.1.10, 127.0.0.1 servername = sip.me.org, osip.sip.me.org
IMPORTANT: Your public ip must be the first one! Else, you won't get any replies when you send request to the public internet.
In incoming SIP requests such as the initial INVITE in a call, the request-uri must be set to sip:username@servername or sip:username@serverip in order to be recognised as a location query for the local proxy domain.
Yes. See above how to define more that one domain in servername entry. Note that username will be able to use either domains...
No, not yet.
yes! partysip.conf must have the following line:
serverport_udp = 5060
But defining a new port may not help you to traverse NAT. If you leave the default configuration, requests and response will *probably* traverse most NAT.
Old release (before 0.5.4) needs you to define a unique "magicstring". This is not required any more.
In SIP, more than one account with a login and a password can be needed. A realm serves to distinguish which SIP server is asking for a login and password. For more information on authentication, see rfc2617.txt.
Partysip only support MD5 Digest authentication. This is supported by all phones. For more information on authentication, see rfc2617.txt.
Add the following to the file partysip.conf:
authentication = on #authentication = off
Of course... The usual ones apply.
The SIP specification describes the purpose and limitations of authentication.
Additionally, the user and password informations are currently written in clear text in the configuration file: partysip.conf. Your first task as an administrator will be to make this file unreadable by anyone but you.
Later version will support crypted version of the password in the config file and new plugins will be implemented to store user info in sql database so you can improve the security by a good configuration of your sql database.
The configuration file (partysip.conf) contains two sections: the general configuration where an entry look like:
authentication = on
The subsections are used for specifying plugin and users configuration. Sub-sections are enclosed with brackets.
The stateless capability has been removed since long. It was not found usefull for partysip.
You can give a list of known users with login and password. The initial entry is the URL of the user in the domain. (sip:email@example.com), then you have to give the login and password and an initial location valid for one hour. This location entry should be optional but is mandatory in the initial version of partysip.
NOTE: You cannot add real locations of users here. Only the virtual one is specified. partysip will learn real locations of UA through REGISTER requests sent by phones. If you want to define a static location, use the filter plugin.
No configuration is required. (At least, none exists right now!)
SIP rfc: http://www.ietf.org/rfc/rfc3261.txt
WellX Telecom: http://www.wellx.com
The GNU oSIP stack http://www.gnu.org/software/osip
SIP forum: http://www.sipforum.com
IETF's SIP page: http://www.ietf.org/html.charters/sip-charter.html
SIP Working group Supplemental Home Page: http://www.softarmor.com/sipwg/
SIP rfc (deprecated): http://www.ietf.org/rfc/rfc2543.txt
Mailing list archive:
You can subscribe to the mailing lists with by sending a mail to <firstname.lastname@example.org> and <email@example.com> with the subject set to "subscribe".
Messages can be posted directly to the mailing list to <firstname.lastname@example.org>.
WellX Telecom S. A. http://www.wellxusa.com
Aymeric MOIZARD <email@example.com>
Copyright (C) 2002 WellX Telecom.
Copyright (C) 2002 Aymeric MOIZARD.
Updated: 2003/01/27 13:22:50 by Aymeric