sipum - SIP/RTSP unified messaging system


sipum [options]


The code runs on Solaris 5.8, FreeBSD 3.x and 4.x, and Linux (RedHat 6.1 and 7.1).

Binary and source "beta" distribution are available now. Visit the CINEMA web page for more information.

sipum server needs rtspd and sipd. You can use any SIP user agent as a client, e.g., e*phone, sipc, sipua. For retrieving a message either a SIP user agent, an HTTP browser (Netscape or Internet Explorer) or an RTSP client (e.g., quicktime) can be used.


sipum-1.20, released Jan 2002.


sipum is a SIP/RTSP based unified messaging system. SIP is an IETF signaling protocol for Internet conferencing and telephony. RTSP is an IETF proposed standard for control of streaming media on the Internet. sipum is a modular Internet multimedia mail system using SIP and RTSP that allows users message access from any Internet connected device, using standard media players or user agents. RTSP controls the delivery of streaming media and provides facilities to play back, record, or perform other operations on multimedia content. A SIP-PSTN gateway can be used to access the multimedia mail service from a PSTN phone.

sipum is an Internet replacement for traditional PSTN based voice mail systems, with enhanced services, like integration with video, fax, web and electronic mails. It provides traditional answering machine and voice-mail interface, along with additional Internet based features and services.


Features not implemented


Print usage and exit.
Print version information and exit.
-d category
Makes the software print out debugging information for the particular category. Currently supported categories are all, sql, net, sdp, misc. The option can be repeated to allow debugging multiple categories
Makes the software run in non-daemon mode.
The URL for the SQL database, in the format sql://user:password@host:port/database, e.g., sql://

In general, a CINEMA database url is of the form sql://user:password@host:port/database.

user is the sql user name that sipd uses to connect to the SQL server, password is the password of the SQL user, and hostname is the host on which the mySQL server is running. The port of the TCP connection to the SQL server is optional.

All CINEMA programs requiring access to MySQL database accept a parameter -Ddatabase-uri. The -D parameter is optional. If it is not present, CINEMA will look for a file named cinema_db.conf in its working directory. Additionally, on Unix systems it will try to use the data contained in the file /etc/cinema_db.conf. This file should contain a valid CINEMA database URL. Normally, these files are automatically created during installation by CINEMA setup programs and hence, they need not be modified. On Windows systems, CINEMA will also try locating the database url by querying the Windows registry. The key used to store the database uri is HKLM\Columbia University\IRT\CINEMA\CINEMA_DB.

-f cinema_db.conf
The file containing the SQL URL for sipd. It contains a single line, listing the SQL URL for the server, as described for the -D parameter.
Do not send email notification for new messages. This should be used for testing only.
Use numeric (dotted-decimal) IP address instead of DNS host names. This is used to interoperate with certain external implementations that do not handle host names in SIP Via: header. Use of this option is discouraged.
-k notify.tcl
Specify the path of the notify.tcl script. Default is ./script/notify.tcl. Use of this option is discouraged.
-m sendmail
Specify the path for Unix sendmail tool. Default is /usr/lib/sendmail. Sendmail is used to send email notification of new voicemail arrival.



Users can signup for the service from web. Every registered user is given an user id and some disk quota for storing their messages. The administrator defines the default attributes, while users can override these attributes as per their taste. The administrator is responsible for running sipd and rtspd. The administrator also defines the default domain name (e.g., for all the users using the service.

When sipum is started it goes through the list of registered users and REGISTERs them with sipd using SIP, e.g., a user "alice" is registered as with contact sip:alice@address_of_sipum. When "alice" plugs in her own SIP phone, it registers itself ( with contact sip:alice@sip_phone. Now, when "bob" makes a call to "alice", the SIP server at proxies the call to both the registered location, sip:alice@address_of_sipum and sip:alice@sip_phone. If "alice" does not pickup the call for some time, say 10 seconds, then sipum picks up the call. It prompts "bob" to leave a message indicating that "alice" is not available now. Bob leaves a message and hangsup. sipum informs "alice", through electronic mail, about the new message from "bob". Alice can now retrieve the message either by dialing a message specific SIP URI sip:alice-67212-retrieve@address_of_sipum, using an RTSP client rtsp:// or by going to her web based unified messaging home page and clicking on the appropriate message. This architecture as well as a sample web based inbox are shown below.
Arch Inbox

sipum can be used in other modes also, e.g., Alice's phone redirects the call from Bob after 10 seconds, to sipum, or Alice uploads a sip-cgi script in sipd to forward calls to sipum when her phone is busy or there is no response.

sipum shares the database with our SIP proxy and registration server, sipd.


Installation instructions are available in doc/install.html with both source and binary distribution. sipum and rtspd must be installed on a unix machine and should share the same file system.

Use install.tcl installation script available with the distribution to install sipd, sipum, rtspd and sipua.

Web interface

The web interface is very simple and intuitive. A new user's account can be created from the web interface. See the usermanual available from your web account.


We recommend use of -dX option.

Problem reports should be sent to the email address(s) mentioned in the README file available with the distribution. You should also send your configuration files along with the problem report. The various configuration files are "rtspd/rtspd.conf", "sipum/script/config", "sipum/script/email.tmp", "web/cinema.conf", "sipd/sipd.conf".

See Also


Henning Schulzrinne, Kundan Singh, and Tarun Kapoor at Columbia University, Department of Computer Science


sipum uses the mySQL client library, copyright (c) 2001 by MySQL AB.

The sipum web interface uses fbsql and Tcl.

This work was supported by a grant from Sylantro Systems.


Copyright 1999-2002 by Columbia University; all rights reserved
Sipum is subject to licensing.

Commercial version and licensing available from SIPquest Inc. SIPquest

Last updated by Kundan Singh