C cenaly.com
Gratis starten

Oproep wordt verbroken: na 30 seconden, na 15–30 minuten

Verbinding verbroken op seconde 32 (geen ACK), na 15–30 minuten (sessietimers), inkomende oproepen werken alleen de eerste minuten na inschakelen — mechanisme en oplossing

15 min read Dit scherm openen in de demo
On this page 21

Gesprek wordt verbroken: na 30 seconden, na 15–30 minuten

Een onderbreking „precies na zoveel tijd” is geen slechte verbinding, maar een timer: een van beide partijen wachtte op iets, kreeg het niet en verbrak eerlijk de verbinding. Daarom is de oorzaak op basis van het tijdstip van de onderbreking bijna met zekerheid te noemen: ~32 seconden — de bevestiging van het begin van het gesprek kwam niet aan; ~15 of ~30 minuten — de verlenging van het gesprek ging niet door; inkomende gesprekken werken alleen de eerste minuten — de router sloot de weg naar de telefoon. Hieronder staat het mechanisme van elk geval in woorden en wat u moet doen.

De algemene instelling van telefoons staat in het overzicht „SIP-telefoons instellen”, de overige symptomen in de diagnose op symptomen.

Controleer eerst in de beheeromgeving#

  1. Gesprekslogboek — open het verbroken gesprek. „Gesprek” toont de duur tot op de seconde nauwkeurig: 0:31–0:33 — het handschrift van het eerste geval, ongeveer 15:00 of 29:30 — van het tweede. Daar staat ook „Heeft opgehangen” (de beller, de medewerker of de telefooncentrale) en „Reden van beëindiging”.
  2. Echotest *43, maar lang: kies het nummer en houd de hoorn 45 seconden vast. *43 is ook een gesprek, en de bevestiging van het begin van het gesprek legt daarin hetzelfde traject af. Verbroken op de 32e seconde — een storing tussen de telefoon en de telefooncentrale; hield het stand — dan zijn de telefoon en het netwerk van de vestiging in orde, zoek verder (externe gesprekken, telecomaanbieder).
  3. Apparaatkaart → „Werking”: regelmatige storingen „geen verbinding” — de router sluit de terugweg naar de telefoon (zie het derde geval).
  4. „Naar het apparaat bellen” op de kaart, 10 minuten na het laatste gesprek: ging het over — de weg naar de telefoon is in orde; blijft het stil terwijl de status groen is — dan is het de router.
  5. SIP-trace op een toegewezen telefooncentrale: een terugkerende 200 OK zonder ACK, daarna BYE — het eerste geval; BYE na INVITE of UPDATE midden in het gesprek — het tweede.

Onderbreking na 30–32 seconden#

Waarom dat gebeurt#

Het begin van een gesprek is een handdruk van drie berichten: „ik bel” (INVITE) — „er is opgenomen” (200 OK) — „begrepen, we beginnen” (ACK). De partij die heeft opgenomen, herhaalt haar „er is opgenomen” tot ze „begrepen” ontvangt. De regel van het SIP-protocol: als „begrepen” niet binnen 64 × T1 = 64 × 0,5 s = 32 seconden is aangekomen, moet het gesprek worden beëindigd. De spraak gaat dan al door — daarom is de eerste halve minuut alles in orde en valt het gesprek daarna vanzelf weg.

Een onderbreking op de 32e seconde betekent dus: de ACK-bevestiging gaat ergens verloren. Waarom — van vaak voorkomend naar zeldzaam:

  1. SIP ALG op de router. De router herschrijft adressen in de besturingsberichten, en de bevestiging gaat naar de verkeerde plek of wordt weggegooid. Het eerste dat u altijd moet controleren.
  2. Een te groot pakket. Als er tientallen codecs in de telefoon zijn ingeschakeld, groeit de beschrijving van het gesprek tot meer dan ~1300 bytes, en via UDP wordt die in „stukjes” (fragmenten) verzonden. Veel routers en firewalls gooien fragmenten stilzwijgend weg — juist dat bericht gaat verloren. Het SIP-protocol schrijft voor zulke berichten uitdrukkelijk TCP voor.
  3. Een intern adres in de berichten. De telefoon vermeldt een intern adres (192.168.x.x) over zichzelf, en de bevestiging wordt daarheen gestuurd. Onze telefooncentrale corrigeert dit zelf — ze antwoordt naar de plek vanwaar het bericht werkelijk kwam — maar bij de telecomaanbieder is zo'n bescherming er misschien niet: dan worden alleen externe gesprekken verbroken.
  4. Dubbele NAT of een strikte firewall die de eerste berichten van het gesprek doorlaat en de volgende blokkeert.
Voor de netwerkbeheerder: welke partij de verbinding verbreekt

Volgens RFC 3261 (§13.3.1.4) herhaalt de partij die 200 OK heeft geantwoord dit met een interval van T1 tot T2 en beëindigt ze na 64 × T1 zonder ACK de sessie met een BYE-verzoek; T1 is standaard 500 ms (§17.1.1.1), vandaar 32 seconden.

  • Inkomend gesprek naar de telefoon: 200 OK wordt door de telefoon verstuurd, ACK — door de telefooncentrale. Is de ACK onderweg naar de telefoon verloren gegaan — dan verbreekt de telefoon de verbinding.
  • Uitgaand vanaf de telefoon en *43: 200 OK wordt door de telefooncentrale verstuurd, ACK — door de telefoon. Is de ACK onderweg naar de telefooncentrale verloren gegaan — dan verbreekt de telefooncentrale de verbinding.
  • Fragmentatie: RFC 3261 §18.1.1 — als een verzoek langer is dan 1300 bytes (of binnen 200 bytes van de MTU van het traject), moet de client het via TCP met congestion control versturen. Onze telefooncentrale accepteert TCP op dezelfde poort 5060.

Wat u moet doen#

Herhaal na elke stap de lange *43 (45 seconden) en een testgesprek; ga verder — alleen als het niet heeft geholpen.

  1. Schakel SIP ALG uit op de router („SIP Helper”, „SIP Passthrough”, „ALG voor SIP”) en herstart de router. Waar u die bij populaire merken vindt — „Netwerk, router en internet”.
  2. Laat drie codecs in de telefoon staan — G.711 PCMA, G.711 PCMU en G.722 — en schakel de rest uit: de berichten worden korter en worden niet meer opgedeeld.
  3. Schakel het transport om naar TCP (dezelfde poort, 5060), als stap 2 niet heeft geholpen: TCP knipt lange berichten zelf op de juiste manier op, en de fragmentatie verdwijnt. Onze telefooncentrale accepteert zowel UDP als TCP.
  4. Alleen externe gesprekken worden verbroken, terwijl *43 en interne gesprekken standhouden — een storing tussen de telefooncentrale en de telecomaanbieder. Stuur de tijdstippen van een paar verbroken gesprekken naar de support.
  5. Verwijder dubbele NAT — zet de router van de provider in bridgemodus of sluit de telefoon er rechtstreeks op aan.

Onderbreking na 15 of 30 minuten#

Waarom dit gebeurt#

Tijdens een lang gesprek bevestigen beide partijen af en toe dat het gesprek nog loopt — dat zijn de sessietimers. Het interval wordt aan het begin van het gesprek afgesproken; de ene partij verplicht zich het gesprek halverwege het interval te „verlengen”, de andere wacht op die verlenging. Op onze telefooncentrale staan de sessietimers aan met een interval van 1800 seconden (30 minuten); ze zijn nodig zodat een gesprek waarin de verbinding stil is weggevallen niet uren blijft hangen en de lijn bezet houdt.

Daaruit volgen twee patronen:

  • rond 15 minuten — halverwege het interval is de verlenging verstuurd, maar niet aangekomen: de partij heeft hem afgewezen of geen antwoord gekregen;
  • rond 29,5 minuten — er was helemaal geen verlenging, en de partij die erop wachtte, hing iets vóór het verstrijken van het interval op.

Waarom de verlenging niet aankomt:

  1. De router heeft de weg voor de signaleringsberichten gesloten. Tijdens het gesprek loopt de spraak ononderbroken, maar de signaleringsberichten blijven stil. Als keep-alive op het toestel uitstaat, sluit de router na enkele minuten de „deur” voor signaleringsberichten — en dan bereikt de verlenging van de centrale het toestel niet meer.
  2. Het toestel begrijpt de manier van verlengen niet of wijst die af — oude firmware, „Session Timer” aan met niet-standaard parameters.
  3. SIP ALG verminkt het verlengingsbericht.
  4. De timer van de provider — als alleen externe gesprekken wegvallen en altijd op dezelfde minuut.

De centrale schakelt de timers tijdens het gesprek alleen in als het toestel ze ook ondersteunt ⚠️ verify. Bij de meeste desktoestellen staat „Session Timer” fabrieksmatig uit (bij Yealink en Grandstream volgens de documentatie), en dan zijn er tijdens het gesprek helemaal geen timers.

Voor de netwerkbeheerder: waarden aan de kant van de centrale
  • timers=yes — timers worden ondersteund; timers_sess_expires=1800 — interval 1800 s; timers_min_se=90 — minder dan 90 s accepteert de centrale niet (shared/sip/advanced-options.json, groep protocol).
  • Volgens RFC 4028 wordt de verlenging halverwege het interval verstuurd (900 s), en de partij die hem niet ontvangt, beëindigt de sessie met BYE min(32 s, interval / 3) vóór het verstrijken — rond 1768 s.
  • De centrale verbreekt niet bij stilte (rtp_timeout=0), dus een „gesprek zonder geluid” wordt op zichzelf niet verbroken.
  • Op een eigen centrale staan dezelfde waarden in „Geavanceerde SIP-instellingen” („Sessietimers”, „Sessievernieuwing, seconden”). U hoeft ze niet te wijzigen zonder verzoek van de provider.

Wat te doen#

  1. Schakel keep-alive in op het toestel — dat houdt de weg voor signaleringsberichten ook tijdens het gesprek open. Yealink: Account → Advanced → Keep Alive Type (Default of Options) en Keep Alive Interval — 30 s (fabriekswaarde).
  2. Schakel SIP ALG uit op de router.
  3. Als „Session Timer” op het toestel is ingeschakeld — zet de fabriekswaarde terug (uit) of stel een interval van 1800 s in: Yealink — Account → Advanced → Session Timer / Session Expires; Grandstream — Account → SIP Settings → Session Timer (Enable Session Timer, Session Expiration).
  4. Werk de firmware van het toestel bij — fouten bij het verlengen van gesprekken zijn vaak verholpen in nieuwe versies.
  5. Vallen alleen externe gesprekken weg, op steeds dezelfde minuut — stuur de tijden van de gesprekken naar de support: wij vergelijken de timers met de provider.

Inkomende gesprekken werken alleen de eerste minuten na het inschakelen#

Waarom dit gebeurt#

Het toestel staat achter een router, en de centrale kan het alleen bereiken via de „deur” die het toestel met zijn laatste bericht heeft geopend. De router houdt zulke deuren niet lang open — bij huishoudrouters van een halve minuut tot enkele minuten stilte — en sluit ze daarna. Zolang het toestel vaak iets verstuurt (registratie direct na het inschakelen, keep-alive), blijft de deur open. Zodra het stil wordt, gaat de deur dicht, en een inkomend gesprek van de centrale stuit op de router.

De vestiging in de admin kan daarbij groen blijven: de registratie vernieuwt het toestel zelf, van binnenuit, en die lukt, maar van buitenaf bij het toestel binnenkomen kan niet meer. Een herstart „geneest” het omdat de deur opnieuw wordt geopend — tijdelijk.

Onze centrale controleert aan haar kant elke 60 seconden elk toestel met de vraag „ben je er nog?”: ook dat tegengestelde pakket houdt de deur open — maar alleen als de router hem pas na meer dan een minuut sluit. Reageert het toestel niet, dan beschouwt de centrale het als onbereikbaar, gaat de vestiging uit en verschijnt er een storing in „Werking”.

Wat te doen#

Controleer na elke stap een inkomend gesprek na 10 minuten stilte (met de knop „Bel naar toestel” of vanaf een naastgelegen toestelnummer); daarna alleen als het niet heeft geholpen.

  1. Schakel keep-alive in op het toestel met een interval van 20–30 seconden. Yealink: Account → Advanced → Keep Alive Type / Keep Alive Interval (fabriekswaarden Default en 30 s); bij Fanvil — Keep Alive Type in de geavanceerde lijninstellingen.
  2. Schakel SIP ALG uit op de router — die „vergeet” deuren ook graag.
  3. Verkort de registratietermijn in het toestel (Expires / Register Expiration) tot 60–120 seconden — het toestel opent de deur dan vaker zelf. Minder dan 60 accepteert onze centrale niet (423 Interval Too Brief).
  4. Op een eigen centrale kunt u toestellen vaker controleren: „Geavanceerde SIP-instellingen” → „Verbinding controleren, seconden” — 20–30 in plaats van 60. Dat houdt de deur vanaf de kant van de centrale open, maar kost extra signaleringsverkeer; keep-alive op het toestel is betrouwbaarder.
  5. Dubbele NAT (router van de provider + eigen router) — twee deuren, en ze sluiten op verschillende manieren: verwijder er één — „Netwerk, router en internet”.

Onderbreking bij overstap van Wi-Fi naar mobiel internet#

Waarom dit gebeurt#

Het Wi-Fi van de zaak en mobiel internet zijn twee verschillende adressen. Het gesprek begon via het ene adres, en de telefooncentrale onthield aan het begin van het gesprek van welk adres het geluid komt: om veiligheidsredenen accepteert zij geluid alleen vanaf dat adres. Wanneer de smartphone overschakelt naar het mobiele netwerk, komt het geluid vanaf een nieuw adres — en voor de centrale is dat een vreemde stroom, terwijl de signaalberichten naar het oude adres blijven gaan, dat niet meer bestaat. Een gesprek dat in het ene netwerk begon, valt bij de overstap naar een ander netwerk bijna altijd weg. Dit is een beperking van de technologie zelf, geen defect.

De andere kant van hetzelfde: terwijl de smartphone overschakelt, verliest de softphone zijn registratie, en inkomende oproepen komen in die seconden niet aan. Android stelt bovendien achtergrondapps in slaap — meer hierover in het overzicht, het deel over softphones.

Wat u kunt doen#

  1. Wissel tijdens een gesprek niet van netwerk: beëindig het gesprek voordat u het Wi-Fi-bereik verlaat.
  2. Schakel op de smartphone automatisch overschakelen van slecht Wi-Fi naar mobiel internet uit (op iPhone — „Wi-Fi-assistentie”, op Android — „overschakelen naar mobiel netwerk” in de Wi-Fi-instellingen): nu breekt dat het gesprek af op de drempel van het café.
  3. Sta de softphone toe op de achtergrond te werken en schakel de batterijbesparing voor hem uit — dan registreert hij zich sneller opnieuw na een netwerkwissel.
  4. Waar een oproep niet verloren mag gaan (balie, receptie), zet u een tafeltelefoon of DECT-hoorn neer, geen smartphone.

Wat u naar de support kunt sturen#

  • datum en tijd van enkele afgebroken gesprekken tot op de minuut, nummers en toestelnummer;
  • na hoeveel het gesprek afbreekt (volgens het logboek — „Gesprek”) en of dat altijd hetzelfde is;
  • of alle gesprekken afbreken of alleen externe; of een lang *43 (45 seconden) standhoudt;
  • model en firmware van de telefoon (regel uit de tag van het toestel), of keep-alive en Session Timer daarin aanstaan;
  • model van de router, of SIP ALG uitstaat, of er een tweede router van de provider is;
  • op een toegewijde centrale — de tekst van de SIP-trace van een herhaalde onderbreking.

Hoe u ons schrijft — „Support”.

Veelgestelde vragen#

Waarom breekt het juist op de 32e seconde af, en niet op de 30e of de 40e?#

Omdat dat getal in het SIP-protocol zelf zit: op de bevestiging van het begin van het gesprek wordt 64 intervallen van een halve seconde gewacht — 32 seconden. Als u „ongeveer 30 seconden” heeft en dat elke keer hetzelfde is — dan is het dat, zelfs als de stopwatch 31 of 33 aangaf: een deel van de tijd ging naar de beltonen en het antwoord.

SIP ALG staat uit, maar de onderbreking op de 30e seconde blijft — wat nog meer?#

Controleer of ALG op alle routers onderweg uitstaat (bij de router van de provider staat hij vaak apart aan), laat drie codecs in de telefoon staan en probeer transport TCP. Als alleen externe gesprekken afbreken en *43 45 seconden standhoudt, zit het probleem op het traject naar de telecomaanbieder — stuur de tijden van de gesprekken mee.

De vestiging is groen, maar inkomende oproepen komen niet aan — is dat ook een „onderbreking”?#

Dat is hetzelfde mechanisme als in het deel over inkomende oproepen in de eerste minuten: de registratie wordt van binnenuit vernieuwd, maar de deur naar de telefoon van buitenaf is al dicht. De controle — „Naar het toestel bellen” na 10 minuten stilte; de oplossing — keep-alive in de telefoon.

Kunnen de sessietimers op de centrale gewoon worden uitgeschakeld?#

Dat kan (op een toegewijde centrale, „Geavanceerde SIP-instellingen”), maar dat bestrijdt het symptoom, niet de oorzaak: de verlenging lukt niet omdat het pad van de signaalberichten gesloten of beschadigd is, en datzelfde pad is nodig voor het doorverbinden en in de wacht zetten van een oproep. Bovendien blijven zonder timers stil afgebroken gesprekken uren hangen en bezetten lijnen. Eerst keep-alive en SIP ALG.

Gerelateerde secties#

Bronnen#

  • RFC 3261 — SIP: herhaling van 200 OK tot ontvangst van ACK en beëindiging van de sessie na 64 × T1 (§13.3.1.4), T1 = 500 ms (§17.1.1.1), overstap naar TCP voor berichten langer dan 1300 bytes (§18.1.1) — https://www.rfc-editor.org/rfc/rfc3261
  • RFC 4028 — Session Timers: verlenging halverwege het interval, BYE op min(32 s, interval / 3) voor het verstrijken — https://www.rfc-editor.org/rfc/rfc4028
  • Yealink SIP-T2/T3/T4/T5/CP920 Administrator Guide V86.60 — Keep Alive Type / Interval (fabriekswaarden Default, 30 s), Session Timer (fabriekswaarde — uit; Session Expires 1800 s; vernieuwing halverwege het interval)
  • Grandstream GRP261x/262x/263x Administration Guide — Session Timer: Enable Session Timer (fabriekswaarde „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 en beperking van de pakketgrootte, NAT-time-outs van de router — https://www.zoiper.com/pdf/User%20Guide%20Zoiper%205%20v.1.0.7.pdf
  • Code van de centrale: 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 (echotest *43, plafond van de controle 300 s)
Was this article helpful?