Siproxd Users Guide
Prev |  | Next

# Chapter 1. Overview

Siproxd is an proxy/masquerading daemon for the SIP protocol. It handles registrations of SIP clients on a private IP network and performs rewriting of the SIP message bodies to make SIP connections possible via an masquerading firewall. It allows SIP clients (like kphone, linphone) to work behind an IP masquerading firewall or router.

SIP (Session Initiation Protocol, RFC3261) is used by Softphones and Hardphones (Voice over IP) to initiate communication. By itself, SIP does not work via masquerading firewalls as the transfered data contains IP addresses and port numbers.

There exist so called STUN servers that allow a SIP client to figure out its public visible IP address and use this one instead. As a drawback, usually on the masquerading firewall a very wide port range must be opened up for the incoming RTP traffic. The SIP client must support STUN (which most of them do).

Siproxd uses another approach (application layer proxy) and places itself as outbound proxy in between the local SIP client and the remote client or registrar. It does rewrite the SIP traffic on the fly and also includes a RTP proxy for incoming and outgoing RTP traffic (the actual audio data). The port range to be used for receiving RTP data is configurable, so the firewall only must allow incoming traffic for a small port range.

A standard scenario would look like:

    private IP address range             :          Internet
    10.0.0.x                             :          (public IP address range)
                                         :
                                         :         foo.bar.org
    +-------------+               +--------------+
    !             !.10         .1 ! masquerading ! publicIP
    ! IntHost     !---------------! Firewall     !------------>>
    !             !               !              !
    +-------------+               +--------------+
                              eth0       :        ppp0

- The Firewall does IP masquerading and is running siproxd

- IntHost is running an SIP softphone (like linphone, kphone)

- The SIP address used by the softphone is sip:johndoe@foo.bar.org

- The softphone is configured to register itself at siproxd running on the firewall host (10.0.0.1) as sip:johndoe@foo.bar.org

- foo.bar.org is the domain name corresponding to the public IP address of the firewall (e.g. use some dynamic DNS service [1])

Prev | Home | Next
README |  | Building and Installation