Frequently Asked Questions

I am not able to install the system on my Unix machine.
Installation is automated using the install.tcl script. Please make sure that you have the correct install.tcl from the Cinema support web page. We will keep this script updated whenever we find a bug and fix it.

For Solaris or Linux if you are using Package manager or RPM then please try using the distribution without the package manager and RPM.

For windows problems please see the windows troubleshooting document.

My first attempt to install.tcl aborted. Now I can not install it again.
The installation script should be able to handle the reinstallation cases. Just enter all the parameters you entered in the first installation. For example if you had said you do not have mysql installed and would like to install it, enter the same for the reinstallation even if the first installation was aborted after you already installed mysql. The installation script will detect this and will overwrite the files for a fresh installation.
I had installed v1.18, how do I upgrade to 1.19
We have not thoroughly tested our script to ungrade automatically from version 1.18 to 1.19. We recommend that you do a fresh install. There are many changes from 1.18, e.g., all the config files are now part of the database.
How do I install sipconf or sipum only, and not with sipd?
In version 1.19, sipd, sipconf and sipum are all bundled as cinema. You have to install sipd if you want sipum to work. sipconf can work independent of sipd. Get the binary (or source) distribution of cinema and follow the installation instruction. Future version will allow incremental changes.
I installed it but the web page does not work - why?
Make sure that your web server has access to Tcl 8.3 shared library. We heavily depend on version 8.3. Higher versions (e.g., 8.4) will not work.

The web scripts require certain shared libraries (e.g., libtcl8.3.so and libz.so). Your web server should have access to these shared libraries.

Check your web server log (Apache puts it in logs/error_log) and see if you can figure out why it does not work.

Your webserver should be configured to take the cgi scripts and the images from any directory. A general approach for Apache server is shown in the installation manual.

If your web server's Directory index is not set to include index.cgi then you will need to specify this in your browser. e.g., <http://your-web-server:port-number/cinema/index.cgi>.

For windows users, check if you have a directory/file C:/program created everytime you run sipd. If yes, then it means you are using an older version. Please contact cinema-support for the new version.

The browser displays the cgi-script as text
You will need to change your webserver's configuration file to do this. If you use the installation script for installing the webserver this will automatically be done. In Apache web server you will need to add the AddHandler directive to handle .cgi extensions as cgi-scripts.
  AddHandler cgi-scripts .cgi
Be sure to include this line only once in httpd.conf.
I can not access the MySQL database from my web server, (or from host foo.bar)
MySQL requires authentication to connect to the database. If you had used the installation script to install the database then it should have added the required permissions (unless you changed the password or used a different host). In that case you can GRANT the permissions for your host again. Be sure to use the command FLUSH PRIVILEGES to update the access permissions. See MySQL documentation for details.
The web page tries to send a mail to 'root' on error.
If your installation was successful, it should send mail to the administrator's email you specfied during installation. However, if the web cgi script fails even before it can read that email from the database, it will try to send mail to the default value i.e., 'root'. You can change this default value in web/cgi1.4.3/cgi.tcl file or you can set the cgi_debug -on in web/where.tcl file to find out why it is failing.
How does software licensing work?
The license string is inserted into the database specified via the -l commandline parameter. An example of such a string is
example.com:2001-06-30:ff4fb120281b0eb5c6d264b6896e6b6f
which indicates that the license expires June 30, 2001 and is valid for running the server in the domain example.com.

If you get the error

check_license: ./sipd.license:1: The local hostname "bar" does not match the domain ".edu"
check_license: ./sipd.license:1: The local hostname "bar" does not match the domain ".edu.au"
check_license: ./sipd.license:1: The local hostname "bar" does not match the domain ".ac.uk"
check_license: ./sipd.license:1: The local hostname "bar" does not match the domain ".columbia.edu"
check_license: ./sipd.license:1: The local hostname "bar" does not match the domain "foo.com"
where foo is the name of your organization and bar the name of the host the software is running on, it means that your local host is not configured to report its local hostname as a fully qualified domain name. The server does a forward lookup on the locally-known hostname to get an IP address; it then does a reverse lookup to obtain a publically-resolvable name. If the name resolution is mis-configured, however, it may return the short form of the name (i.e., "bar", rather than "bar.foo.com").
Why doesn't sipd work with Cisco phones?
Some Cisco 7960 phones cannot handle DNS names in Via headers. Use the sipd configuration option numeric_val to enable the use of numeric IP addresses instead. You may need to get the license string for the IP address you will be using, if it complains of invalid license.
My phone sends a registration to sip:a.b.c.d and gets a 403 back - why?
The Domain configuration parameter in the configuration file determines which requests are considered to be meant for the local domain and thus looked up in the database. For example, for a domain example.com having a proxy server 10.1.2.3, the parameter should be configured as
  Domain ((cs\.columbia\.edu) |(10\.1\.2\.3))
which tells sipd that it should accept registrations for the request-uri sip:cs.columbia.edu or sip:10.1.2.3.
Why doesn't sipd work when I telnet to the server?
Care is needed when cutting and pasting SIP messages using telnet. Blank lines always acquire an extra blank when cutting and pasting, interfering with the header/body boundary detection.
What does the error 'unable to change uid' mean?
If you are getting an error message such as
Error in daemon: Invalid argument (22): unable to change uid to -1
Error in daemon: Invalid argument (22): unable to set group id -1
you are running sipd as root, but have not set the 'user' and 'group' fields in sipd configuration. Generally it is not a good idea (or necessary) to run sipd as root. You should set the 'user' and 'group' fields in sipd configuration from the web page.
Why do I get compilation errors?
For Linux, it works with glibc-2.0.7-29 and later, available from http://rufus.w3.org. glibc-2.0.7-19 and glibc-2.0.7-13 cause sipd to suffer a segmentation fault due to their lack of multithreading support. For Linux kernels 2.2 and later, the standard libraries work. You can find out your current library version with
 
rpm -q glibc

For FreeBSD, it works with gcc and g++ 2.95.2 or higher. gcc version 2.7.2.3 is known to cause compilation problem.

Sip323 can not be compiled with gcc 3.0 because of its dependency on OpenH323 code. You must set the CC and CXX environment variable to point an earlier version of gcc. For example, if you are using version 2.95.2 the do the following before your run configure.

export CC=gcc-2.95.2
export CXX=g++-2.95.2
If you are compiling OpenH323 and Pwlib yourseld then you will need to modify pwlib/make/unix.mak to use the correct gcc and g++.

If you are facing problem compiling Sip323 on windows, then you must search for all occurances of #include<winsock2.h> in the Sip323 code and change it to #include<winsock.h>. This is because the SIP library includes winsock2.h whereas the H.323 library includes winsock.h. We could not get the H.323 library to compile with winsock2.h.

How do I configure a PSTN gateway with sipd?
You set up the dialplan file for canonicalize (-D option) to map phone numbers to their canonical form. Then, each user should be assigned a gateway class that determines his privileges. The gateway class is maintained in the primary user table and can be edited through the web interface. Finally, the gatewaymap file determines the rewriting of tel: and telephone-number SIP URLs to SIP URLs routed to one or more different PSTN gateways. The gateway chosen can depend on the PSTN (E.164) number and the caller's gateway class.

Please see the files: sipd/gateways.sample and tools/canonicalize/dialplan.sample for an example. If you modify any of these files you will need to restart sipd.

My Voicemail (sipum) does not work?
Make sure that you have given the correct path for sendmail tool. On windows, sendmail is not present. So the system will not send any email notification. However it should be able to store voicemails and you should be able to view them from your web page.

Check if the sip_groups for you is set to include voicemail. You can check this from your "User Edit" web page.

The notification email template given from the page is not used in this version.

Check if rtspd is running and is using the correct port. For example if it is running on port 8554 then you should specify this correctly in the voice mail configuration page.

Check if sipum is running and is using the correct port. For example if it is running on port 5070 on host "abc.example.com", then you should have a contact "sip:yourid@abc.example.com:5070" in your User contacts page. This contact is added automatically when a new user signs up. If it is absent you can create a new contact entry manually for your voice mail.

Check if your user quota is not exceeded. There are two configuration parameters: global limit per user can be set from voicemail config page whereas per user per message size limit can be set from your User Edit page.

I can not make calls from H.323 to SIP using sip323?
The most common way of using sip323 is to run it using -a -r option. In this mode sip323 acts as a gatekeeper. You can configure your H.323 client (e.g., Netmeeting) to use this as a gatekeeper. Now you should be able to dial any sip url (yes! a SIP URL, e.g., sip:you@your-pc) from H.323 client. When the H.323 client asks the gatekeeper for resolving the destination address, it forwards the call to the appropriate SIP address.
SIP SRV does seem to work correctly?
For windows installation you should have a resolv.conf file in your server root directory (or current directory, for most installations). This file should indicate the nameserver's IP address that should be used for DNS look up. Contact your system administrator to know about your name server. There is no need to include multiple lines pointing to the same name server IP address.
I have the license but still the application says unlicensed copy
Make sure that you have included the complete license string during installation. You can also check the license string in the database table sipd_license, sipum_license or sipconf_license. Make sure that the encoded text does not have any extra new line at the end. Also, make sure that the license has not expired.

sip323 uses sip323.license file for licensing. sipua uses sipua.license.

If you have enabled numeric IP address instead of host name then you will need to get the license string of the IP address.

If you are using windows platform and it does not detect your host name as a fully qualified domain name, it will automatically switch to the numeric IP address mode.

What all do I need to send with my bug report
Please include the following in your bug report:
  • Your CINEMA version. What components did you install (sipd, sipum, etc.)
  • Your operating system and version.
  • If compilation problem then compiler versions.
  • Database files. You can pack your mysql's data or var directory and send it over.
  • Any associated configuration file.
I sent bug report to xyz@cs.columbia.edu, but no response.
Please do not send bug report to any individual. Instead send it to cinema-support@lists.cs.columbia.edu.