Skip to content

Configuring repro for WebRTC

Need a web-sockets capable SIP proxy for WebRTC?  repro from the resiprocate project is an excellent candidate.

You will need to configure repro to use record-routing so that all SIP requests are routed via the proxy for a particular dialog session.  The following are steps you should use to configure repro and represent changes to the default repro configuration for web-socket use.

1.  Configure transports.  I like to configure one web-sockets transport and one UDP transport on the proxy (to allow communication with legacy VoIP equipment).  In this example I will focus on non-secure web-sockets protocol, however secure web-sockets (WSS) can also be configured with additional effort.  Here is an example of configuration where repro is behind a NAT.  The 192.168.1.117 address is the private IP of the machine running repro and X.X.X.X address is the public IP address to reach this machine.  Note:  If you are not using a NAT'd machine then you can use the auto keyword for the RecordRouteUri instead.

          Transport1Interface = 192.168.1.117:6060
          Transport1Type = WS
          Transport1RecordRouteUri = sip:X.X.X.X;transport=ws

          Transport2Interface = 192.168.1.117:5060
          Transport2Type = UDP
          Transport2RecordRouteUri = auto

2. Enable Flow Token use for WebRTC SIP clients that don't properly advertise
RFC5626 (Outbound) support:
          EnableFlowTokens = true

3.  Add a domain and users (with passwords) using the HTTP admin GUI.  Navigate to http://127.0.0.1:5080 after starting repro.  Note:  Remember to restart repro after adding a domain.


Settings for tryit.jssip.net:
Name = <whatever you like>
SIP URI = sip:<a user from step 3 above>@<domain from step 3 above>
SIP Password = <users password from step 3 above>
WS URI = ws://X.X.X.X:6060      (IP address and port configured in Step 1 above)

Happy Web-RTCing!