Siproxd Users Guide | ||
---|---|---|
<<< Previous | Next >>> |
Siproxd by default searches for its configuration file in the following locations:
$HOME/.siproxdrc
<buildingprefix>/etc/siproxd.conf
/etc/siproxd.conf
/usr/etc/siproxd.conf
/usr/local/etc/siproxd.conf
The following is a list of directives that do exist. Note that string values MUST NOT contain spaces or tabs. Also read the explanations included in the supplied example configuration file fro more explanation. Items with a # in front are normally disabled / not defined.
To start with siproxd in the first run, just adapt the interface definition for the inbound and outbound network interfaces (if_inbound and if_outbound).
Definition of network interfaces for the inbound network (local network where your SIP client is connected, this network normally uses IP addresses from on of the private IP ranges like 10.x.x.x, 192.168.x.x) and outbound network (your connection to the Internet, normally this interface has a public IP assigned by your provider).
if_inbound = eth0 if_outbound = ppp0 |
Usually only the if_inbound and if_outbound directives will be used. The host_outbound directive comes into play when running siproxd "in front of" a NAT router. Please check the configuration examples in this document for more details.
# host_outbound = <my_public_ip_address> |
Access control lists for incoming SIP registrations and SIP traffic in general. These are comma separated lists of the form <IP>/<mask>, note that no spaces are allowed within the list (the configuration file parser cannot yet handle spaces).
# hosts_allow_reg = 192.168.1.0/24,192.168.2.0/24 # hosts_allow_sip = 123.45.0.0/16,123.46.0.0/16 # hosts_deny_sip = 10.0.0.0/8,11.0.0.0/8 |
Port to listen for incoming SIP messages. 5060 is usually the correct choice, don't change this unless you have a reason to.
sip_listen_port = 5060 |
Shall siproxd run as daemon? Usually 1 is the correct choice. If you want siproxd not to daemonize and keep running in foreground and writing its output to the terminal set this to 0.
daemonize = 1 |
Siproxd does log using the syslog() facility when running a daemon. This setting controls how much logging is done:
0 - DEBUGs, INFOs, WARNINGs and ERRORs
1 - INFOs, WARNINGs and ERRORs
2 - WARNINGs and ERRORs
3 - only ERRORs
4 - absolutely nothing
silence_log = 0 |
Siproxd can log call establishment to syslog.
log_calls = 1 |
If siproxd is started as root, it can drop the root privileges and change its user ID at startup. It also can put itself into a chroot() jail (see 4.2 for details)
user = nobody # chrootjail = /var/lib/siproxd/ |
Where to store the current registrations. This allows siproxd to remember registration across a restart. An empty value means we do not save registrations. The specified directory path must exist.
registration_file = /var/lib/siproxd/siproxd_registrations |
Where to create the PID file.
pid_file = /var/run/siproxd/siproxd.pid |
Enable/disable the RTP proxy. This must always be enabled. In some future release this directive may become obsolete.
rtp_proxy_enable = 1 |
Port range (UDP) that siproxd will use for incoming and outgoing RTP traffic. A firewall must be configured to allow traffic from and to these ports (UDP only). By default the range 7070 up to (and including) 7089 is used. This allows up to 10 simultaneous calls (2 ports per call). If you need more simultaneous calls, increase the range.
rtp_port_low = 7070 rtp_port_high = 7089 |
Timeout for an RTP stream. If for the specified number of seconds no data is relayed on an active stream, it is considered dead and will be killed.
rtp_timeout = 300 |
If a REGISTER request does not contain an Expires header or expires= parameter in the Contact header, this number of seconds will be used and reported back to the UA in the answer.
default_expires = 600 |
If siproxd is used as registration server and authentication is wanted, define the following directive. If proxy_auth_realm is defined (a string), clients will be forced to authenticate themselfs to the proxy (for registration only). To disable Authentication, simply comment out this line. Default is disabled.
# proxy_auth_realm = Authentication_Realm |
The password to be used for authentication may be a global one
# proxy_auth_passwd = some_password |
or on a per user base, stored in its own file. proxy_auth_pwfile takes precedence over proxy_auth_passwd
# proxy_auth_pwfile = /etc/mysiproxd_passwd.cfg |
To enable additional debug output of siproxd. This is a bit pattern representing the following items. Default is 0x0 - disabled. See below in this document for information on how to create a debug log file.
DBCLASS_BABBLE 0x00000001 // babble (like entering/leaving fnc)
DBCLASS_NET 0x00000002 // network
DBCLASS_SIP 0x00000004 // SIP manipulations
DBCLASS_REG 0x00000008 // Client registration
DBCLASS_NOSPEC 0x00000010 // non specified class
DBCLASS_PROXY 0x00000020 // proxy
DBCLASS_DNS 0x00000040 // DNS stuff
DBCLASS_NETTRAF 0x00000080 // network traffic
DBCLASS_CONFIG 0x00000100 // configuration
DBCLASS_RTP 0x00000200 // RTP proxy
DBCLASS_ACCESS 0x00000400 // Access list evaluation
DBCLASS_AUTH 0x00000800 // Authentication
debug_level = 0x00000000 |
You may connect to this port from a remote machine and receive the debug output. This allows bettwer creation of debug output on embedded systems that do not have enough memory for large disk files. Port number 0 means this feature is disabled.
debug_port = 0 |
Some UAs (SIP clients) will always use the host/ip they register TO as host part in the registration record (which will be the inbound ip address/hostname of the proxy) and can not be told to register a different host (public IP address). This Mask feature allows to force such a UA to be masqueraded to a different host. Siemens SIP Phones seem to need this feature. Normally disabled.
# mask_host=local.ip.of.sipphone # masked_host=public.domaind.org |
Siproxd itself can be told to send all traffic to another outbound proxy. You can use this feature to 'chain' multiple siproxd proxies if you have several masquerading firewalls to cross. Normally disabled.
# outbound_proxy_host = my.outboundproxy.org # outbound_proxy_port = 5060 |
Outbound proxies can be specified on a per-domain base. This allows to use an outbound proxy needed for ProviderA and none (or another) for ProviderB. Multiple domain specific proxies may be specified, each one with one set of the following directives. Note: These directives must always be specified as a triple, skipping one of them will affect later definitions.
#outbound_domain_name = freenet.de #outbound_domain_host = proxy.for.domain.freende.de #outbound_domain_port = 5060 |
Quick-Dial "Plug-in": ability to define quick dial numbers that can be accessed by dialing "*nn" from a local phone. 'nn' corresponds to the entry number pi_shortdial_entry) below. The '*' character can be chosen freely (pi_shortdial_akey). Note: To call a real number like "*1234" you would have to dial "**1234"
pi_shortdial_enable = 1 pi_shortdial_akey = * # # *01 sipphone echo test pi_shortdial_entry = 17474743246 # *02 sipphone welcome message pi_shortdial_entry = 17474745000 |
<<< Previous | Home | Next >>> |
Compiling and Installing | Command Line Options |