Skip to content

Instantly share code, notes, and snippets.

@buraxta
Created October 31, 2025 08:30
Show Gist options
  • Select an option

  • Save buraxta/c38d6a7d0a1c501f2f572961f2a9ae6b to your computer and use it in GitHub Desktop.

Select an option

Save buraxta/c38d6a7d0a1c501f2f572961f2a9ae6b to your computer and use it in GitHub Desktop.
public async Task<ServiceResult<List<SIPOutboundTrunkInfo>>> GetOutboundTrunksAsync()
{
if (!await _permissionChecker.HasPermissionAsync(PermissionConstants.Trunk.List))
{
return ServiceResult<List<SIPOutboundTrunkInfo>>.Fail("Trunk listeleme yetkiniz yok.");
}
var tenantKey = _tenantProvider.GetTenantKey();
// --- YENİ EKLENECEK TRY-CATCH ---
try
{
var response = await _sipServiceClient.ListSIPOutboundTrunk(new ListSIPOutboundTrunkRequest()
{
Page = new Pagination()
{
Limit = 99999
}
});
var outboundTrunks = response.Items.ToList();
var filteredOutboundTrunks = new List<SIPOutboundTrunkInfo>();
foreach (var outboundTrunk in outboundTrunks)
{
if (!string.IsNullOrEmpty(outboundTrunk.Metadata))
{
var metadataJObj = JObject.Parse(outboundTrunk.Metadata);
if (metadataJObj.ContainsKey("tenantKey"))
{
if (metadataJObj["tenantKey"].ToString() == tenantKey)
{
filteredOutboundTrunks.Add(outboundTrunk);
}
}
}
}
return ServiceResult<List<SIPOutboundTrunkInfo>>.Success(filteredOutboundTrunks);
}
catch (Exception ex)
{
// kullandığımız loglama mekanizması ile loglayalım
Console.WriteLine($"[TrunkService] GetOutboundTrunksAsync HATA: {ex.Message}");
// Kullanıcıya boş array yerine düzgün bir hata mesajı dönelim
return ServiceResult<List<SIPOutboundTrunkInfo>>.Fail($"LiveKit servisinden trunk'lar alınırken bir hata oluştu: {ex.Message}");
}
// --- TRY-CATCH SONU ---
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment