Name

sipd - Added SSL/TLS to sipd, a SIP (Internet telephony) redirect, proxy and registration server.

Synopsis

sipd [-s configfile] [-p port] [-v] [-X]

Availability

Binary and source "alpha" distribution are available. The code has been tested on Solaris 5.8.

Description

Please refer to sipd's official page and the report on the project of adding SSL/TLS to spid for more information.

Features

Configuration

Options

-s configfile
specify where is the configuration file, which is an Apache-like text file that defines the server's behabviour.
-v
Makes the server print out debugging information to stdout.

Notes

For SSL/TSL, a file contains the server's public key in pem format is needed. Other files needed are dh1024.pem and random.pem, which specifies the scheme of generating random number for each session.

See Also

siptc,

Authors

Li Liao, at Columbia University, Department of Computer Science

Acknowledgements

This is a project under Prof. Henning Schulzrinne and Mr. Sankaran Narayana.

ssl_tcp.c contains code that implements tasks of creating a SSL/TLS socket, receiving a request, and passing the request to downstream functions for processing.
ssl_common.c contains code for: common tasks required for setting up an SSL/TLS communication.
request_common.h contains the data structure request_copmmon_t for a request. The revised version has substitute struct sockaddr_in for a union sock_t to hold SSL as well. In addition to SOCK_STREAM and SOCK_DGRAM, SOCK_SSL is defined to address a third sock type.
sipd-config.c contains code for setting configuration for sipd server either as default or according to a configuration file. The revised version has a new parameter SSLPort, which, if not equal to zero, will turn on SSL/TLS socket to listen on this port.
sipd.c contains code for main() where sipd starts. The revised version will detect if SSLPort is chosen and pass port number to ssl_tcp.c.
Code for many functions are revised to accomodate this addition of SSL/TLS. These files include: libsip/authenticate.c, libsip/client.c,libsip/config.h, libsip/message.c, libsip/message.c,libsip/request-sip.h, libsip/sip.h, libsip/request.c, libsip/response.c; libcine/tcp.c, libcine/udp.c, libcine/request-common.h, libcine/http.c, libcine/md5-util.c, libcine/md5.h, libcine/sysdep.h; sipd/callback.c, sipd/cgi.c, sipd/presence.c, sipd/log.c.

Last updated by Li Liao