Using Repro

From reSIProcate
Revision as of 21:11, 17 February 2006 by Dpetrie (talk | contribs) (→‎Adding Routes to Gateways)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Getting the Software

Running repro

Run the executable from the command line. A number of command line options are available. For a summary of options run repro with the help option:

%repro --help

Usage: repro [OPTION...]

 -l, --log-type=syslog|cerr|cout              where to send logging messages
                                              (default: "cout")
 -v, --log-level=DEBUG|INFO|WARNING|ALERT     specify the default log level
                                              (default: "INFO")
 -t,                 act as a TLS server for
                                              specified domain
 -x, --mysqlServer=localhost                  enable MySQL and provide name
                                              of server (default: null)
 --udp=5060                                   add UDP transport on specified
                                              port (default: 5060)
 --tcp=5060                                   add TCP transport on specified
                                              port (default: 5060)
 --tls=5061                                   add TLS transport on specified
                                              port (default: 5061)
 --dtls=5061                                  add DTLS transport on specified
                                              port (default: 0)
 --enable-v6                                  enable IPV6
 --disable-v4                                 disable IPV4
 --disable-auth                               disable DIGEST challenges
 --disable-web-auth                           disable HTTP challenges
 --disable-reg                                disable registrar
 --enable-cert-server                         run a cert server
 -d,,            specify domains that this proxy
                                              is authorative
 -c, --cert-path=STRING                       path for certificates (default:

 --reqChainName=STRING                        name of request chain (default:
 --http=5080                                  run HTTP server on specified
                                              port (default: 5080)

Help options:

 -?, --help                                   Show this help message
 --usage                                      Display brief usage message

Running the proxy server with the default options is fine. If you are troubleshooting, we recommend that you enable DEBUG level logging:

% ./repro -v DEBUG


Installing on Windows

After Getting the Software just run the installation file following the installer instructions.

Installing on Linux OS or Unix-Like Systems

Repro is avaliable both as a RPM build and as a source code.

To install the rpm version run: $ rpm -i <repro_rpm_file>

To install from source code:

  • decompress the source code file
  • cd into the directory
  • run: $ ./configure
  • run: $ make install-repro

Configuring repro using the Web Admin

Once repro is running additional configuration are avalible using the WebAdmin pages. The WebAdmin runs on port 5080 by default, or a specific port if you specified it on the command line with the "--http" command-line option.

To view the pages use any Web Browser and open the url: "<repro_address>:<port>" i.e. if you are running repro on your local machine and you are using the default web access port just open: "http://localhost:5080/". To Login for the first time use the initial username: admin and the password "admin".


Setting Up Admin Account

Adding Users

To add users click on the add user page, this page allows you to add users that will be able to use repro. The mandatory fields are the username and the domain. The password is the SIP Digest password File:Repro-addUser.png

Adding Routes to Gateways

Routes are used by repro to send certain requests to a particular location. The static routes use (POSIX-standard) regular expression to match and rewrite SIP URIs. The screenshot shows an example of sending all requests that consist of only digits in the userpart of the SIP URI to a gateway. Note that to match characters that have a special meaning in regular expression (like a "."), you need to escape these. You can also use variable substitution in the rewrite expression. The string inside the first set of parentheses () is referenced in the rewrite string as $1, the second is $2, etc.


Since it is easy to make mistakes entering regular expressions, you can test your static routes in the Show Routes page. Type in a SIP URI, click Test Route. You should see the rewritten URL below.


See Common_rePro_Routes for some commonly used routes and regular expressions used in routes.

Configuring SIP user agents to work with repro

Configure a SIP user agent (softphone or appliance) with the same user information entered for the user in the rePro configuration interface. The address of record (AOR) for the user will be sip:user-name@repro-domain where the user-name part is the value entered on in the User Name field on the USERS -> ADD USER page. The repro-domain part is the valued entered on the CONFIGURE -> DOMAINS page. Note: you can also see the users' AORs listed on the USERS -> SHOW USERS page. The authentication user id that is expected by rePro is the user-name part of the AOR (no @ or domain name). The parameters for your specific user agent may be labeled differently but typically the following information is required:

  • User Address of Record
  • Proxy
  • User Authorization Id
  • User Password

The values for these parameters assuming the above examples for domain and user would be as follows:

User Address of Record: Proxy: User Authorization Id: alicedoe User Password: 1234

Setting Up Certificates for TLS

Configuring DNS

Setting up multiple domains

You must add at least one "domain" before you can use the proxy server. The domains are names that the proxy recognizes after the at-sign (@) in the SIP URI. The list of domains is used by the proxy and the registrar to decide if repro is responsible for SIP requests it receives. The WebAdmin also uses the list of domains to make sure users you add are in one of the domains.

For example, if you want the proxy to answer requests for, you need to add to the list of domains. You still need to make sure that you configure DNS so that SIP requests for that domain resolve to repro.

If you don't have a fully qualified domain name, you can use your IP address as a "domain".


Configuring Logging

(this should be a pointer to the resip docs)