Prekid poziva: posle 30 sekundi, posle 15–30 minuta
Prekid „tačno posle toliko i toliko“ nije loša veza, već tajmer: jedna strana je nešto čekala, nije dočekala i pošteno spustila slušalicu. Zato se po vremenu prekida uzrok može odrediti skoro sigurno: ~32 sekunde — nije stigla potvrda početka razgovora; ~15 ili ~30 minuta — nije prošlo produženje razgovora; dolazni rade samo prvih nekoliko minuta — ruter je zatvorio put do telefona. U nastavku — mehanizam svakog slučaja rečima i šta učiniti.
Opšta podešavanja telefona — u pregledu „Podešavanje SIP telefona“, ostali simptomi — u dijagnostici po simptomima.
Prvo proverite u admin panelu#
- Dnevnik poziva — otvorite prekinuti poziv. „Razgovor“ će pokazati trajanje do u sekundu: 0:31–0:33 — rukopis prvog slučaja, oko 15:00 ili 29:30 — drugog. Tu su i „Spustio slušalicu“ (pozivalac, zaposleni ili centrala) i „Razlog prekida“.
- Eho-test
*43, ali dug: pozovite i držite slušalicu 45 sekundi.*43je takođe poziv, i potvrda početka razgovora u njemu prolazi istim putem. Prekinuo se na 32. sekundi — kvar između telefona i centrale; izdržao — telefon i mreža lokala su u redu, tražite dalje (spoljni pozivi, operater). - Kartica aparata → „Radna sposobnost“: redovni padovi „nema veze“ — ruter zatvara povratni put do telefona (vidite treći slučaj).
- „Pozovi na aparat“ u kartici, 10 minuta posle poslednjeg poziva: zazvonio — put do telefona je živ; ćuti pri zelenoj lokaciji — to je ruter.
- SIP trejs na izdvojenoj centrali: ponavljajući
200 OKbezACK, zatimBYE— prvi slučaj;BYEposleINVITEiliUPDATEusred razgovora — drugi.
Prekid posle 30–32 sekunde#
Zašto se to dešava#
Početak razgovora je rukovanje od tri poruke: „zovem“ (INVITE) — „odgovoreno“ (200 OK) — „razumem, počinjemo“ (ACK). Strana koja je odgovorila ponavlja svoje „odgovoreno“ dok ne dobije „razumem“. Pravilo protokola SIP: ako „razumem“ ne stigne za 64 × T1 = 64 × 0,5 s = 32 sekunde, razgovor treba završiti. Glas pri tom već ide — zato je pola minuta sve u redu, a onda poziv pada sam.
Dakle, prekid na 32. sekundi znači: potvrda ACK se negde gubi. Zašto — od čestog ka retkom:
- SIP ALG na ruteru. Ruter prepisuje adrese unutar servisnih poruka, i potvrda odlazi na pogrešno mesto ili se odbacuje. Prvo što uvek treba proveriti.
- Preveliki paket. Ako su u telefonu uključeni deseci kodeka, opis poziva se naduva preko ~1300 bajtova, i po UDP-u odlazi „u delovima“ (fragmentima). Mnogi ruteri i mrežni štitovi fragmente tiho odbacuju — gubi se upravo ta poruka. Protokol SIP izričito zahteva da se za takve poruke pređe na TCP.
- Unutrašnja adresa u porukama. Telefon o sebi piše unutrašnju adresu (
192.168.x.x), i potvrda se šalje na nju. Naša centrala to sama ispravlja — odgovara tamo odakle je poruka zaista stigla — ali kod operatera takve zaštite možda nema: tada se prekidaju samo spoljni pozivi. - Dvostruki NAT ili strogi mrežni štit koji propušta prve poruke poziva i seče naredne.
Za mrežnog administratora: koja strana spušta slušalicu
Po RFC 3261 (§13.3.1.4) strana koja je odgovorila 200 OK ponavlja ga u intervalu od T1 do T2 i posle 64 × T1 bez ACK završava sesiju zahtevom BYE; T1 je podrazumevano 500 ms (§17.1.1.1), odatle 32 sekunde.
- Dolazni poziv na telefon:
200 OKšalje telefon,ACK— centrala. Izgubio seACKna putu do telefona — slušalicu spušta telefon. - Odlazni sa telefona i
*43:200 OKšalje centrala,ACK— telefon. Izgubio seACKna putu do centrale — slušalicu spušta centrala. - Fragmentacija: RFC 3261 §18.1.1 — ako je zahtev duži od 1300 bajtova (ili u granicama 200 bajtova od MTU puta), klijent ga mora slati po TCP-u sa kontrolom zagušenja. Naša centrala prihvata TCP na istom portu 5060.
Šta učiniti#
Posle svakog koraka ponovite dugi *43 (45 sekundi) i probni poziv; dalje — samo ako nije pomoglo.
- Isključite SIP ALG na ruteru („SIP Helper“, „SIP Passthrough“, „ALG za SIP“) i restartujte ruter. Gde se nalazi kod popularnih marki — „Mreža, ruter i internet“.
- Ostavite u telefonu tri kodeka — G.711 PCMA, G.711 PCMU i G.722, — ostale isključite: poruke će postati kraće i prestati da se dele.
- Prebacite transport na TCP (port isti, 5060), ako korak 2 nije pomogao: TCP sam pravilno seče duge poruke, i fragmentacija nestaje. Naša centrala prihvata i UDP i TCP.
- Prekidaju se samo spoljni pozivi, a
*43i interni se drže — kvar između centrale i operatera. Pošaljite vreme nekoliko prekinutih poziva podršci. - Uklonite dvostruki NAT — prevedite ruter provajdera u režim mosta ili povežite telefon direktno u njega.
Prekid posle 15 ili 30 minuta#
Zašto se to dešava#
Tokom dugog razgovora strane s vremena na vreme potvrđuju da razgovor još traje — to su tajmeri sesije. Interval se dogovara na početku poziva; jedna strana se obavezuje da će „produžiti“ razgovor na sredini intervala, druga — čeka produženje. Na našoj centrali tajmeri sesije su uključeni sa intervalom od 1800 sekundi (30 minuta); potrebni su da razgovor u kome je veza tiho nestala ne visi satima i ne zauzima liniju.
Otuda dva scenarija:
- oko 15 minuta — na sredini intervala produženje je poslato, ali nije prošlo: strana ga je odbila ili nije dobila odgovor;
- oko 29,5 minuta — produženja uopšte nije bilo, pa je strana koja ga je čekala spustila slušalicu malo pre isteka intervala.
Zašto produženje ne prolazi:
- Ruter je zatvorio put servisnih poruka. Glas tokom razgovora ide neprekidno, a servisne poruke — ćute. Ako je na telefonu isključen keep-alive, ruter posle nekoliko minuta zatvara „vrata“ za servisne poruke — i produženje od centrale ka telefonu više ne stiže.
- Telefon ne razume način produženja ili ga odbija — stari firmver, uključen „Session Timer“ sa nestandardnim parametrima.
- SIP ALG kvari poruku produženja.
- Tajmer operatera veze — ako se prekidaju samo spoljni pozivi i to uvek u istom minutu.
Centrala uključuje tajmere u razgovoru samo ako ih podržava i telefon ⚠️ verify. Kod većine stonih telefona je „Session Timer“ fabrički isključen (kod Yealink i Grandstream — prema dokumentaciji), i tada tajmera u razgovoru uopšte nema.
Za mrežnog administratora: vrednosti na strani centrale
timers=yes— tajmeri su podržani;timers_sess_expires=1800— interval 1800 s;timers_min_se=90— manje od 90 s centrala neće prihvatiti (shared/sip/advanced-options.json, grupaprotocol).- Prema RFC 4028 produženje se šalje na sredini intervala (900 s), a strana koja ga nije dobila završava sesiju
BYEza min(32 s, interval / 3) pre isteka — oko 1768 s. - Prekid zbog tišine centrala ne pravi (
rtp_timeout=0), pa se „razgovor bez zvuka“ sam po sebi ne prekida. - Na namenskoj centrali iste vrednosti su u „Finskim SIP podešavanjima“ („Tajmeri sesije“, „Osvežavanje sesije, sekundi“). Ne treba ih menjati bez zahteva provajdera.
Šta uraditi#
- Uključite keep-alive na telefonu — on drži put servisnih poruka otvoren i tokom razgovora. Yealink: Account → Advanced → Keep Alive Type (Default ili Options) i Keep Alive Interval — 30 s (fabrička vrednost).
- Isključite SIP ALG na ruteru.
- Ako je na telefonu bio uključen „Session Timer“ — vratite fabričku vrednost (isključeno) ili postavite interval na 1800 s: Yealink — Account → Advanced → Session Timer / Session Expires; Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer, Session Expiration).
- Ažurirajte firmver telefona — greške u produženju razgovora često su ispravljene u novim verzijama.
- Prekidaju se samo spoljni pozivi, u istom minutu — pošaljite vreme poziva podršci: uporedićemo tajmere sa operaterom veze.
Dolazni pozivi rade samo prvih nekoliko minuta posle uključivanja#
Zašto se to dešava#
Telefon stoji iza rutera, i centrala može da dođe do njega samo kroz „vrata“ koja je telefon otvorio svojom poslednjom porukom. Ruter takva vrata drži kratko — kod kućnih rutera od pola minuta do nekoliko minuta tišine — i zatim ih zatvara. Dok telefon često nešto šalje (registracija odmah posle uključivanja, keep-alive), vrata su otvorena. Utihne — zatvore se, i dolazni poziv od centrale udara u ruter.
Lokacija u administraciji pri tome može da ostane zelena: registraciju telefon osvežava sam, iznutra, i ona prolazi, ali ući u telefon spolja više nije moguće. Restart „leči“, jer ponovo otvara vrata — na neko vreme.
Naša centrala sa svoje strane svakih 60 sekundi proverava svaki aparat upitom „da li si na vezi?“: taj povratni paket takođe drži vrata otvorena — ali samo ako ruter zatvara vrata duže od jednog minuta. Aparat nije odgovorio — centrala ga smatra nedostupnim, lokacija se gasi, i u „Radnoj sposobnosti“ se pojavljuje prekid.
Šta uraditi#
Posle svakog koraka proverite dolazni poziv posle 10 minuta mirovanja (dugmetom „Pozovi aparat“ ili sa susednog ekstenzija); dalje — samo ako nije pomoglo.
- Uključite keep-alive na telefonu sa intervalom od 20–30 sekundi. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (fabrički Default i 30 s); kod Fanvil — Keep Alive Type u dodatnim podešavanjima linije.
- Isključite SIP ALG na ruteru — i on voli da „zaboravi“ vrata.
- Skratite rok registracije na telefonu (Expires / Register Expiration) na 60–120 sekundi — telefon će češće sam otvarati vrata. Manje od 60 naša centrala neće prihvatiti (
423 Interval Too Brief). - Na namenskoj centrali možete proveravati aparate češće: „Fina SIP podešavanja“ → „Provera veze, sekundi“ — 20–30 umesto 60. To drži vrata sa strane centrale, ali dodaje servisni saobraćaj; keep-alive telefona je pouzdaniji.
- Dvostruki NAT (ruter provajdera + svoj) — vrata su dva, i zatvaraju se različito: uklonite jedna — „Mreža, ruter i internet“.
Prekid pri prelasku sa Wi-Fi na mobilni internet#
Zašto se to dešava#
Wi-Fi lokala i mobilni internet su dve različite adrese. Razgovor je počeo sa jedne, i PBX je na početku razgovora zapamtio odakle dolazi glas: iz bezbednosnih razloga prima zvuk samo sa te adrese. Kada pametni telefon pređe na mobilnu mrežu, glas počinje da dolazi sa nove adrese — a za PBX je to već tuđi tok, dok servisne poruke nastavljaju da idu na staru adresu, koje više nema. Razgovor započet u jednoj mreži, pri prelasku u drugu, skoro uvek se prekida. To je ograničenje same tehnologije, a ne kvar.
Druga strana istog: dok pametni telefon prelazi, softfon gubi registraciju, i dolazni pozivi u tim sekundama ne stižu. Android uz to uspavljuje aplikacije u pozadini — detaljnije u pregledu, odeljak o softverskim telefonima.
Šta učiniti#
- Tokom razgovora ne menjajte mrežu: završite poziv pre izlaska iz zone Wi-Fi.
- Isključite na pametnom telefonu automatsko prebacivanje sa lošeg Wi-Fi na mobilnu mrežu (na iPhone — „Wi-Fi Assist“, na Android — „prebaci na mobilnu mrežu“ u podešavanjima Wi-Fi): sada ono prekida razgovor na pragu kafića.
- Dozvolite softfonu rad u pozadini i ukinite mu štednju baterije — tada će se brže ponovo registrovati nakon promene mreže.
- Tamo gde se poziv ne sme izgubiti (šank, recepcija), postavite stoni telefon ili DECT slušalicu, a ne pametni telefon.
Šta poslati podršci#
- datum i vreme nekoliko prekinutih poziva do u minutu, brojeve i lokal;
- za koliko se prekida (po dnevniku — „Razgovor“) i da li je uvek isto;
- da li se prekidaju svi pozivi ili samo spoljni; da li se dugi
*43održava (45 sekundi); - model i firmver telefona (red iz oznake uređaja), da li su u njemu uključeni keep-alive i Session Timer;
- model rutera, da li je SIP ALG isključen, da li postoji drugi ruter provajdera;
- na namenskom PBX — tekst SIP trejsa ponovljenog prekida.
Kako nam pisati — „Podrška“.
Česta pitanja#
Zašto je prekid baš na 32. sekundi, a ne na 30. i ne na 40.?#
Zato što je taj broj ugrađen u sam SIP protokol: potvrda početka razgovora čeka se 64 intervala po pola sekunde — 32 sekunde. Ako imate „oko 30 sekundi“ i svaki put isto — to je to, čak i ako je štoperica pokazivala 31 ili 33: deo vremena otišao je na zvonjenje i odgovor.
SIP ALG je isključen, a prekid na 30. sekundi je ostao — šta još?#
Proverite da je ALG isključen na svim ruterima na putu (kod rutera provajdera je često svoj), ostavite u telefonu tri kodeka i probajte transport TCP. Ako se prekidaju samo spoljni pozivi, a *43 se održava 45 sekundi — stvar je na delu ka operateru veze, pošaljite vreme poziva.
Lokacija je zelena, ali dolazni ne stižu — je li i to „prekid“?#
To je isti mehanizam kao u odeljku o dolaznim prvih nekoliko minuta: registracija se obnavlja iznutra, a vrata ka telefonu spolja su već zatvorena. Provera — „Pozovi na uređaj“ nakon 10 minuta mirovanja; lek — keep-alive u telefonu.
Može li se jednostavno isključiti tajmere sesije na PBX?#
Može (na namenskom PBX, „Fina podešavanja SIP“), ali to leči simptom, a ne uzrok: produženje ne prolazi jer je put servisnih poruka zatvoren ili pokvaren, a taj isti put biće potreban za preusmeravanje poziva i zadržavanje. Uz to, bez tajmera će prekinuti nijemi razgovori viseti satima i zauzimati linije. Prvo keep-alive i SIP ALG.
Povezani odeljci#
- Telefon ne radi: dijagnostika po simptomima — između ostalog „nema dolaznih dok odlazni rade“
- Nema zvuka, čuje se u jednom smeru, eho, „robot“
- Ne registruje se: natpisi i kodovi grešaka — „registruje se i nestaje“,
423 Interval Too Brief - Mreža, ruter i internet za telefoniju — gde isključiti SIP ALG, dvostruki NAT
- Podešavanje SIP telefona — mreža lokala, provera kvaliteta veze
- Dnevnik poziva i SIP trejs
Izvori#
- RFC 3261 — SIP: ponavljanje
200 OKdo prijemaACKi završetak sesije kroz 64 × T1 (§13.3.1.4), T1 = 500 ms (§17.1.1.1), prelaz na TCP za poruke duže od 1300 bajtova (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261 - RFC 4028 — Session Timers: produženje na sredini intervala,
BYEza min(32 s, interval / 3) pre isteka — https://www.rfc-editor.org/rfc/rfc4028 - Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (fabrički Default, 30 s), Session Timer (fabrički — isključen; Session Expires 1800 s; obnavljanje na polovini intervala)
- Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (fabrički „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 i ograničenje veličine paketa, NAT tajmauti rutera — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
- Kod PBX:
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(eho-test*43, gornja granica provere 300 s)