1 Star 0 Fork 0

kennyzhu2015 / go-sip-ua

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 1.87 KB
一键复制 编辑 原始数据 按行查看 历史
zhuwei6 提交于 2022-12-09 11:55 . 替换成gitee代码
package main
import (
"os"
"os/signal"
"syscall"
"time"
"gitee.com/kennyzw/go-sip-ua/pkg/account"
"gitee.com/kennyzw/go-sip-ua/pkg/media/rtp"
"gitee.com/kennyzw/go-sip-ua/pkg/stack"
"gitee.com/kennyzw/go-sip-ua/pkg/ua"
"gitee.com/kennyzw/go-sip-ua/pkg/utils"
"gitee.com/kennyzw/gosip/log"
"gitee.com/kennyzw/gosip/sip/parser"
)
var (
logger log.Logger
udp *rtp.RtpUDPStream
)
func init() {
logger = utils.NewLogrusLogger(log.DebugLevel, "Register", nil)
}
func main() {
stop := make(chan os.Signal, 1)
signal.Notify(stop, syscall.SIGTERM, syscall.SIGINT)
stack := stack.NewSipStack(&stack.SipStackConfig{
UserAgent: "Go Sip Client/example-register",
Extensions: []string{"replaces", "outbound"},
Dns: "8.8.8.8"})
if err := stack.Listen("udp", "0.0.0.0:5066"); err != nil {
logger.Panic(err)
}
ua := ua.NewUserAgent(&ua.UserAgentConfig{
SipStack: stack,
})
ua.RegisterStateHandler = func(state account.RegisterState) {
logger.Infof("RegisterStateHandler: user => %s, state => %v, expires => %v, reason => %v", state.Account.AuthInfo.AuthUser, state.StatusCode, state.Expiration, state.Reason)
}
uri, err := parser.ParseUri("sip:100@127.0.0.1") // this acts as an identifier, not connection info
if err != nil {
logger.Error(err)
}
profile := account.NewProfile(uri.Clone(), "goSIP",
&account.AuthInfo{
AuthUser: "100",
Password: "100",
Realm: "b2bua",
},
1800,
stack,
)
recipient, err := parser.ParseSipUri("sip:100@127.0.0.1;transport=udp") // this is the remote address
if err != nil {
logger.Error(err)
}
register, err := ua.SendRegister(profile, recipient, profile.Expires, nil)
if err != nil {
logger.Error(err)
}
time.Sleep(time.Second * 5)
register.SendRegister(0)
time.Sleep(time.Second * 5)
register.SendRegister(300)
time.Sleep(time.Second * 5)
register.SendRegister(0)
<-stop
ua.Shutdown()
}
Go
1
https://gitee.com/kennyzw/go-sip-ua.git
git@gitee.com:kennyzw/go-sip-ua.git
kennyzw
go-sip-ua
go-sip-ua
1df5730d3bdc

搜索帮助