Qoʻngʻiroq uziladi: 30 soniyadan keyin, 15–30 daqiqadan keyin
«Roppa-rosa shuncha vaqtdan keyin» uzilish — bu yomon aloqa emas, balki taymer: tomonlardan biri nimanidir kutdi, kuta olmadi va halol goʻshakni qoʻydi. Shuning uchun uzilish vaqtiga qarab sababni deyarli aniq aytish mumkin: ~32 soniya — suhbat boshlanganini tasdiqlash yetib kelmadi; ~15 yoki ~30 daqiqa — suhbatni uzaytirish oʻtmadi; kiruvchi qoʻngʻiroqlar faqat birinchi daqiqalarda ishlaydi — router telefonga yoʻlni yopdi. Quyida har bir holatning mexanizmi soʻz bilan va nima qilish kerakligi keltirilgan.
Telefonlarning umumiy sozlamasi — «SIP-telefonlarni sozlash» sharhida, qolgan belgilar — belgilar boʻyicha diagnostikada.
Avval admin panelda tekshiring#
- Qoʻngʻiroqlar jurnali — uzilgan qoʻngʻiroqni oching. «Suhbat» davomiylikni soniyagacha aniqlikda koʻrsatadi: 0:31–0:33 — birinchi holatning qoʻlyozmasi, taxminan 15:00 yoki 29:30 — ikkinchisiniki. Oʻsha yerda «Goʻshakni qoʻydi» (qoʻngʻiroq qiluvchi, xodim yoki ATS) va «Uzilish sababi».
*43aks-sado testi, lekin uzoq: terib, goʻshakni 45 soniya ushlab turing.*43ham qoʻngʻiroq, va unda suhbat boshlanganini tasdiqlash xuddi shu yoʻldan oʻtadi. 32-soniyada uzildi — telefon va ATS orasida nosozlik; chidadi — muassasaning telefoni va tarmogʻi joyida, boshqa joydan qidiring (tashqi qoʻngʻiroqlar, aloqa operatori).- Apparat kartochkasi → «Ish qobiliyati»: muntazam «aloqa yoʻq» nosozliklari — router telefonga qaytish yoʻlini yopadi (qarang: uchinchi holat).
- Kartochkadagi «Apparatga qoʻngʻiroq qilish», oxirgi qoʻngʻiroqdan 10 daqiqa oʻtgach: jiringladi — telefonga yoʻl tirik; yashil filialda jim — bu router.
- Ajratilgan ATSda SIP-trace: takrorlanuvchi
200 OKACKsiz, soʻngBYE— birinchi holat; suhbat oʻrtasidaINVITEyokiUPDATEdan keyinBYE— ikkinchi holat.
30–32 soniyadan keyin uzilish#
Nega bunday boʻladi#
Suhbat boshlanishi — uchta xabardan iborat qoʻl siqish: «qoʻngʻiroq qilyapman» (INVITE) — «javob berdim» (200 OK) — «tushundim, boshlaymiz» (ACK). Javob bergan tomon «tushundim»ni olmaguncha oʻzining «javob berdim»ini takrorlaydi. SIP protokoli qoidasi: agar «tushundim» 64 × T1 = 64 × 0,5 s = 32 soniya ichida kelmasa, suhbatni tugatish kerak. Ovoz bu paytda allaqachon ketmoqda — shuning uchun yarim daqiqa hammasi yaxshi, keyin qoʻngʻiroq oʻzi uziladi.
Demak, 32-soniyada uzilish quyidagini bildiradi: ACK tasdiqlash qayerdadir yoʻqoladi. Nega — koʻp uchraydiganidan kam uchraydiganiga:
- Routerdagi SIP ALG. Router xizmat xabarlari ichidagi manzillarni qayta yozadi, va tasdiqlash notoʻgʻri joyga ketadi yoki tashlab yuboriladi. Har doim birinchi tekshirilishi kerak boʻlgan narsa.
- Juda katta paket. Agar telefonda oʻnlab kodeklar yoqilgan boʻlsa, qoʻngʻiroq tavsifi ~1300 baytdan kattaroq shishadi va UDP orqali «boʻlaklar» (fragmentlar) bilan ketadi. Koʻplab routerlar va tarmoqlararo ekranlar fragmentlarni indamay tashlab yuboradi — oʻsha xabar yoʻqoladi. SIP protokoli bunday xabarlar uchun TCPga oʻtishni toʻgʻridan-toʻgʻri talab qiladi.
- Xabarlardagi ichki manzil. Telefon oʻzi haqida ichki manzilni (
192.168.x.x) yozadi, va tasdiqlash oʻsha manzilga yuboriladi. Bizning ATS buni oʻzi tuzatadi — xabar haqiqatda qayerdan kelgan boʻlsa, oʻsha yerga javob beradi, — lekin aloqa operatorida bunday himoya boʻlmasligi mumkin: unda faqat tashqi qoʻngʻiroqlar uziladi. - Ikki tomonlama NAT yoki qoʻngʻiroqning birinchi xabarlarini oʻtkazib, keyingilarini kesadigan qattiq tarmoqlararo ekran.
Tarmoq administratori uchun: qaysi tomon goʻshakni qoʻyadi
RFC 3261 (§13.3.1.4) boʻyicha 200 OKga javob bergan tomon uni T1 dan T2 gacha oraliqda takrorlaydi va 64 × T1 dan keyin ACKsiz sessiyani BYE soʻrovi bilan tugatadi; T1 sukut boʻyicha — 500 ms (§17.1.1.1), shundan 32 soniya kelib chiqadi.
- Telefonga kiruvchi qoʻngʻiroq:
200 OKni telefon yuboradi,ACKni — ATS.ACKtelefonga yoʻlda yoʻqoldi — goʻshakni telefon qoʻyadi. - Telefondan chiquvchi va
*43:200 OKni ATS yuboradi,ACKni — telefon.ACKATSga yoʻlda yoʻqoldi — goʻshakni ATS qoʻyadi. - Fragmentatsiya: RFC 3261 §18.1.1 — agar soʻrov 1300 baytdan uzun boʻlsa (yoki yoʻl MTUsidan 200 bayt ichida), klient uni tiqilishni boshqarish bilan TCP orqali yuborishi kerak. Bizning ATS xuddi oʻsha 5060 portida TCPni qabul qiladi.
Nima qilish kerak#
Har bir qadamdan keyin uzoq *43 (45 soniya) va sinov qoʻngʻiroqni takrorlang; keyingisiga — faqat yordam bermasa oʻting.
- Routerda SIP ALGni oʻchiring («SIP Helper», «SIP Passthrough», «SIP uchun ALG») va routerni qayta ishga tushiring. Mashhur markalarda u qayerda — «Tarmoq, router va internet».
- Telefonda uchta kodek qoldiring — G.711 PCMA, G.711 PCMU va G.722, — qolganlarini oʻchiring: xabarlar qisqaradi va boʻlinmay qoʻyadi.
- Agar 2-qadam yordam bermasa, transportni TCPga oʻtkazing (port oʻsha, 5060): TCP uzun xabarlarni oʻzi toʻgʻri boʻladi va fragmentatsiya yoʻqoladi. Bizning ATS ham UDP, ham TCPni qabul qiladi.
- Faqat tashqi qoʻngʻiroqlar uziladi,
*43va ichki qoʻngʻiroqlar chidaydi — nosozlik ATS va aloqa operatori orasida. Bir nechta uzilgan qoʻngʻiroq vaqtini qoʻllab-quvvatlashga yuboring. - Ikki tomonlama NATni olib tashlang — provayder routerini koʻprik rejimiga oʻtkazing yoki telefonni toʻgʻridan-toʻgʻri unga ulang.
15 yoki 30 daqiqadan keyin uzilish#
Nega bunday bo‘ladi#
Uzoq suhbat davomida tomonlar vaqti-vaqti bilan suhbat hali davom etayotganini tasdiqlaydi — bu sessiya taymerlari. Interval qo‘ng‘iroq boshida kelishiladi; bir tomon intervalning o‘rtasida suhbatni «uzaytirish»ga majbur bo‘ladi, ikkinchisi uzaytirishni kutadi. Bizning PBX’da sessiya taymerlari 1800 sekund (30 daqiqa) interval bilan yoqilgan; ular aloqasi jimgina uzilgan suhbat soatlab osilib turmasligi va liniyani band qilmasligi uchun kerak.
Bundan ikki xil holat kelib chiqadi:
- taxminan 15 daqiqada — intervalning o‘rtasida uzaytirish yuborildi, lekin u o‘tmadi: tomon uni rad etdi yoki javob olmadi;
- taxminan 29,5 daqiqada — uzaytirish umuman bo‘lmadi va uni kutgan tomon interval tugashidan sal oldin go‘shakni qo‘ydi.
Uzaytirish nega o‘tmaydi:
- Router xizmat xabarlari yo‘lini yopdi. Suhbat davomida ovoz uzluksiz ketadi, xizmat xabarlari esa jim turadi. Agar telefonda keep-alive o‘chirilgan bo‘lsa, router bir necha daqiqadan keyin xizmat xabarlari uchun «eshik»ni yopadi — va PBX’dan telefonga uzaytirish yetib bormaydi.
- Telefon uzaytirish usulini tushunmaydi yoki uni rad etadi — eski proshivka, nostandart parametrlar bilan «Session Timer» yoqilgan.
- SIP ALG uzaytirish xabarini buzadi.
- Aloqa operatorining taymeri — agar faqat tashqi qo‘ng‘iroqlar uzilsa va har doim bir daqiqada.
PBX suhbatda taymerlarni faqat telefon ham ularni qo‘llab-quvvatlasa yoqadi ⚠️ verify. Ko‘p stol telefonlarida «Session Timer» zavoddan o‘chirilgan (Yealink va Grandstream’da — hujjatlarga ko‘ra), va u holda suhbatda taymerlar umuman bo‘lmaydi.
Tarmoq administratori uchun: PBX tomonidagi qiymatlar
timers=yes— taymerlar qo‘llab-quvvatlanadi;timers_sess_expires=1800— interval 1800 s;timers_min_se=90— 90 s dan kamini PBX qabul qilmaydi (shared/sip/advanced-options.json,protocolguruhi).- RFC 4028 bo‘yicha uzaytirish intervalning o‘rtasida (900 s) yuboriladi, uni olmagan tomon esa sessiyani
BYEbilan tugashdan min(32 s, interval / 3) oldin yakunlaydi — taxminan 1768 s. - PBX sukunat bo‘yicha uzilish qilmaydi (
rtp_timeout=0), shuning uchun «ovozsiz suhbat» o‘z-o‘zidan uzilmaydi. - Ajratilgan PBX’da xuddi shu qiymatlar «SIP nozik sozlamalari»da («Sessiya taymerlari», «Sessiyani yangilash, sekund»). Ularni provayder talab qilmasa o‘zgartirish shart emas.
Nima qilish kerak#
- Telefonda keep-alive’ni yoqing — u suhbat davomida ham xizmat xabarlari yo‘lini ochiq ushlab turadi. Yealink: Account → Advanced → Keep Alive Type (Default yoki Options) va Keep Alive Interval — 30 s (zavod qiymati).
- Routerda SIP ALG’ni o‘chiring.
- Agar telefonda «Session Timer» yoqilgan bo‘lsa — zavod qiymatiga (o‘chiq) qaytaring yoki intervalni 1800 s qilib qo‘ying: Yealink — Account → Advanced → Session Timer / Session Expires; Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer, Session Expiration).
- Telefon proshivkasini yangilang — suhbatni uzaytirish xatolari ko‘pincha yangi versiyalarda tuzatilgan.
- Faqat tashqi qo‘ng‘iroqlar uzilsa, har doim bir xil daqiqada — qo‘ng‘iroqlar vaqtini qo‘llab-quvvatlashga yuboring: biz taymerlarni aloqa operatori bilan solishtiramiz.
Kiruvchi qo‘ng‘iroqlar faqat yoqilgandan keyingi bir necha daqiqa ishlaydi#
Nega bunday bo‘ladi#
Telefon router ortida turadi va PBX unga faqat telefon o‘zining oxirgi xabari bilan ochgan «eshik» orqali yetib borishi mumkin. Router bunday eshiklarni uzoq ushlamaydi — uy routerlarida yarim daqiqadan bir necha daqiqa sukunatgacha — keyin yopadi. Telefon tez-tez biror narsa yuborib tursa (yoqilgandan keyin darhol ro‘yxatdan o‘tish, keep-alive), eshik ochiq. Jim tursa — yopiladi va PBX’dan kiruvchi qo‘ng‘iroq routerga urilib qoladi.
Bunda admin panelidagi filial yashil bo‘lib turishi mumkin: ro‘yxatdan o‘tishni telefon o‘zi, ichkaridan yangilaydi va u o‘tadi, lekin telefonga tashqaridan kirish endi mumkin emas. Qayta ishga tushirish «davolaydi», chunki eshikni qaytadan ochadi — vaqtincha.
Bizning PBX o‘z tomonidan har 60 sekundda har bir apparatni «aloqadamisan?» so‘rovi bilan tekshiradi: bu qarshi paket ham eshikni ochiq ushlab turadi — lekin faqat router uni bir daqiqadan ko‘proq vaqt ichida yopsa. Apparat javob bermasa — PBX uni ishlamaydigan deb hisoblaydi, filial o‘chadi va «Ish qobiliyati»da uzilish paydo bo‘ladi.
Nima qilish kerak#
Har bir qadamdan keyin kiruvchi qo‘ng‘iroqni 10 daqiqa bo‘sh turgandan keyin tekshiring («Apparatga qo‘ng‘iroq qilish» tugmasi bilan yoki qo‘shni ichki raqamdan); keyingilarini — faqat yordam bermasa.
- Telefonda keep-alive’ni yoqing, interval 20–30 sekund. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (zavodda Default va 30 s); Fanvil’da — liniyaning qo‘shimcha sozlamalarida Keep Alive Type.
- Routerda SIP ALG’ni o‘chiring — u ham eshiklarni «esdan chiqarish»ni yaxshi ko‘radi.
- Telefonda ro‘yxatdan o‘tish muddatini (Expires / Register Expiration) 60–120 sekundgacha qisqartiring — telefon eshikni tez-tez o‘zi ochib turadi. 60 dan kamini bizning PBX qabul qilmaydi (
423 Interval Too Brief). - Ajratilgan PBX’da apparatlarni tez-tez tekshirish mumkin: «SIP nozik sozlamalari» → «Aloqani tekshirish, sekund» — 60 o‘rniga 20–30. Bu eshikni PBX tomonidan ochiq ushlab turadi, lekin xizmat trafigini oshiradi; telefonning keep-alive’i ishonchliroq.
- Ikki tomonlama NAT (provayder routeri + o‘zingizniki) — ikkita eshik bo‘ladi va ular turlicha yopiladi: bittasini olib tashlang — «Tarmoq, router va internet».
Wi-Fi dan mobil internetga o‘tishda uzilish#
Nega bunday bo‘ladi#
Muassasa Wi-Fi tarmog‘i va mobil internet — bu ikki xil manzil. Suhbat bittasidan boshlangan va PBX suhbat boshida ovoz qayerdan kelayotganini eslab qolgan: xavfsizlik nuqtai nazaridan u ovozni faqat shu manzildan qabul qiladi. Smartfon mobil tarmoqqa o‘tganda, ovoz yangi manzildan kela boshlaydi — va PBX uchun bu endi begona oqim, xizmat xabarlari esa endi mavjud bo‘lmagan eski manzilga ketaveradi. Bir tarmoqda boshlangan suhbat boshqasiga o‘tganda deyarli har doim uziladi. Bu texnologiyaning o‘z cheklovi, nosozlik emas.
Xuddi shu narsaning ikkinchi tomoni: smartfon o‘tayotganda softfon ro‘yxatdan o‘tishni yo‘qotadi va shu soniyalarda kiruvchi qo‘ng‘iroqlar yetib kelmaydi. Android qo‘shimcha ravishda fon ilovalarini uxlatadi — batafsil ma’lumot umumiy ko‘rinishda, dasturiy telefonlar bo‘limida.
Nima qilish kerak#
- Suhbat davomida tarmoqni o‘zgartirmang: Wi-Fi zonasidan chiqishdan oldin qo‘ng‘iroqni tugating.
- Smartfonda yomon Wi-Fi dan mobil tarmoqqa avtomatik o‘tishni o‘chiring (iPhone da — «Wi-Fi yordami», Android da — Wi-Fi sozlamalaridagi «mobil tarmoqqa o‘tish»): hozir u kafe ostonasida suhbatni uzadi.
- Softfonga fonda ishlashga ruxsat bering va u uchun batareya tejashni o‘chiring — shunda u tarmoq almashgandan keyin tezroq qayta ro‘yxatdan o‘tadi.
- Qo‘ng‘iroqni yo‘qotib bo‘lmaydigan joylarda (kassa, resepshn) smartfon emas, stol telefoni yoki DECT trubkasini o‘rnating.
Qo‘llab-quvvatlashga nima yuborish kerak#
- bir nechta uzilgan qo‘ng‘iroqning sanasi va vaqtini daqiqagacha, raqamlar va qo‘shimcha raqam;
- qancha vaqtdan keyin uziladi (jurnal bo‘yicha — «Suhbat») va har doim bir xilmi;
- barcha qo‘ng‘iroqlar uziladimi yoki faqat tashqi qo‘ng‘iroqlar; uzoq
*43(45 soniya) ushlanib turadimi; - telefon modeli va proshivkasi (apparat tegi satri), unda keep-alive va Session Timer yoqilganmi;
- router modeli, SIP ALG o‘chirilganmi, provayderning ikkinchi routeri bormi;
- ajratilgan PBX da — takrorlangan uzilishning SIP treysi matni.
Bizga qanday yozish haqida — «Qo‘llab-quvvatlash».
Ko‘p beriladigan savollar#
Nega uzilish aynan 32-soniyada, 30-soniyada yoki 40-soniyada emas?#
Chunki bu raqam SIP protokolining o‘ziga kiritilgan: suhbat boshlanganini tasdiqlashni 64 ta yarim soniyalik interval — 32 soniya kutadi. Agar sizda «taxminan 30 soniya» bo‘lsa va har safar bir xil bo‘lsa — bu o‘sha, sekundomer 31 yoki 33 ko‘rsatgan bo‘lsa ham: vaqtning bir qismi jiringlash va javobga ketgan.
SIP ALG o‘chirilgan, lekin 30-soniyadagi uzilish qoldi — yana nima?#
ALG yo‘ldagi barcha routerlarda o‘chirilganiga ishonch hosil qiling (provayder routerida u ko‘pincha o‘ziga xos bo‘ladi), telefonda uchta kodek qoldiring va TCP transportini sinab ko‘ring. Agar faqat tashqi qo‘ng‘iroqlar uzilsa, *43 esa 45 soniya ushlanib tursa, — muammo aloqa operatoriga boradigan uchastkada, qo‘ng‘iroqlar vaqtini yuboring.
Filial yashil, lekin kiruvchi qo‘ng‘iroqlar kelmayapti — bu ham «uzilish»mi?#
Bu kiruvchi qo‘ng‘iroqlar yoqilgandan keyingi birinchi daqiqalarda bo‘limidagi bilan bir xil mexanizm: ro‘yxatdan o‘tish ichkaridan yangilanadi, telefondagi eshik esa tashqaridan allaqachon yopiq. Tekshirish — 10 daqiqa bo‘sh turgandan keyin «Apparatga qo‘ng‘iroq qilish»; davolash — telefonda keep-alive.
PBX da sessiya taymerlarini shunchaki o‘chirib qo‘yish mumkinmi?#
Mumkin (ajratilgan PBX da, «Nozik SIP sozlamalari»), lekin bu alomatni davolaydi, sababni emas: yangilash o‘tmayapti, chunki xizmat xabarlari yo‘li yopiq yoki buzilgan, xuddi shu yo‘l qo‘ng‘iroqni yo‘naltirish va ushlab turish uchun ham kerak bo‘ladi. Bundan tashqari, taymersiz jimgina uzilgan suhbatlar soatlab osilib qoladi va liniyalarni band qiladi. Avval keep-alive va SIP ALG.
Tegishli bo‘limlar#
- Telefon ishlamayapti: alomatlar bo‘yicha diagnostika — shu jumladan «chiquvchi ishlayotganda kiruvchi yo‘q»
- Ovoz yo‘q, bir tomondan eshitiladi, aks-sado, «robot»
- Ro‘yxatdan o‘tmayapti: yozuvlar va xato kodlari — «ro‘yxatdan o‘tadi va yo‘qoladi»,
423 Interval Too Brief - Telefoniya uchun tarmoq, router va internet — SIP ALG ni qayerda o‘chirish, ikki tomonlama NAT
- SIP telefonlarini sozlash — muassasa tarmog‘i, aloqa sifatini tekshirish
- Qo‘ng‘iroqlar jurnali va SIP treys
Manbalar#
- RFC 3261 — SIP:
ACKolinmaguncha200 OKni takrorlash va sessiyani 64 × T1 orqali tugatish (§13.3.1.4), T1 = 500 ms (§17.1.1.1), 1300 baytdan uzun xabarlar uchun TCP ga o‘tish (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261 - RFC 4028 — Session Timers: intervalning o‘rtasida yangilash, muddati tugashidan min(32 s, interval / 3) oldin
BYE— https://www.rfc-editor.org/rfc/rfc4028 - Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (zavod sozlamasi Default, 30 s), Session Timer (zavod sozlamasi — o‘chirilgan; Session Expires 1800 s; intervalning yarmida yangilash)
- Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (zavod sozlamasi «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 va paket hajmi cheklovi, routerning NAT taymautlari — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
- PBX kodi:
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(aks-sado testi*43, tekshirish chegarasi 300 s)