mirror of
https://github.com/livekit/livekit.git
synced 2026-03-29 07:09:51 +00:00
Using a less complex mechanism to trunk matching by sending all trunks to MatchTrunkDetailed
This commit is contained in:
@@ -44,7 +44,7 @@ func (s *IOInfoService) matchSIPTrunk(ctx context.Context, trunkID string, call
|
||||
}
|
||||
}
|
||||
}
|
||||
it := s.SelectSIPInboundTrunk(ctx, call.To.User)
|
||||
it := s.ListAllSIPInboundTrunks(ctx, call.To.User)
|
||||
result, err := sip.MatchTrunkDetailed(it, call)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -67,6 +67,13 @@ func (s *IOInfoService) SelectSIPInboundTrunk(ctx context.Context, called string
|
||||
return iters.PagesAsIter(ctx, it)
|
||||
}
|
||||
|
||||
func (s *IOInfoService) ListAllSIPInboundTrunks(ctx context.Context, called string) iters.Iter[*livekit.SIPInboundTrunkInfo] {
|
||||
it := livekit.ListPageIter(s.ss.ListSIPInboundTrunk, &livekit.ListSIPInboundTrunkRequest{
|
||||
Numbers: nil,
|
||||
})
|
||||
return iters.PagesAsIter(ctx, it)
|
||||
}
|
||||
|
||||
// matchSIPDispatchRule finds the best dispatch rule matching the request parameters. Returns an error if no rule matched.
|
||||
// Trunk parameter can be nil, in which case only wildcard dispatch rules will be effective (ones without Trunk IDs).
|
||||
func (s *IOInfoService) matchSIPDispatchRule(ctx context.Context, trunk *livekit.SIPInboundTrunkInfo, req *rpc.EvaluateSIPDispatchRulesRequest) (*livekit.SIPDispatchRuleInfo, error) {
|
||||
|
||||
Reference in New Issue
Block a user