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!
Scott
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!
Scott