Direct naar inhoud
Bouwhuis IT
// SIP-registratie

SIP-registratie mislukt: toestel of trunk komt niet online

Een toestel dat niet registreert of een trunk die op unreachable blijft staan, geeft gelukkig bijna altijd een duidelijke foutcode terug. Die code vertelt precies waar je moet zoeken, zolang je weet wat hij betekent.

Loop je hier nu tegenaan?

Bel of mail en leg het voor. Neem ik niet op, stuur dan even een mail.

Herken je dit?

  • Toestel blijft op Registering of Registration failed staan.
  • In Asterisk staat de trunk op Unreachable of Unavailable.
  • Uitbellen lukt niet, inbellen komt niet binnen.
  • Het werkte, en na een wijziging bij de provider of in de firewall niet meer.
  • Registratie valt elke paar minuten weg en komt daarna weer terug.

Waar het meestal aan ligt

In verreweg de meeste gevallen is het één van deze. Loop ze in deze volgorde na.

[403]

403 Forbidden — inloggegevens of IP niet geaccepteerd

De andere kant kent je wel, maar accepteert je niet. Fout wachtwoord, verkeerde username, of — bij IP-authenticatie — registreer je vanaf een IP dat niet op de whitelist van de provider staat.

[401]

401/407 die blijft terugkomen

Eén 401 is normaal: dat is de challenge. Blijft hij herhalen, dan klopt meestal de username of het wachtwoord niet. Veel servers sturen dan geen 403 maar gewoon weer een challenge. Daarna pas een verkeerde realm of een SIP ALG die het bericht onderweg herschrijft.

[408]

408 of geen antwoord — het pakket komt niet aan

Geen reactie betekent dat je registratie de andere kant niet bereikt of het antwoord jou niet. Firewall, verkeerde poort, verkeerde host of een provider die alleen TLS op 5061 accepteert.

[488]

488 of 606 bij de eerste INVITE

Registratie lukt, gesprek niet: de codec- of media-onderhandeling klopt niet. Vaak een codeclijst die niet overlapt, of SRTP dat aan één kant verplicht is.

[DNS]

SRV-records of DNS die niet klopt

Veel providers geven een hostname die via SRV naar meerdere servers wijst. Resolvet jouw centrale die niet (of alleen A-records), dan probeert hij de verkeerde poort of server.

[NAT]

Registratie valt periodiek weg

Als de NAT-sessie in je firewall sneller verloopt dan het registratie-interval, verdwijnt het toestel tussentijds. Qualify/keepalive korter zetten dan de UDP-timeout van je firewall lost dat op.

Wat ik als eerste check

Doe deze stappen zelf, of bel en dan lopen we ze samen door.

  1. 1

    Lees de daadwerkelijke foutcode

    Zet in de Asterisk-CLI pjsip set logger on (of sip set debug on bij chan_sip) aan en kijk wat er terugkomt. Elke code stuurt je een andere kant op; zonder code ben je aan het gokken.

  2. 2

    Controleer de status van de trunk

    Met pjsip show registrations en pjsip show endpoints zie je of de registratie is verzonden en wat de laatste status is. Bij chan_sip is dat sip show registry en sip show peers.

  3. 3

    Test of de provider überhaupt antwoordt

    Stuur vanaf de centrale een OPTIONS met sipsak -s sip:sip.provider.nl en kijk mee met sngrep. Een nc -u zegt hier niets, want UDP kent geen handshake. Komt er geen antwoord, dan is het waarschijnlijk netwerk of firewall. Sommige providers negeren OPTIONS van onbekende adressen, dus vraag dat na voor je gaat sleutelen.

  4. 4

    Kijk of DNS het juiste antwoord geeft

    Met dig SRV _sip._udp.provider.nl en dig A sip.provider.nl controleer je of je centrale bij de juiste server en poort uitkomt.

  5. 5

    Zet SIP ALG uit en test opnieuw

    Een ALG die berichten herschrijft veroorzaakt precies dit soort onverklaarbare 401- en 403-antwoorden. Uitzetten, toestellen herstarten, opnieuw testen.

  6. 6

    Vergelijk met één werkend toestel

    Werkt één toestel wel en een ander niet, dan is de configuratie op de centrale waarschijnlijk goed en zit het verschil in het toestel of in het netwerkpad ernaartoe.

De foutcode is je diagnose

Bij SIP-registratie hoef je zelden te gokken. De andere kant zegt in de meeste gevallen letterlijk wat er mis is; het probleem is dat die boodschap in de logs staat en niet in de GUI waar je zit te kijken. Zet de logger aan, bel één keer, lees terug: in vijf minuten weet je of het om credentials, netwerk of onderhandeling gaat.

Wat het lastig maakt, zijn de gevallen waarin twee dingen tegelijk spelen — bijvoorbeeld een provider die naar TLS is overgestapt terwijl jouw firewall alleen UDP doorlaat. Dan zie je een timeout die op een netwerkprobleem lijkt, terwijl het een transportkeuze is.

Kom je er niet uit?

Stuur me de trace of geef me tijdelijk toegang tot de centrale. Ik zeg je welke kant het laat liggen, en als dat de provider is, krijg je de onderbouwing mee.

Veelgestelde vragen

Wat betekent 403 Forbidden precies?
Dat de server je verzoek begrijpt en weigert. Meestal het wachtwoord of de username, maar bij providers die op IP-adres authenticeren betekent het vaak dat je vanaf een ander IP komt dan is afgesproken — bijvoorbeeld na een wissel van internetverbinding.
De trunk staat op unreachable, maar ik kan de provider pingen.
Ping zegt niets over SIP. Unreachable betekent dat de qualify-OPTIONS niet worden geantwoord. Dat kan een geblokkeerde poort zijn, een verkeerd transport (UDP versus TLS) of een provider die geen OPTIONS antwoordt — in dat laatste geval kun je qualify uitzetten.
Registratie valt elke paar minuten weg. Hoe kan dat?
Bijna altijd een NAT-timeout: je firewall ruimt de UDP-sessie op voordat het volgende registratiebericht komt. Zet de keepalive korter dan de UDP-timeout van de firewall, die vaak rond de 30 seconden ligt (keep_alive_interval in pjsip, qualify in chan_sip). Het registratie-interval zelf laat je staan: veel providers weigeren een te korte expiry met een 423.
Kun je dit op afstand bekijken?
Ja. Met toegang tot de CLI en één trace kan ik zien of het aan jouw kant of aan de provider ligt.

Verwante problemen

Wil je dit bespreken?

Bel of mail met je vraag. Neem ik niet op, stuur dan even een mail.

Terug naar Asterisk- en VoIP-specialist

Bel 053 744 0920Mail