Bir dizi SIP proxysi hayal etmenizi istiyorum – A, B ve C. Her proxy’nin çağrıları ağ etrafında taşımak için kendi yönlendirme tablosu vardır. Şimdi, A’nın B’ye yönlendirdiği bir çağrıyı aldığı bir durumu resmedin. B, tablolarını kontrol eder ve çağrıyı C’ye yönlendirir. C, tablolarını kontrol eder ve çağrıyı A’ya yönlendirir. A, tablolarını kontrol eder ve çağrıyı B’ye yönlendirir. bunun nereye gittiğine goruyorsunuz değil mi? Hiçbiryere.
Döngü saptamanın arkasındaki kavram, bazen döngüden kaçınma olarak da adlandırılır, ağ etrafında hareket eden, ancak aslında bir son noktada asla sona ermeyen bir çağrıyı tanıma yeteneğidir. Döngü çağrılarını algılama ve durdurma yeteneği olmadan, SIP sunucularınızın kaynaklarını yavaş yavaş veya daha kötüsü çökmelere neden olacak şekilde hızla tüketeceksiniz. Döngü algılama, bir SIP varlığının bir çağrıyı çok kez gördüğünü fark etmesine ve izlerinde ölmesini durdurmasına izin verir.
SIP, döngü algılamayı destekleyen bir başlık gelir, “Max-Forward”. Max-forward üstbilgisi, SIP iletisinin orijinal göndericisi tarafından ayarlanan sayısal bir değer içerir. Bu değer, proxy,switch,pbx her bir SIP sunucusundan her geçtiğinde “1” azaltılır. Değer sıfıra “0” ulaşırsa, ileti “483 Too Many Hops response” döner.
After careful consideration of network topologies, the creators of SIP decided that the default for Max-Forwards should be 70. This number was chosen to guarantee that a message would not be improperly dropped when there were no actual loops. For a decent sized enterprise this number seems big, but when you consider SIP in the PSTN, it’s reasonable enough.;
Döngüleri tespit etmek için ayrıca ek yöntemler uygulayabilir.
Max-Forward, bir sunucunun bu iletiyi kaç kez gördüğü temelinde döngü iletisini durdurur. Ancak, bu mesajın ne sıklıkta görüldüğü konusunda hiçbir şey yapmaz.
Oturum Yöneticisinin yapılandırmasında, döngü algılamaya yardımcı olan üç ayar bulacaksınız. Bu ayarlar:
Loop Detection Mode: Varsayılan değer Kapalı’dır. Açık olarak ayarlamak, bir SIP Varlığı ile ilişkili tüm Varlık Bağlantıları için döngü algılamayı etkinleştirir.
Loop Count Threshold: Varsayılan değer 5’tir. İzin verilen aralık 2 ila 10.000’dir.
Loops Detection Interval (in msec): Varsayılan değer 200 msn’dir. İzin verilen aralık 10 ms ila 10.000 ms arasındadır.