Қоңырау үзіледі: 30 секундтан кейін, 15–30 минуттан кейін
«Дәл сонша уақыттан кейін» үзілу — нашар байланыс емес, таймер: бір жақ бірдеңені күтті, күте алмады да, түтікті адал қойды. Сондықтан үзілу уақыты бойынша себебін анық айтуға болады: ~32 секунд — әңгіме басталуының растауы жетпеді; ~15 немесе ~30 минут — әңгіменің ұзартылуы өтпеді; кіріс қоңыраулар тек алғашқы минуттарда жұмыс істейді — роутер телефонға барар жолды жапты. Төменде — әр жағдайдың механизмі сөзбен және не істеу керек.
Телефондарды жалпы баптау — «SIP-телефондарды баптау» шолуында, қалған симптомдар — симптомдар бойынша диагностикада.
Алдымен әкімшілікте тексеріңіз#
- Қоңыраулар журналы — үзілген қоңырауды ашыңыз. «Әңгіме» ұзақтықты секундқа дейінгі дәлдікпен көрсетеді: 0:31–0:33 — бірінші жағдайдың қолтаңбасы, шамамен 15:00 немесе 29:30 — екіншісінің. Сол жерде «Түтікті қойды» (қоңырау шалушы, қызметкер немесе АТС) және «Қоңырауды тоқтату себебі».
*43эхо-тесті, бірақ ұзақ: теріп, түтікті 45 секунд ұстаңыз.*43— де қоңырау, және онда әңгіме басталуының растауы сол жолдан өтеді. 32-секундта үзілді — телефон мен АТС арасындағы ақау; шыдады — мекеменің телефоны мен желісі жарамды, әрі қарай іздеңіз (сыртқы қоңыраулар, байланыс операторы).- Аппарат карточкасы → «Жұмыс қабілеттілігі»: «байланыс жоқ» деген тұрақты сәтсіздіктер — роутер телефонға кері жолды жауып тұр (қараңыз үшінші жағдай).
- Карточкадағы «Аппаратқа қоңырау шалу», соңғы қоңыраудан 10 минут өткен соң: шыр етті — телефонға барар жол тірі; жасыл филиалда үнсіз — бұл роутер.
- SIP-трейс бөлінген АТС-те: қайталанатын
200 OKACK-сыз, содан кейінBYE— бірінші жағдай; әңгіме ортасындаINVITEнемесеUPDATE-тен кейінгіBYE— екінші.
30–32 секундтан кейін үзілу#
Неліктен бұлай болады#
Әңгіменің басталуы — үш хабарламадан тұратын қол алысу: «қоңырау шалып жатырмын» (INVITE) — «жауап берді» (200 OK) — «түсіндім, бастаймыз» (ACK). Жауап берген жақ өзінің «жауап берді» дегенін «түсіндім» келгенше қайталайды. SIP протоколының ережесі: егер «түсіндім» 64 × T1 = 64 × 0,5 с = 32 секунд ішінде келмесе, әңгімені аяқтау керек. Дауыс бұл кезде әлдеқашан жүріп жатыр — сондықтан жарты минут бәрі қалыпты, содан кейін қоңырау өзі түсіп қалады.
Сонымен, 32-секундта үзілу мынаны білдіреді: ACK растауы бір жерде жоғалады. Неліктен — жиіден сирекке қарай:
- Роутердегі SIP ALG. Роутер қызметтік хабарламалардың ішіндегі мекенжайларды қайта жазады, сондықтан растау дұрыс жерге бармайды немесе тасталады. Әрқашан тексеру керек бірінші нәрсе.
- Тым үлкен пакет. Егер телефонда ондаған кодек қосылған болса, қоңырау сипаттамасы ~1300 байттан асып кетеді де, UDP арқылы «бөліктермен» (фрагменттермен) кетеді. Көптеген роутерлер мен межсетевой экрандар фрагменттерді үнсіз лақтырады — дәл сол хабарлама жоғалады. SIP протоколы мұндай хабарламалар үшін TCP-ге көшуді тікелей талап етеді.
- Хабарламалардағы ішкі мекенжай. Телефон өзі туралы ішкі мекенжайды (
192.168.x.x) жазады, сондықтан растау сол мекенжайға жіберіледі. Біздің АТС мұны өзі түзетеді — хабарлама шын мәнінде қайдан келсе, сол жерге жауап береді, — бірақ байланыс операторында мұндай қорғаныс болмауы мүмкін: онда тек сыртқы қоңыраулар үзіледі. - Қос NAT немесе қоңыраудың алғашқы хабарламаларын өткізіп, кейінгілерін кесетін қатаң межсетевой экран.
Желі әкімшісіне: қай жақ түтікті қояды
RFC 3261 (§13.3.1.4) бойынша 200 OK жауап берген жақ оны T1-ден T2-ге дейінгі аралықпен қайталайды және 64 × T1 өткен соң ACK-сыз сессияны BYE сұранысымен аяқтайды; T1 әдепкі бойынша — 500 мс (§17.1.1.1), осыдан 32 секунд шығады.
- Телефонға кіріс қоңырау:
200 OK-ты телефон жібереді,ACK-ты — АТС. Телефонға барар жолдаACKжоғалды — түтікті телефон қояды. - Телефоннан шығыс қоңырау және
*43:200 OK-ты АТС жібереді,ACK-ты — телефон. АТС-ке барар жолдаACKжоғалды — түтікті АТС қояды. - Фрагментация: RFC 3261 §18.1.1 — егер сұраныс 1300 байттан ұзын болса (немесе жолдың MTU-ынан 200 байт шегінде болса), клиент оны қанығу бақылауымен TCP арқылы жіберуі керек. Біздің АТС TCP-ні сол 5060 портында қабылдайды.
Не істеу керек#
Әр қадамнан кейін ұзақ *43-ты (45 секунд) және сынақ қоңырауын қайталаңыз; әрі қарай — тек көмектеспесе ғана.
- Роутерде SIP ALG-ті өшіріңіз («SIP Helper», «SIP Passthrough», «ALG для SIP») және роутерді қайта қосыңыз. Танымал маркаларда ол қайда — «Желі, роутер және интернет».
- Телефонда үш кодек қалдырыңыз — G.711 PCMA, G.711 PCMU және G.722, — қалғандарын өшіріңіз: хабарламалар қысқарады және бөлінуді тоқтатады.
- Транспортты TCP-ге ауыстырыңыз (порт сол, 5060), егер 2-қадам көмектеспесе: TCP ұзын хабарламаларды өзі дұрыс кеседі, фрагментация жоғалады. Біздің АТС UDP-ні де, TCP-ні де қабылдайды.
- Тек сыртқы қоңыраулар үзіледі, ал
*43мен ішкі қоңыраулар шыдайды — АТС пен байланыс операторы арасындағы ақау. Бірнеше үзілген қоңыраудың уақытын қолдау қызметіне жіберіңіз. - Қос NAT-ты алып тастаңыз — провайдер роутерін көпір режиміне ауыстырыңыз немесе телефонды оған тікелей қосыңыз.
15 немесе 30 минуттан кейінгі үзіліс#
Неліктен бұлай болады#
Ұзақ әңгіме кезінде тараптар мезгіл-мезгіл әңгіменің әлі жалғасып жатқанын растайды — бұл сессия таймерлері. Аралық қоңыраудың басында келісіледі; бір тарап аралықтың ортасында әңгімені «ұзартуға» міндеттенеді, екіншісі — ұзартуды күтеді. Біздің АТС-та сессия таймерлері 1800 секунд (30 минут) аралығымен қосылған; олар байланысы үнсіз үзілген әңгіменің сағаттап ілулі тұрып, желіні алып қоймауы үшін қажет.
Осыдан екі сипат шығады:
- шамамен 15 минут — аралықтың ортасында ұзарту жіберілді, бірақ ол өтпеді: тарап оны қабылдамады немесе жауап алмады;
- шамамен 29,5 минут — ұзарту мүлде болмады, және оны күткен тарап аралық бітуінен сәл бұрын тұтқаны қойды.
Ұзарту неліктен өтпейді:
- Роутер қызметтік хабарламалардың жолын жапты. Әңгіме кезінде дауыс үздіксіз жүреді, ал қызметтік хабарламалар — үнсіз. Телефонда keep-alive өшірулі болса, роутер бірнеше минуттан кейін қызметтік хабарламаларға арналған «есікті» жабады — сонда АТС-тан телефонға ұзарту жетпейді.
- Телефон ұзарту тәсілін түсінбейді немесе оны қабылдамайды — ескі прошивка, стандартты емес параметрлермен «Session Timer» қосылған.
- SIP ALG ұзарту хабарламасын бұзады.
- Байланыс операторының таймері — егер тек сыртқы қоңыраулар үзіліп, әрдайым бір минутта болса.
АТС әңгімеде таймерлерді телефон да қолдаса ғана қосады ⚠️ verify. Көптеген үстел телефондарында «Session Timer» зауыттан өшірулі (Yealink және Grandstream бойынша — құжаттамаға сәйкес), сонда әңгімеде таймерлер мүлде болмайды.
Желі әкімшісіне: АТС жағындағы мәндер
timers=yes— таймерлер қолдалады;timers_sess_expires=1800— аралық 1800 с;timers_min_se=90— 90 с-тан кемді АТС қабылдамайды (shared/sip/advanced-options.json,protocolтобы).- RFC 4028 бойынша ұзарту аралықтың ортасында (900 с) жіберіледі, ал оны алмаған тарап сессияны
BYEарқылы бітуге min(32 с, аралық / 3) қалғанда — шамамен 1768 с-та аяқтайды. - Үнсіздік бойынша АТС үзбейді (
rtp_timeout=0), сондықтан «дыбыссыз әңгіме» өздігінен үзілмейді. - Бөлінген АТС-та сол мәндер — «Тонкие настройки SIP» («Таймеры сессии», «Обновление сессии, секунд») ішінде. Провайдер талап етпесе, оларды өзгертудің қажеті жоқ.
Не істеу керек#
- Телефонда keep-alive қосыңыз — ол әңгіме кезінде де қызметтік хабарламалардың жолын ашық ұстайды. Yealink: Account → Advanced → Keep Alive Type (Default немесе Options) және Keep Alive Interval — 30 с (зауыттық мән).
- Роутерде SIP ALG өшіріңіз.
- Телефонда «Session Timer» қосылған болса — зауыттық мәнге (өшірулі) қайтарыңыз немесе аралықты 1800 с етіп қойыңыз: Yealink — Account → Advanced → Session Timer / Session Expires; Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer, Session Expiration).
- Телефонның прошивкасын жаңартыңыз — әңгімені ұзарту қателері жаңа нұсқаларда жиі түзетілген.
- Тек сыртқы қоңыраулар үзілсе, әрдайым бір минутта — қоңыраулардың уақытын қолдау қызметіне жіберіңіз: біз таймерлерді байланыс операторымен салыстырамыз.
Кіріс қоңыраулар қосылғаннан кейінгі алғашқы минуттарда ғана жұмыс істейді#
Неліктен бұлай болады#
Телефон роутердің артында тұр, ал АТС оған телефон өзінің соңғы хабарламасымен ашқан «есік» арқылы ғана жете алады. Роутер мұндай есіктерді ұзақ ұстамайды — тұрмыстық роутерлерде тыныштықтан кейін жарты минуттан бірнеше минутқа дейін — содан кейін жабады. Телефон жиі бірдеңе жіберіп тұрса (қосылғаннан кейін бірден тіркелу, keep-alive), есік ашық. Тынышталса — жабылды, және АТС-тан кіріс қоңырау роутерге тіреледі.
Әкімшіліктегі филиал бұл кезде жасыл болып қалуы мүмкін: тіркелуді телефон өзі, іштен жаңартады, және ол өтеді, ал телефонға сырттан кіру енді мүмкін емес. Қайта жүктеу «емдейді», себебі есікті қайта ашады, — уақытша.
Біздің АТС өз жағынан әр 60 секунд сайын әр аппаратты «байланыстасың ба?» сұрағымен тексереді: бұл қарсы пакет те есікті ашық ұстайды — бірақ роутер оны бір минуттан ұзақ уақытта жапса ғана. Аппарат жауап бермесе — АТС оны қолжетімсіз деп санайды, филиал сөнеді, және «Жұмысқа қабілеттілік» бөлімінде үзіліс пайда болады.
Не істеу керек#
Әр қадамнан кейін кіріс қоңырауды 10 минут бос тұрғаннан кейін тексеріңіз («Аппаратқа қоңырау шалу» түймесімен немесе көршілес қосымша нөмірден); әрі қарай — көмектеспесе ғана.
- Телефонда keep-alive қосыңыз, аралығы 20–30 секунд. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (зауыттық Default және 30 с); Fanvil-да — желінің қосымша параметрлеріндегі Keep Alive Type.
- Роутерде SIP ALG өшіріңіз — ол да есіктерді «ұмытып» қояды.
- Телефонда тіркелу мерзімін (Expires / Register Expiration) 60–120 секундқа дейін қысқартыңыз — телефон есікті жиірек өзі ашады. 60-тан кемді біздің АТС қабылдамайды (
423 Interval Too Brief). - Бөлінген АТС-та аппараттарды жиірек тексеруге болады: «Тонкие настройки SIP» → «Проверка связи, секунд» — 60 орнына 20–30. Бұл есікті АТС жағынан ұстайды, бірақ қызметтік трафикті көбейтеді; телефонның keep-alive сенімдірек.
- Қос NAT (провайдердің роутері + өзіңіздікі) — есік екеу, және олар әртүрлі жабылады: біреуін алып тастаңыз — «Желі, роутер және интернет».
Wi-Fi-ден мобильді интернетке ауысқанда қоңыраудың үзілуі#
Неліктен бұлай болады#
Мекеменің Wi-Fi желісі мен мобильді интернет — екі түрлі мекенжай. Әңгіме біреуінен басталған, ал АТС әңгіменің басында дауыстың қайдан келе жатқанын есте сақтаған: қауіпсіздік үшін ол дыбысты тек осы мекенжайдан қабылдайды. Смартфон мобильді желіге ауысқанда, дауыс жаңа мекенжайдан келе бастайды — АТС үшін бұл енді бөтен ағын, ал қызметтік хабарламалар бұрынғы, енді жоқ мекенжайға жіберіле береді. Бір желіде басталған әңгіме екіншісіне ауысқанда әрдайым дерлік үзіледі. Бұл — технологияның өз шектеуі, бұзылу емес.
Сол себептің екінші жағы: смартфон ауысып жатқанда, софтфон тіркелуді жоғалтады, сондықтан кіріс қоңыраулар осы секундтарда жетпейді. Android қоса алғанда фондық қолданбаларды ұйықтатады — толығырақ шолуда, бағдарламалық телефондар бөлімінде.
Не істеу керек#
- Әңгіме кезінде желіні ауыстырмаңыз: Wi-Fi аймағынан шықпай тұрып қоңырауды аяқтаңыз.
- Смартфонда нашар Wi-Fi-ден мобильді желіге автоматты ауысуды өшіріңіз (iPhone-да — «Wi-Fi көмегі», Android-та — Wi-Fi параметрлеріндегі «мобильді желіге ауысу»): қазір ол кафе табалдырығында әңгімені үзеді.
- Софтфонға фонда жұмыс істеуге рұқсат беріп, ол үшін батарея үнемдеуін алып тастаңыз — сонда ол желі ауысқаннан кейін тезірек қайта тіркеледі.
- Қоңырауды жоғалтуға болмайтын жерлерде (қабылдау бөлімі, ресепшн) смартфонның орнына үстел телефонын немесе DECT трубкасын қойыңыз.
Қолдау қызметіне не жіберу керек#
- үзілген бірнеше қоңыраудың минутқа дейінгі күні мен уақыты, нөмірлер мен ішкі нөмір;
- қанша уақыттан кейін үзіледі (журнал бойынша — «Әңгіме») және әрдайым бірдей ме;
- барлық қоңырау үзіле ме әлде тек сыртқы қоңыраулар ма; ұзақ
*43(45 секунд) ұстай ма; - телефонның моделі мен прошивкасы (аппарат тегінен алынған жол), онда keep-alive және Session Timer қосулы ма;
- роутердің моделі, SIP ALG өшірілген бе, провайдердің екінші роутері бар ма;
- бөлінген АТС-та — қайталанған үзілудің SIP-трейс мәтіні.
Бізге қалай жазуға болады — «Қолдау».
Жиі қойылатын сұрақтар#
Неліктен үзілу дәл 32-секундта, 30-да да, 40-та да емес?#
Өйткені бұл сан SIP протоколының өзіне салынған: әңгіменің басталуын растауды әрқайсысы жарты секундтан 64 интервал күтеді — 32 секунд. Егер сізде «шамамен 30 секунд» болып, әр жолы бірдей болса — бұл сол, секундомер 31 немесе 33 көрсетсе де: уақыттың бір бөлігі гудоктар мен жауапқа кеткен.
SIP ALG өшірілген, бірақ 30-секундтағы үзілу қалды — тағы не?#
Жол бойындағы барлық роутерде ALG өшірілгенін тексеріңіз (провайдер роутерінде ол жиі өзінше болады), телефонда үш кодек қалдырып, TCP транспортын көріңіз. Егер тек сыртқы қоңыраулар үзіліп, *43 45 секунд ұстаса, — мәселе байланыс операторына дейінгі учаскеде, қоңыраулардың уақытын жіберіңіз.
Филиал жасыл, бірақ кіріс қоңыраулар келмейді — бұл да «үзілу» ме?#
Бұл — қосылғаннан кейінгі алғашқы минуттардағы кіріс қоңыраулар бөліміндегідей механизм: тіркелу іштен жаңарады, ал телефонға сырттан апарар есік жабық. Тексеру — 10 минут бос тұрғаннан кейін «Аппаратқа қоңырау шалу»; емі — телефондағы keep-alive.
АТС-та сессия таймерлерін жай өшірсе бола ма?#
Болады (бөлінген АТС-та, «SIP-тің нәзік параметрлері»), бірақ бұл себепті емес, симптомды емдейді: ұзарту өтпейді, өйткені қызметтік хабарламалардың жолы жабық немесе бүлінген, ал сол жол қоңырауды ауыстыру мен ұстап тұруға да керек болады. Сонымен қатар таймерлерсіз үнсіз үзілген әңгімелер сағаттап ілулі тұрып, желілерді алады. Алдымен keep-alive және SIP ALG.
Байланысты бөлімдер#
- Телефон жұмыс істемейді: симптомдар бойынша диагностика — соның ішінде «шығыс қоңыраулар жұмыс істегенде кіріс қоңыраулар жоқ»
- Дыбыс жоқ, бір жаққа ғана естіледі, эхо, «робот»
- Тіркелмейді: жазулар мен қате кодтары — «тіркеледі де жоғалады»,
423 Interval Too Brief - Телефония үшін желі, роутер және интернет — SIP ALG-ті қайда өшіру керек, қос NAT
- SIP-телефондарды баптау — мекеменің желісі, байланыс сапасын тексеру
- Қоңыраулар журналы және SIP-трейс
Дереккөздер#
- RFC 3261 — SIP:
ACKалғанға дейін200 OKқайталау және сессияны 64 × T1 арқылы аяқтау (§13.3.1.4), T1 = 500 мс (§17.1.1.1), 1300 байттан ұзын хабарламалар үшін TCP-ге көшу (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261 - RFC 4028 — Session Timers: интервалдың ортасында ұзарту, мерзімі бітпей тұрып min(32 с, интервал / 3) бұрын
BYE— https://www.rfc-editor.org/rfc/rfc4028 - Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (зауыттық Default, 30 с), Session Timer (зауыттық — өшірілген; Session Expires 1800 с; интервалдың жартысында жаңарту)
- Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (зауыттық «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 және пакет өлшемінің шектеуі, роутердің NAT-таймауттары — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
- АТС коды:
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(эхо-тест*43, тексеру шегі 300 с)