SIP koppeling aan SpeakUp via Registrar
SpeakUp gebruikt het SIP protocol met een registrar om centrales achter NAT en toestellen te koppelen. In dit document wordt uitgelegd hoe deze koppeling kan worden opgezet. Deze handleiding is uitsluitend bedoeld voor centrales achter NAT of met dynamisch IP en losse toestellen (Passport dienst). Voor overige mogelijkheden, zie connecties.
Registrars
SpeakUp heeft meerdere SIP registrars waaraan gekoppeld kan worden. Deze zijn via DNS d.m.v. SRV records te vinden. Hierdoor wordt automatisch in een failover scenario voorzien. Als hostname voor de registrar/proxy moet alg.sip.speakup.nl gebruikt worden.
Indien uw platform geen SRV records ondersteunt, zal alg.sip.speakup.nl meerdere A records teruggeven. Of hierbij ook failover optreedt bij het onbereikbaar zijn van 1 van de proxies is afhankelijk van uw platform / toestel.
Belangrijk is dat de RTP data (audio signaal) vanaf (en naar) elk systeem binnen en buiten het SpeakUp netwerk kan komen (en gaan). Een eventuele firewall moet hierop voorbereid zijn.
Benodigde configuratie:
Registrar/proxy: alg.sip.speakup.nl
Username: <telefoonnummer als opgegeven door SpeakUp>
Password: <wachtwoord als opgegeven door SpeakUp>
Indien er meerdere nummers aan het account gekoppeld zijn, dient u erop te letten dat de accountnaam wordt ingevuld bij 'Authentication user' of equivalent.
De registratietijd moet minimaal 10 min zijn. Vaker registreren wordt niet ondersteund.
Registratie meerdere toestellen
Het is mogelijk om op 1 account meerdere toestellen te registreren. In de registratie is een q-waarde (waarde -1..1) op te geven die de volgorde van de toestellen bepaalt. Toestellen met gelijke q-waarde zullen tegelijk overgaan, verschillende na elkaar, van laag naar hoog. Indien geen q-waarde wordt opgegeven, zetten wij deze op 0.
NAT
SIP achter NAT is niet een optimale situatie. Een korte uitleg van SIP achtr NAT en de mogelijke problemen vind je hier (engelstalig).
De SpeakUp registrar ondersteund SIP achter NAT onder de volgende voorwaarden:
- De NAT is symmetrisch
- Het SIP pakketje dient, bij aankomst op de registrar, IP adressen uit de rfc1918 reeks bevatten op de volgende plaatsen:
- 1e Via header
- Contact header
- alle c= adressen in de SDP
- Het toestel stuurt zelf regelmatig NOTIFY of OPTIONS (keep-alive) pakketjes om de NAT mapping op de NAT router open te houden.
Indien niet aan deze voorwaarden voldaan wordt, kan dit zich uiten in:
- Geen inkomende gesprekken
- Gesprekken worden na 20 sec afgebroken
- Geen audio
- Audio 1 kant op
De juiste configuratie van toestellen en routers valt onder de verantwoordelijkheid van de klant. SpeakUp kan hierbij hoogstens assisteren. De meest voorkomende oorzaken van problemen zijn:
- Toestel achterhaalt het publieke IP adres en gebruikt dit. Onze registrar kan dan geen NAT detecteren en houdt er dan ook geen rekening mee. Gevolgen: geen of eenzijdig audio.
- Router herschrijft de rfc1918 adressen met het publieke adres. Dit hoeft geen probleem te zijn zolang de router ook de corresponderende NAT mappings aanmaakt. In de praktijk gaat dit bijna altijd mis. Gevolgen, zie bovenstaand punt.
- Toestel stuurt geen keep-alive. Gevolgen: geen inkomende gesprekken, gesprek na 20 sec afgebroken, niet correct beëindigde gesprekken.
Authenticatie
Voor het ontvangen van oproepen dient het toestel geregistreerd te zijn. Voor de registratie en uitgaande gesprekken moet u authenticeren met een gebruikersnaam/wachtwoordcombinatie.
Bellen
Uitgaande gesprekken moeten altijd voorzien zijn van een geldig CallerID nummer (in e.164 formaat). Dit wil zeggen dat het CallerID-nummer één van de aan het account toegewezen nummers moet zijn. Indien er geen of een ongeldig CallerID-nummer wordt meegestuurd, reageert de proxy met "403 Invalid CallerID". De CallerID-naam mag willekeurig zijn.
Nummeronderdrukking
Nummeronderdrukking wordt op 2 manieren ondersteund:
- Voor recente (sinds ca. 2003) SIP applicaties die de diverse SIP standaarden ondersteunen wordt rfc3325 (gedeeltelijk) ondersteund.
- In de header "P-Preferred-Identity" moet een geldig CallerID worden opgegeven (als SIP-uri)
- De header "Privacy" moet de waarde id bevatten
- In de "From" header mag nu iets anoniems staan, bij voorkeur "Anonymous <anonymous@anonymous.invalid>"
- Let op dat de From ongewijzigd doorgegeven wordt bij gebruik van rfc3325.
Voorbeeld:
From: Anonymous <anonymous@anonymous.invalid>
P-Preferred-Identity: SpeakUp <1234567890@speakup.nl>
Privacy: id
- Voor applicaties die dit niet ondersteunen kunt u door naast een geldig CallerID-nummer in de From username als "Display Name" de waarde 'Anonymous' te gebruiken.
Voorbeeld:
From: Anonymous <1234567890@speakup.nl>
(Nummeronderdrukking bieden we aan op 'best-effort' basis, we kunnen hier geen garanties op geven)
- Op het moment dat de P-Preferred-Identity header aanwezig is in de request, wordt er van uitgegaan dat rfc3325 ondersteund wordt. Andere methoden voor nummeronderdrukking vervallen dan.

