实现启动时注册 register

This commit is contained in:
shikong 2025-01-25 19:16:05 +08:00
parent 838d64ebff
commit 3a5ac93d06
Signed by: Shikong
GPG Key ID: BD85FF18B373C341
2 changed files with 16 additions and 1 deletions

View File

@ -79,8 +79,8 @@ func main() {
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
device.Register(client, clientConfig)
message.SetupMessageHandler(srv, client, clientConfig) message.SetupMessageHandler(srv, client, clientConfig)
device.SetupRegister(client, clientConfig)
keepalive.SetupKeepalive(client, clientConfig) keepalive.SetupKeepalive(client, clientConfig)
device.StartKeepAlive(client) device.StartKeepAlive(client)
defer device.StopKeepAlive() defer device.StopKeepAlive()

View File

@ -11,6 +11,19 @@ import (
"time" "time"
) )
var registerSenders = make(map[string]*time.Ticker)
func SetupRegister(client *sipgo.Client, clientConfig *config.ClientConfig) {
timer := time.NewTicker(time.Second * 3600)
registerSenders[clientConfig.DeviceId] = timer
go func() {
for range timer.C {
Register(client, clientConfig)
}
}()
Register(client, clientConfig)
}
func Register(client *sipgo.Client, clientConfig *config.ClientConfig) { func Register(client *sipgo.Client, clientConfig *config.ClientConfig) {
target := sip.Uri{ target := sip.Uri{
User: clientConfig.ServerId, User: clientConfig.ServerId,
@ -83,6 +96,8 @@ func Register(client *sipgo.Client, clientConfig *config.ClientConfig) {
if resp.StatusCode != 403 { if resp.StatusCode != 403 {
log.Log().Info().Msgf("设备:%s 注册成功", clientConfig.DeviceId) log.Log().Info().Msgf("设备:%s 注册成功", clientConfig.DeviceId)
} else {
log.Log().Error().Msgf("设备:%s 注册失败", clientConfig.DeviceId)
} }
log.Log().Info().Msgf(resp.String()) log.Log().Info().Msgf(resp.String())