C cenaly.com
Ücretsiz başlayın

Çağrı kesiliyor: 30 saniye sonra, 15–30 dakika sonra

saniyede kesilme (ACK yok), 15–30 dakika sonra kesilme (oturum zamanlayıcıları), gelen aramalar yalnızca açıldıktan sonraki ilk dakikalarda çalışıyor — mekanizması ve çözümü

11 min read Bu ekranı demoda aç
On this page 21

Çağrı kesiliyor: 30 saniye sonra, 15–30 dakika sonra

"Tam şu kadar saniye sonra" kopan bir bağlantı kötü bağlantı değil, bir zamanlayıcıdır: taraflardan biri bir şeyi beklemiş, beklediğini alamamış ve telefonu dürüstçe kapatmıştır. Bu yüzden kopma süresinden yola çıkarak nedeni neredeyse kesin olarak söylenebilir: ~32 saniye — görüşme başlangıcı onayı ulaşmadı; ~15 veya ~30 dakika — görüşme yenilemesi geçmedi; gelen çağrılar yalnızca açılıştan sonraki ilk dakikalarda çalışıyor — yönlendirici telefonun yolunu kapattı. Aşağıda her durumun mekanizması sözlü olarak ve ne yapılması gerektiği anlatılmaktadır.

Telefonların genel ayarı «SIP telefonların ayarlanması» genel bakışında, diğer belirtiler belirtiye göre sorun giderme bölümündedir.

Önce yönetim panelini kontrol edin#

  1. Çağrı kaydı — kesilen çağrıyı açın. "Görüşme" süreyi saniye hassasiyetinde gösterecektir: 0:31–0:33 — ilk durumun imzası, yaklaşık 15:00 veya 29:30 — ikincisinin. Aynı yerde "Telefonu kapatan" (arayan, çalışan veya santral) ve "Kapanma nedeni" de bulunur.
  2. *43 yankı testi, ama uzun: tuşlayın ve ahizeyi 45 saniye tutun. *43 de bir çağrıdır ve görüşme başlangıcı onayı onda da aynı yoldan geçer. 32. saniyede kesildiyse — telefon ile santral arasında arıza var; dayandıysa — telefon ve işletmenin ağı sağlam, başka yerde arayın (dış çağrılar, operatör).
  3. Cihaz kartı → "Çalışabilirlik": düzenli "bağlantı yok" düşüşleri — yönlendirici telefonun dönüş yolunu kapatıyor (bkz. üçüncü durum).
  4. Karttaki "Cihazı ara", son çağrıdan 10 dakika sonra: çaldıysa — telefona giden yol canlı; şube yeşilken sessizse — bu yönlendiricidir.
  5. Tahsisli santralde SIP izleme: tekrarlayan 200 OK ve ardından ACK yok, sonra BYE — ilk durum; görüşme ortasında INVITE veya UPDATE sonrası BYE — ikinci durum.

30–32 saniye sonra kopma#

Neden böyle olur#

Görüşmenin başlangıcı üç mesajlık bir el sıkışmadır: "arıyorum" (INVITE) — "yanıtladı" (200 OK) — "anladım, başlıyoruz" (ACK). Yanıtlayan taraf, "anladım" mesajını alana kadar kendi "yanıtladı" mesajını tekrarlar. SIP protokolünün kuralı: eğer "anladım" 64 × T1 = 64 × 0,5 sn = 32 saniye içinde gelmezse görüşme sonlandırılmalıdır. Bu sırada ses zaten akıyor — bu yüzden yarım dakika her şey normaldir, sonra çağrı kendi kendine düşer.

Yani 32. saniyede kopma şu anlama gelir: ACK onayı bir yerde kayboluyor. Neden — sık olandan nadir olana:

  1. Yönlendiricideki SIP ALG. Yönlendirici, servis mesajlarının içindeki adresleri yeniden yazar ve onay yanlış yere gider veya atılır. Her zaman kontrol edilmesi gereken ilk şey.
  2. Çok büyük paket. Telefonda onlarca kodek açıksa çağrı tanımı ~1300 baytın üzerine şişer ve UDP üzerinden "parçalar" (fragmentler) halinde gider. Birçok yönlendirici ve güvenlik duvarı fragmentleri sessizce atar — o mesaj kaybolur. SIP protokolü bu tür mesajlar için doğrudan TCP'ye geçilmesini gerektirir.
  3. Mesajlardaki iç adres. Telefon kendisi hakkında iç adresi (192.168.x.x) yazar ve onay bu adrese gönderilir. Bizim santralimiz bunu kendisi düzeltir — mesajın gerçekten geldiği yere yanıt verir — ancak operatörde böyle bir koruma olmayabilir: o zaman yalnızca dış çağrılar kopar.
  4. Çift NAT veya çağrının ilk mesajlarını geçirip sonrakileri kesen katı bir güvenlik duvarı.
Ağ yöneticisi için: hangi taraf telefonu kapatıyor

RFC 3261'e göre (§13.3.1.4) 200 OK yanıtını veren taraf, onu T1 ile T2 arasındaki aralıklarla tekrarlar ve 64 × T1 sonra ACK almadan oturumu BYE isteğiyle sonlandırır; T1 varsayılan olarak 500 ms'dir (§17.1.1.1), buradan 32 saniye çıkar.

  • Telefona gelen çağrı: 200 OK'ı telefon gönderir, ACK'i santral. Telefona giden yolda ACK kaybolduysa — telefonu telefon kapatır.
  • Telefondan giden çağrı ve *43: 200 OK'ı santral gönderir, ACK'i telefon. Santrale giden yolda ACK kaybolduysa — telefonu santral kapatır.
  • Fragmentasyon: RFC 3261 §18.1.1 — istek 1300 bayttan uzunsa (veya yolun MTU'suna 200 bayt mesafedeyse), istemci onu tıkanıklık kontrolüyle TCP üzerinden göndermelidir. Bizim santralimiz aynı 5060 portunda TCP kabul eder.

Ne yapmalı#

Her adımdan sonra uzun *43 (45 saniye) ve bir test çağrısı tekrarlayın; devamına yalnızca işe yaramadıysa geçin.

  1. Yönlendiricide SIP ALG'yi kapatın ("SIP Helper", "SIP Passthrough", "SIP için ALG") ve yönlendiriciyi yeniden başlatın. Popüler markalarda nerede olduğu — «Ağ, yönlendirici ve internet».
  2. Telefonda üç kodek bırakın — G.711 PCMA, G.711 PCMU ve G.722, — diğerlerini kapatın: mesajlar kısalacak ve parçalanmayı bırakacaktır.
  3. Adım 2 yardımcı olmadıysa taşımayı TCP'ye geçirin (port aynı, 5060): TCP uzun mesajları kendisi doğru şekilde böler ve fragmentasyon ortadan kalkar. Bizim santralimiz hem UDP hem TCP kabul eder.
  4. Yalnızca dış çağrılar kopuyor, *43 ve dahili çağrılar dayanıyorsa — arıza santral ile operatör arasındadır. Birkaç kopan çağrının saatini desteğe gönderin.
  5. Çift NAT'ı kaldırın — sağlayıcının yönlendiricisini köprü moduna alın veya telefonu doğrudan ona bağlayın.

15 veya 30 dakika sonra bağlantı kopması#

Neden böyle oluyor#

Uzun bir görüşme sırasında taraflar zaman zaman görüşmenin hâlâ devam ettiğini doğrular — bunlar oturum zamanlayıcılarıdır. Aralık, aramanın başında kararlaştırılır; bir taraf aralığın ortasında görüşmeyi "uzatmayı" taahhüt eder, diğer taraf uzatmayı bekler. Santralimizde oturum zamanlayıcıları 1800 saniye (30 dakika) aralıkla açıktır; bunlar, bağlantısı sessizce kopan bir görüşmenin saatlerce asılı kalmaması ve hattı meşgul etmemesi için gereklidir.

Buradan iki belirti çıkar:

  • yaklaşık 15 dakika — aralığın ortasında uzatma gönderildi, ancak iletilemedi: taraf bunu reddetti veya yanıt alamadı;
  • yaklaşık 29,5 dakika — uzatma hiç yapılmadı ve bunu bekleyen taraf, aralığın dolmasından biraz önce telefonu kapattı.

Uzatma neden iletilmez:

  1. Yönlendirici, servis mesajlarının yolunu kapattı. Görüşme sırasında ses kesintisiz akar, servis mesajları ise sessiz kalır. Telefonda keep-alive kapalıysa, yönlendirici birkaç dakika sonra servis mesajları için "kapıyı" kapatır — ve santralden telefona uzatma artık ulaşmaz.
  2. Telefon uzatma yöntemini anlamıyor veya reddediyor — eski yazılım, standart dışı parametrelerle açılmış "Session Timer".
  3. SIP ALG uzatma mesajını bozuyor.
  4. Operatörün zamanlayıcısı — yalnızca dış aramalar kopuyorsa ve her zaman aynı dakikada.

Santral, görüşme sırasında zamanlayıcıları yalnızca telefon da bunları destekliyorsa etkinleştirir ⚠️ verify. Masa telefonlarının çoğunda "Session Timer" fabrika ayarı olarak kapalıdır (Yealink ve Grandstream'de — belgelere göre) ve bu durumda görüşmede zamanlayıcı hiç olmaz.

Ağ yöneticisi için: santral tarafındaki değerler
  • timers=yes — zamanlayıcılar destekleniyor; timers_sess_expires=1800 — aralık 1800 sn; timers_min_se=90 — santral 90 sn'den kısa süreyi kabul etmez (shared/sip/advanced-options.json, protocol grubu).
  • RFC 4028'e göre uzatma, aralığın ortasında (900 sn) gönderilir ve bunu almayan taraf, sürenin dolmasından min(32 sn, aralık / 3) önce oturumu BYE ile sonlandırır — yaklaşık 1768 sn.
  • Santral sessizlik nedeniyle bağlantı koparmaz (rtp_timeout=0), bu nedenle "sessiz görüşme" kendiliğinden kopmaz.
  • Ayrı santralde aynı değerler "İnce SIP ayarları"ndadır ("Oturum zamanlayıcıları", "Oturum yenileme, saniye"). Sağlayıcı talep etmedikçe bunları değiştirmek gerekmez.

Ne yapmalı#

  1. Telefonda keep-alive'ı açın — görüşme sırasında da servis mesajlarının yolunu açık tutar. Yealink: Account → Advanced → Keep Alive Type (Default veya Options) ve Keep Alive Interval — 30 sn (fabrika değeri).
  2. Yönlendiricide SIP ALG'ı kapatın.
  3. Telefonda "Session Timer" açıldıysa — fabrika değerine (kapalı) döndürün veya aralığı 1800 sn yapın: Yealink — Account → Advanced → Session Timer / Session Expires; Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer, Session Expiration).
  4. Telefonun yazılımını güncelleyin — görüşme uzatma hataları genellikle yeni sürümlerde düzeltilmiştir.
  5. Yalnızca dış aramalar kopuyorsa, hep aynı dakikada — arama saatlerini desteğe gönderin: zamanlayıcıları operatörle karşılaştıralım.

Gelen aramalar yalnızca açıldıktan sonraki ilk dakikalarda çalışıyor#

Neden böyle oluyor#

Telefon yönlendiricinin arkasındadır ve santral ona yalnızca telefonun son mesajıyla açtığı "kapıdan" ulaşabilir. Yönlendirici bu kapıları uzun süre açık tutmaz — ev tipi yönlendiricilerde yarım dakikadan birkaç dakikalık sessizliğe kadar — ve sonra kapatır. Telefon sık sık bir şeyler gönderdiği sürece (açılıştan hemen sonraki kayıt, keep-alive) kapı açıktır. Sessizleşti — kapandı ve santralden gelen gelen arama yönlendiriciye takılır.

Bu sırada yönetim panelindeki nokta yeşil kalabilir: kaydı telefon kendisi, içeriden yeniler ve bu geçer, ancak telefona dışarıdan artık girilemez. Yeniden başlatma "iyileştirir", çünkü kapıyı yeniden açar — geçici olarak.

Santralimiz kendi tarafından her 60 saniyede her cihaza "bağlı mısın?" isteği gönderir: bu karşılıklı paket de kapıyı açık tutar — ancak yalnızca yönlendirici kapıyı bir dakikadan uzun sürede kapatıyorsa. Cihaz yanıt vermezse santral onu erişilemez sayar, nokta söner ve "Çalışabilirlik"te bir kesinti görünür.

Ne yapmalı#

Her adımdan sonra gelen aramayı 10 dakika boşta bekledikten sonra kontrol edin ("Cihazı ara" düğmesiyle veya yan dahili numaradan); sonrası — yalnızca işe yaramadıysa.

  1. Telefonda keep-alive'ı açın, aralık 20–30 saniye olsun. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (fabrika değerleri Default ve 30 sn); Fanvil'de — hat ayarlarının gelişmiş bölümünde Keep Alive Type.
  2. Yönlendiricide SIP ALG'ı kapatın — o da kapıları "unutmaya" bayılır.
  3. Telefonda kayıt süresini kısaltın (Expires / Register Expiration) 60–120 saniyeye — telefon kapıyı daha sık kendisi açar. 60'tan kısa süreyi santralimiz kabul etmez (423 Interval Too Brief).
  4. Ayrı santralde cihazlar daha sık kontrol edilebilir: "İnce SIP ayarları" → "Bağlantı kontrolü, saniye" — 60 yerine 20–30. Bu, kapıyı santral tarafından açık tutar, ancak servis trafiğini artırır; telefonun keep-alive'ı daha güvenilirdir.
  5. Çift NAT (sağlayıcının yönlendiricisi + kendi yönlendiriciniz) — iki kapı vardır ve farklı şekillerde kapanırlar: birini kaldırın — "Ağ, yönlendirici ve internet".

Wi-Fi’den mobil internete geçerken kesilme#

Neden böyle oluyor#

Mekânın Wi-Fi’si ile mobil internet iki farklı adrestir. Görüşme birinden başlıyor ve santral görüşmenin başında sesin nereden geldiğini kaydediyor: güvenlik gereği sesi yalnızca bu adresten kabul ediyor. Akıllı telefon mobil ağa geçtiğinde ses yeni adresten gelmeye başlıyor — santral için bu artık yabancı bir akış oluyor, buna karşılık servis mesajları artık var olmayan eski adrese gitmeye devam ediyor. Bir ağda başlayan görüşme, başka bir ağa geçildiğinde neredeyse her zaman kopuyor. Bu bir arıza değil, teknolojinin kendi sınırı.

Aynı şeyin ikinci yüzü: akıllı telefon ağ değiştirirken softphone kaydını kaybediyor ve bu saniyelerde gelen aramalar ulaşmıyor. Android ayrıca arka plandaki uygulamaları uyutuyor — ayrıntılar için genel bakıştaki yazılım telefonları bölümüne bakın.

Ne yapmalı#

  1. Görüşme sırasında ağı değiştirmeyin: Wi-Fi kapsama alanından çıkmadan önce görüşmeyi bitirin.
  2. Akıllı telefonda kötü Wi-Fi’den mobil ağa otomatik geçişi kapatın (iPhone’da “Wi-Fi Yardımı”, Android’de Wi-Fi ayarlarındaki “mobil ağa geç”): şu anda kafe eşiğinde görüşmeyi bu koparıyor.
  3. Softphone’a arka planda çalışma izni verin ve onun için pil tasarrufunu kapatın — böylece ağ değişiminden sonra daha hızlı yeniden kaydolur.
  4. Görüşmenin kaybedilmemesi gereken yerlerde (kasa, resepsiyon) akıllı telefon yerine masa telefonu veya DECT ahize kullanın.

Desteğe neler gönderilmeli#

  • kopan birkaç görüşmenin dakikasına kadar tarih ve saati, numaralar ve dahili numara;
  • ne kadar sonra koptuğu (kayıtta — “Görüşme”) ve her zaman aynı olup olmadığı;
  • tüm görüşmelerin mi yoksa yalnızca dış aramaların mı koptuğu; uzun *43 (45 saniye) tutuyor mu;
  • telefonun modeli ve yazılım sürümü (cihaz etiketindeki satır), telefonda keep-alive ve Session Timer açık mı;
  • router modeli, SIP ALG kapalı mı, sağlayıcının ikinci bir router’ı var mı;
  • ayrı santralde — tekrarlanan kopmanın SIP izi metni.

Bize nasıl yazacağınız — “Destek”.

Sık sorulan sorular#

Kopma neden 30. saniyede değil de tam 32. saniyede, 40. saniyede de değil?#

Çünkü bu sayı SIP protokolünün kendisine işlenmiştir: görüşmenin başladığının onayı için yarım saniyelik 64 aralık beklenir — 32 saniye. Sizde “yaklaşık 30 saniye” ve her seferinde aynıysa — bu odur, kronometre 31 veya 33 gösterse bile: zamanın bir kısmı çalma seslerine ve yanıta gitmiştir.

SIP ALG kapalı ama 30. saniyedeki kopma sürüyor — başka ne olabilir?#

Yol boyunca tüm router’larda ALG’nin kapalı olduğunu kontrol edin (sağlayıcının router’ında genellikle kendine ait bir ayar vardır), telefonda üç kodek bırakın ve TCP taşımasını deneyin. Yalnızca dış aramalar kopuyorsa ve *43 45 saniye tutuyorsa — sorun operatöre giden hatta demektir, görüşme saatlerini gönderin.

Şube yeşil ama gelen aramalar ulaşmıyor — bu da “kopma” mı?#

Bu, gelen aramaların açılıştan sonraki ilk dakikalar bölümündeki mekanizmanın aynısıdır: kayıt içeriden yenileniyor, ama telefondan dışarıya açılan kapı çoktan kapanmış oluyor. Kontrol — 10 dakika boşta bekledikten sonra “Cihazı ara”; çözüm — telefonda keep-alive.

Santralde oturum zamanlayıcılarını kapatmak yeterli mi?#

Kapatılabilir (ayrı santralde, “İnce SIP ayarları”), ama bu belirtiyi tedavi eder, nedeni değil: yenileme geçmiyor çünkü servis mesajlarının yolu kapalı veya bozuk ve aynı yol görüşme aktarma ve bekletme için de gerekecek. Ayrıca zamanlayıcılar olmadan sessizce kopan görüşmeler saatlerce asılı kalıp hatları meşgul edecek. Önce keep-alive ve SIP ALG.

İlgili bölümler#

Kaynaklar#

  • RFC 3261 — SIP: ACK alınana kadar 200 OK tekrarı ve oturumun 64 × T1 ile sonlandırılması (§13.3.1.4), T1 = 500 ms (§17.1.1.1), 1300 bayttan uzun mesajlar için TCP’ye geçiş (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261
  • RFC 4028 — Session Timers: aralığın ortasında yenileme, süre dolmadan min(32 sn, aralık / 3) önce BYE — https://www.rfc-editor.org/rfc/rfc4028
  • Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (fabrika Default, 30 sn), Session Timer (fabrika — kapalı; Session Expires 1800 sn; aralığın yarısında yenileme)
  • Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (fabrika “No”), Session Expiration, Min-SE — https://documentation.grandstream.com/knowledge-base/grp261x-grp262x-grp263x-series-administration-guide/
  • Zoiper 5 User Guide v1.0.7 — UDP ve paket boyutu sınırı, router NAT zaman aşımları — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
  • Santral kodu: shared/sip/advanced-options.json (timers=yes, timers_sess_expires=1800, timers_min_se=90, qualify_frequency=60, minimum_expiration=60, rtp_timeout=0, force_rport, rewrite_contact), sip-edge/asterisk/rtp.conf (strictrtp=yes), sip-edge/sipsync/linecheck.go (eko testi *43, kontrol üst sınırı 300 sn)
Was this article helpful?