diff --git a/go.mod b/go.mod index 109bd80f..10238c91 100644 --- a/go.mod +++ b/go.mod @@ -7,12 +7,13 @@ toolchain go1.24.3 require ( github.com/at-wat/ebml-go v0.17.1 github.com/frostbyte73/core v0.1.1 + github.com/hashicorp/golang-lru/v2 v2.0.7 github.com/icholy/digest v1.1.0 github.com/jfreymuth/oggvorbis v1.0.5 github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 github.com/livekit/media-sdk v0.0.0-20250918175425-11d305ef5503 github.com/livekit/mediatransportutil v0.0.0-20250519131108-fb90f5acfded - github.com/livekit/protocol v1.41.1-0.20250919162624-3476f457ed91 + github.com/livekit/protocol v1.42.1-0.20251012093153-c84cf2c2802b github.com/livekit/psrpc v0.7.0 github.com/livekit/server-sdk-go/v2 v2.11.1 github.com/livekit/sipgo v0.13.2-0.20250601220430-a77cc3f220fb @@ -33,7 +34,6 @@ require ( ) require ( - github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/nyaruka/phonenumbers v1.6.5 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/otel v1.37.0 // indirect diff --git a/go.sum b/go.sum index d84f0719..db2db5d9 100644 --- a/go.sum +++ b/go.sum @@ -129,8 +129,8 @@ github.com/livekit/media-sdk v0.0.0-20250918175425-11d305ef5503 h1:zQsJzxh3Xzg+L github.com/livekit/media-sdk v0.0.0-20250918175425-11d305ef5503/go.mod h1:7ssWiG+U4xnbvLih9WiZbhQP6zIKMjgXdUtIE1bm/E8= github.com/livekit/mediatransportutil v0.0.0-20250519131108-fb90f5acfded h1:ylZPdnlX1RW9Z15SD4mp87vT2D2shsk0hpLJwSPcq3g= github.com/livekit/mediatransportutil v0.0.0-20250519131108-fb90f5acfded/go.mod h1:mSNtYzSf6iY9xM3UX42VEI+STHvMgHmrYzEHPcdhB8A= -github.com/livekit/protocol v1.41.1-0.20250919162624-3476f457ed91 h1:XoxTN5GkqZCrUz02bTxQQhB34yDgSWnmVv12oQJgpuo= -github.com/livekit/protocol v1.41.1-0.20250919162624-3476f457ed91/go.mod h1:vhMS30QoEyH2p34vi6X1eWkC4EMV72ZGZwQb74ajY7A= +github.com/livekit/protocol v1.42.1-0.20251012093153-c84cf2c2802b h1:yy10iTBHZV+fECKlAolZyrc/lBBf1a7mwipNOR9Dc7A= +github.com/livekit/protocol v1.42.1-0.20251012093153-c84cf2c2802b/go.mod h1:vhMS30QoEyH2p34vi6X1eWkC4EMV72ZGZwQb74ajY7A= github.com/livekit/psrpc v0.7.0 h1:rtfqfjYN06WJYloE/S0nmkJ/Y04x4pxLQLe8kQ4FVHU= github.com/livekit/psrpc v0.7.0/go.mod h1:AuDC5uOoEjQJEc69v4Li3t77Ocz0e0NdjQEuFfO+vfk= github.com/livekit/server-sdk-go/v2 v2.11.1 h1:mBRlkstQxueAl+2BHqQad1wTzbyyC4DYbA6VE1UUajw= diff --git a/pkg/service/psrpc.go b/pkg/service/psrpc.go index 01fa85b8..89ef7a5e 100644 --- a/pkg/service/psrpc.go +++ b/pkg/service/psrpc.go @@ -29,23 +29,26 @@ func GetAuthCredentials(ctx context.Context, psrpcClient rpc.IOInfoClient, call } if resp.Drop { return sip.AuthInfo{ - ProjectID: resp.ProjectId, - Result: sip.AuthDrop, + ProjectID: resp.ProjectId, + Result: sip.AuthDrop, + ProviderInfo: resp.ProviderInfo, }, nil } if resp.Username != "" && resp.Password != "" { return sip.AuthInfo{ - ProjectID: resp.ProjectId, - TrunkID: resp.SipTrunkId, - Result: sip.AuthPassword, - Username: resp.Username, - Password: resp.Password, + ProjectID: resp.ProjectId, + TrunkID: resp.SipTrunkId, + Result: sip.AuthPassword, + Username: resp.Username, + Password: resp.Password, + ProviderInfo: resp.ProviderInfo, }, nil } return sip.AuthInfo{ - ProjectID: resp.ProjectId, - TrunkID: resp.SipTrunkId, - Result: sip.AuthAccept, + ProjectID: resp.ProjectId, + TrunkID: resp.SipTrunkId, + Result: sip.AuthAccept, + ProviderInfo: resp.ProviderInfo, }, nil } diff --git a/pkg/sip/inbound.go b/pkg/sip/inbound.go index d3fef82d..15d22aa7 100644 --- a/pkg/sip/inbound.go +++ b/pkg/sip/inbound.go @@ -401,6 +401,7 @@ func (s *Server) processInvite(req *sip.Request, tx sip.ServerTransaction) (retE CallDirection: livekit.SIPCallDirection_SCD_INBOUND, CreatedAtNs: time.Now().UnixNano(), TrunkId: r.TrunkID, + ProviderInfo: r.ProviderInfo, }) state.Flush(ctx) diff --git a/pkg/sip/server.go b/pkg/sip/server.go index 921f9c8f..3b5321c3 100644 --- a/pkg/sip/server.go +++ b/pkg/sip/server.go @@ -73,11 +73,12 @@ const ( ) type AuthInfo struct { - Result AuthResult - ProjectID string - TrunkID string - Username string - Password string + Result AuthResult + ProjectID string + TrunkID string + Username string + Password string + ProviderInfo *livekit.ProviderInfo } type DispatchResult int