Arama 410/3112 ile sona eriyor

Çağrının 410/3112 hatasıyla bitmesi istemcinin diğer uç noktaya ulaşamaması ve hiçbir geçiş adayının toplanmamış olmasıdır. Bu 410/3112 hata kodu, ağ sorunları, güvenlik duvarı kısıtlamaları veya yanlış yapılandırma ayarları nedeniyle medya yolu oluşturulamıyorsa oluşabilir. Bu nedenle, eşler doğrudan veya geçiş bağlantısı kuramadı.

İstemci diğer eşle doğrudan bağlantı kurabiliyorsa geçiş adayları gerekli değildir. Ancak, WebRTC geçiş adaylarını toplayamazsa, genellikle TURN (NAT çevresinde Geçişleri Kullanarak Dolaşma) sunucu yapılandırması veya ağ kısıtlamalarıyla ilgili bir sorunu gösterir. Geçiş adayları, kısıtlayıcı ağ ortamlarında bağlantı kurmak için çok önemlidir.

SDK kullanarak algılama

Aramanın sona erme nedenini aşağıdaki kod parçacığını kullanarak öğrenebilirsiniz.

call.on('stateChanged', () => {
    if (call.state === 'Disconnected') {
      if (call.callEndReason.code === 410 && call.callEndReason.subCode === 3112) {
          // show error message
      }
    }
});

Kodları ve alt kodları anlamak için bkz . Arama kodlarını ve alt kod hatalarını anlama.

Medya yolu oluşturulamayınca, çağrı 410 kodu ve 3112 alt koduyla sonlandırılır. SDK ayrıca networkRelaysNotReachable UFD olayını da tetikler. Burada, olayın nasıl yakalanacaklarını gösteren bir kod parçacığı yer alır networkRelaysNotReachable UFD .

call.feature(Features.UserFacingDiagnostics).network.on('diagnosticChanged', (diagnosticInfo) => {
    if (diagnosticInfo.diagnostic === 'networkRelaysNotReachable') {
       if (diagnosticInfo.value === true) {
           // show a warning message on UI
       } else {
           // The networkRelaysNotReachable UFD recovered, notify the user
       }
    }
});

Log Analytics veya Çağrı Tanılama aracıyla ilgili sorunu analiz etme

Kullanıcı arama yapamadığını bildirdiğinde, hatanın nedenini analiz etmek için Arama Tanılama aracını kullanabilirsiniz. Kullanıcı çağrılarının hatalarını ayıklamak için arama kimliğine ihtiyacınız vardır. Güvenlik duvarı geçiş bağlantısını engellediği için kullanıcının çağrısı başarısız olduysa, aramanın genel bakış sayfasında 410 ve 3112 olan bitiş kodunu ve alt kodu bulabilirsiniz.

Aramanın genel bakış sayfasında alt kodu 3112 olan arama tanılamasının ekran görüntüsü.

Ayrıca, arama sorunları sayfasında networkRelaysNotReachable UFD olayını da bulabilirsiniz.

Arama sorunları sayfasında networkRelaysNotReachable UFD bulunan arama tanılamasının ekran görüntüsü.

Kullanıcı eylemlerinin veya olaylarının zamanlamasını anlamak için zaman çizelgesi sayfasındaki ayrıntıları kontrol edebilirsiniz. Bu örnekte kullanıcı 16:41:47'de bir olay aldı networkRelaysNotReachable UFD ve durum değişikliği olayını 16:41:49'da çağırdı.

Olay çağrısı zaman çizelgesi sayfasının zamanlamasını gösteren arama tanılamasının ekran görüntüsü.

Arama Tanılama aracı, tek bir çağrıda hata ayıklamak için genel bir bakış ve gerekli bilgileri sağlar. Bu sorunla kaç kullanıcının karşılaştığını veya kullanıcıların sorunla ne sıklıkta karşılaştığını anlamak istiyorsanız, bu sorunla ilgili içgörüler elde etmek için Log Analytics aracını kullanabilirsiniz.

Örneğin, son yedi gün içinde 3112 alt koduyla bağlantısı kesilen çağrı kimliğini almak istiyorsanız şu sorguyu yürütebilirsiniz:

ACSCallSummary
| where ParticipantEndSubCode == 3112
| project TimeGenerated, CorrelationId, ParticipantId, Identifier, CallType

Alt kodu 3112 olan çağrılar için günlük sorgusu sonucunun ekran görüntüsü.

Ayrıca, 3112 alt koduyla biten günlük çağrı sayısını anlamak için bir zaman çizelgesi oluşturabilirsiniz

ACSCallSummary
| where ParticipantEndSubCode == 3112
| summarize count() by bin(TimeGenerated, 1d)
| render timechart

3112 alt koduyla biten günlük çağrı sayısını gösteren zaman çizelgesinin ekran görüntüsü.

Zaman grafiği yalnızca aynı ACS kaynak kimliği altındaki kullanıcılara genel bir bakış sağlar. Daha belirli sorgular çalıştırarak, yalnızca zaman grafiğinden hemen belirgin olmayan desenleri veya anomalileri tanımlayabilir ve sorunların kök nedenini daha doğru bir şekilde belirlemenize yardımcı olabilirsiniz.

Örneğin, alt kod 3112 ile biten çağrı sayısında ani bir artış görürseniz, sorunun oluşum oranı aynı kalırken yüksek çağrı hacminden kaynaklanıyor olabilir. Alternatif olarak, ani artış birçok kez yeniden denenen belirli bir kullanıcıya bağlanabilir ve tüm denemeler 3112 alt koduyla başarısız oldu.

Bu sorguda, uygulamanın her birey için aynı kullanıcı tanımlayıcısını koruduğunu varsayarak verileri kullanıcı tanımlayıcılarına göre analiz edeceğiz.

ACSCallSummary
| summarize Total = count(), SuccessCount = countif(ParticipantEndSubCode == 0), SubCode3112Count = countif(ParticipantEndSubCode == 3112) by Identifier
| where SubCode3112Count > 0
| order by SubCode3112Count desc

Her kullanıcı tanımlayıcısı için alt kod 3112 ile biten çağrı sayısını gösteren günlük sorgusu sonuçlarının ekran görüntüsü.

Bu örnekte, bir kullanıcının toplam 180 çağrısı vardı ve bunlardan 160'ı başarılı oldu ve alt kod 3112 ile yalnızca iki çağrı başarısız oldu. Bu desen, yeniden denenerek çözülebilecek geçici bir ağ sorunu önerir. Öte yandan, başka bir kullanıcının toplam altı çağrısı vardı ve bunların tümü 3112 alt koduyla başarısız oldu. Alt kod değerindeki bu tutarlılık, söz konusu kullanıcı için büyük olasılıkla bir ağ yapılandırması sorunu olduğunu ve yeniden denemenin yardımcı olma olasılığının düşük olduğunu gösterir.

Azaltma veya çözme

Bir kullanıcının tutarlı olarak 410/3112 hatasıyla karşılaştığını fark ederseniz güvenlik duvarı ayarlarını denetlemesini öneririz. Kullanıcılar, Ağ önerileri belgesinde belirtilen Güvenlik Duvarı Yapılandırması yönergelerini izlemelidir. Kullanıcının veya yöneticinin Ağ Adresi Çevirisi (NAT) ayarlarını denetlediğinden ve güvenlik duvarı ilkesinin Kullanıcı Veri Birimi Protokolü (UDP) paketlerini engelleyip engellemediğini doğruladığından emin olun. Güvenlik duvarı ayarları kullanıcının bilgisayarıyla sınırlı değildir; kullanıcı şirket ortamındaysa, şirketin güvenlik duvarının da yapılandırılması gerekebilir.

Ayrıca, uygulama özel TURN sunucuları kullanıyorsa, belirtilen IP, bağlantı noktası ve protokolün herhangi bir güvenlik duvarı tarafından engellenmediğinden emin olun.

Uygulama için, Kullanıcıya Yönelik Tanılama Özelliği'nden olayları işlemek ve kullanıcılara uygun şekilde bildirim göndermek önemlidir. Bunu yaptığınızda, kullanıcı sorunun farkındadır ve ağ ortamıyla ilgili sorunları giderebilir.

Nadir durumlarda, kullanıcının güvenlik duvarı ayarları doğru olsa bile bu hata kodu rastgele görünür. Aynı kullanıcı daha önce başarıyla bağlanıp çağırabildiyse, bu sorun ağ koşullarındaki değişikliklerden kaynaklanıyor olabilir. Geçici bir sorun olabilir. Aramayı başlatmayı veya aramaya katılmayı yeniden deneyin.

Başvurular