A minimal demo of SIP ↔ WebRTC. This example shows how a WebRTC browser client can register, call, and communicate through a SIP signaling server.
Built using Pion and Emiago SIP.
# Clone and start
git clone https://github.com/arjunshajitech/sip-webrtc-gateway.git
# Go to webrtc-sip folder or sip-webrtc folder
cd webrtc-sip
# or
cd sip-webrtc
# Run
go run .
you should see:
webrtc server initialized, http://localhost:5000
sip server initialized, 192.168.1.37:5060/udp
Note: 192.168.1.37
is your IP address - it will show your actual IP
- Load the page at
http://localhost:5000
in Chrome - Click "Start"
- Use a Polycom to dial
192.168.1.37
(your IP address) - Check logs - you should see:
accepting sip invite
- Call is now connected!
- Video may stuck because keyframe handling is not implemented
- May see some panic errors if hardcoded UDP ports are busy on your system - just ignore or free the ports
- Sometimes calling via Polycom fails because the app is not stable as of now - be sure to wait for "accepting sip invite" in logs before attempting another call