Skip to content

cloudwebrtc/go-sip-ua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-sip-ua

SIP UA library for client/b2bua using golang

Features

  • Transports UDP/TCP/TLS/WS/WSS.
  • Simple pure Go SIP Client.
  • Simple pure Go B2BUA, support RFC8599, Google FCM/Apple PushKit.
  • RTP relay (UDP<-->UDP, WebRTC/ICE<->UDP)
  • WebRTC2SIP Gateway.

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: [email protected]
Authorization User: 100
Password: 100
Display Name: Flutter SIP Client

Dependencies