go-sip-ua
SIP UA library for client/b2bua using golang
Features
- [B2BUA/Client] Transport supports UDP/TCP/TLS/WS/WSS.
- [B2BUA/Client] Websocket over SIP.
- [Client] Pure Go SIP Client.
- [B2BUA] RTP relay (UDP<-->UDP, WebRTC/ICE<->UDP).
- [B2BUA] RFC8599 support, Google FCM/Apple PushKit.
Running the examples
git clone https://github.com/cloudwebrtc/go-sip-ua
cd go-sip-ua
Client
# run client
go run examples/client/main.go
B2BUA
B2BUA is a minimal SIP call switch, it registers and calls, and supports UDP/TCP/TLS/WebSockets.
When you need a quick test for TLS/WSS, you can use mkcert to create a local self-signed certificate.
mkdir -p certs
mkcert -key-file certs/key.pem -cert-file certs/cert.pem localhost 127.0.0.1 ::1 example.com
Run the mini b2bua.
# run b2bua
go run examples/b2bua/main.go -c
You can use dart-sip-ua or linphone or jssip to test call or registration, built-in test account 100~400
WebSocket: wss://127.0.0.1:5081
SIP URI: 100@127.0.0.1
Authorization User: 100
Password: 100
Display Name: Flutter SIP Client
Dependencies