Files
srs-spi/pkg/service/service.go
2024-07-28 23:09:22 +08:00

53 lines
804 B
Go

package service
import (
"context"
"github.com/emiago/sipgo"
"github.com/ossrs/srs-sip/pkg/config"
"github.com/rs/zerolog"
)
type Service struct {
ctx context.Context
conf *config.MainConfig
Uac *UAC
Uas *UAS
}
func NewService(ctx context.Context, r0 interface{}) (*Service, error) {
s := &Service{
ctx: ctx,
conf: r0.(*config.MainConfig),
}
s.Uac = NewUac()
s.Uas = NewUas()
return s, nil
}
func (s *Service) Start() error {
zerolog.SetGlobalLevel(zerolog.Disabled)
ua, err := sipgo.NewUA(
sipgo.WithUserAgent(UserAgent),
)
if err != nil {
return err
}
if err := s.Uas.Start(ua, s.conf); err != nil {
return err
}
// if err := s.Uac.Start(ua, s.conf); err != nil {
// return err
// }
return nil
}
func (s *Service) Stop() {
s.Uac.Stop()
s.Uas.Stop()
}