Todo

Add references

Todo

Add entry in glossar

repro

Repro Logo

repro is an open-source, free SIP server. SIP is changing the way people communicate using the Internet. It is not only about making phone calls over the Net. The SIP protocol and its extensions defines the way of establishing, modifying and ending interactive sessions, no matter if they are voice, video, IM or a combination of them. At the heart of SIP architecture, there are certain services which need to be provided at some place in the network. repro provides SIP proxy, registrar, redirect, and identity services. These services are the foundation needed to run a SIP service.

Prerequesites

IP-Addresses

See doc:server/networking.

As usual we setup fresh local private IP4 and global IPv6 addresses for the SIP proxy server:

$ sudo ip addr add 192.0.2.15/24 dev eth0
$ sudo ip addr add 2001:db8::15/64 dev eth0

To make these addresses persistent across system restarts, they need to be added to /etc/network/interface as well.

...
# bt.example.net
iface eth0 inet static
    address 192.0.2.15/24

iface eth0 inet6 static
    address 2001:db8::15/64

DNS Records

Todo

DNS records for repro

See doc:server/dns

SIP calls are routed over the internet towards its destination in a similar way as emails. Therefore DNS plays an important role.

Add the following records to your domain example.net using the poweradmin web interface:

Name Type Content Priority TTL
sip-proxy A 198.51.100.240 0 300
sip-proxy AAAA 2001:db8::27 0 86400
_sips._tcp SRV 1 5061 sip-proxy.example.net 0 86400
. NAPTR 0 “s” “SIPS+D2T” “” _sips._tcp.example.net 10 86400

Use your public Internet IPv4 address for the A record.

Firewall Rules

Todo

Firewall configuration for repro

Software Installation

Repro is available as package in the Ubuntu software repository:

$ sudo apt-get install repro

The installation creates the following items:

  • The system user and group repro.
  • The system user and group turnserver.
  • The system service repro (see /etc/init.d/repro).
  • The system service turnserver (see /etc/init.d/rfc5766-turn-server).
  • The configuration directory /etc/init.d/repro with various files.
  • A plugin directory /usr/lib/x86_64-linux-gnu/resiprocate/repro.
  • A database directory /var/lib/repro with various BerkleyDB files.
  • A logging directory /var/log/repro.

The repro server runs a SIP service on TCP and UDP ports 5060 on all available network interfaces and IP addresses. It also starts is own web-server on TCP port 5080 on localhost for the web administration interface and a command-server on localhost TCP port 5081 listening for XML RPCs (remote procdeure calls).

The turnserver service is not started after installation. See /etc/default/rfc5766-turn-server for instructions on enabling turnserver.

Configuration

Administration Website

To access the web administration interface, we need to change the IP address, as we cant reach localhost.

Open /etc/init.d/repro/repro.config, look for the line starting with HttpBindAddress and change the IP to your servers main address.

# Comma separated list of IP addresses used for binding the HTTP configuration interface
# and/or certificate server. If left blank it will bind to all adapters.
HttpBindAddress = 192.0.2.10, 2001:db8::10

Then restart the server:

$ sudo service repro restart

Now you should be able to point your browser to http://server.lan:5080/ and access the web interface. Login with the default user and password admin.

Monitoring

Todo

Monitoring and log-files for repro

Backup Considerations

Todo

BackupNinja daily backup for repro

References

Recommended reading: