Odoo VoIP instellen: van Telefoon-app tot werkende extensies
Zo zet je Odoo VoIP op: de Telefoon-app installeren, SIP-gegevens invullen, extensies koppelen, testen en de AVG regelen. Odoo is je werkplek en de cloud-PBX regelt de telefonie.
E.164 schrijft elk telefoonnummer als plusteken, landcode en nummer zonder voorloopnul. Zo zet je het formaat door in je CRM, sip trunk en click-to-call.
E.164 is de internationale notatie voor telefoonnummers: een plusteken, de landcode en het nationale nummer zonder voorloopnul, aaneengeschreven. Een Nederlands mobiel nummer als 06 12 34 56 78 wordt daarmee +31612345678, een Belgisch 0470 12 34 56 wordt +32470123456. Met die ene notatie spreken je CRM, je cloud-PBX en je sip trunk dezelfde taal.
In de praktijk gaat het vaak anders. Een klant belt vanuit het buitenland en het terugbellen mislukt. In het CRM staat zijn nummer drie keer: als 06 12 34 56 78, als 0612345678 en als +31 (0)6 12345678. De cloud-PBX kiest de ene waarde, de CRM-koppeling zoekt op een andere, en niemand ziet meteen waar de keten breekt. Deze gids is geschreven voor IT-integrators, telecomresellers en IT-afdelingen die meerdere vestigingen bedienen. Hij legt de norm uit en laat zien hoe je hem doortrekt naar elke koppeling.

E.164 is de aanbeveling van de International Telecommunication Union (ITU) die het wereldwijde nummerplan vastlegt. Elk nationaal nummerplan, ook het Nederlandse en het Belgische, valt eronder. Een E.164-nummer bestaat uit twee delen: de landcode van één tot drie cijfers en het nationale nummer. Samen tellen ze hooguit 15 cijfers. Het plusteken telt daarbij niet mee, en een internationaal toegangsnummer zoals 00 hoort er evenmin bij. De volledige tekst lees je in de E.164-aanbeveling van de ITU.
Vier regels bepalen de notatie:
Een plusteken vooraan. Het vervangt de 00 die je vanuit het buitenland kiest.
De landcode. 31 voor Nederland, 32 voor België.
Het nummer zonder binnenlandse voorloopnul. De 0 waarmee je in Nederland of België een netnummer of 06 kiest, valt weg.
Geen scheidingstekens. Spaties, streepjes, punten en haakjes horen niet in de opgeslagen waarde.
| Nummer zoals je het kiest | E.164-notatie |
|---|---|
| Nederland, mobiel: 06 12 34 56 78 | +31612345678 |
| Nederland, vast (Amsterdam): 020 123 4567 | +31201234567 |
| België, mobiel: 0470 12 34 56 | +32470123456 |
| België, vast (Brussel): 02 123 45 67 | +3221234567 |
De Nederlandse notatie +31 (0)6 12345678 verdient aparte aandacht. Die (0) laat een binnenlandse beller zien welke nul hij moet kiezen, en in E.164 verdwijnt hij. Een script dat alleen de haakjes en spaties weghaalt, maakt er +310612345678 van. Dat nummer bestaat niet, en het CRM vindt er ook geen contact bij.

Bepaal het land. Je pipeline moet weten of een waarde Nederlands, Belgisch, uit een ander land of al internationaal is. Een waarde met een plusteken vooraan bevat zelf haar landcode. Daarop leg je dus geen standaardland.
Voeg de landcode toe of controleer hem. Een binnenlands ingevoerd Nederlands nummer krijgt +31. Een waarde die al met +31 begint, krijgt geen tweede landcode.
Verwijder de voorloopnul volgens het nummerplan van dat land. In Nederland en België valt de nul weg. In Italië blijft de nul van een vast nummer juist staan (+39 06 voor Rome). De regel komt daarom uit het nummerplan van elk land en geldt nooit blind voor alle nummers.
Haal de scheidingstekens weg. Je bewaart de canonieke waarde aaneengesloten. Een leesbare versie met spaties maak je apart aan voor het scherm.
Een telefoonnummer is een tekenreeks, geen getal. Sla je het op als integer, dan verlies je het plusteken en elke betekenisvolle nul in andere nummerplannen, en daarmee ook de mogelijkheid om het nummer terug te lezen. Bewaar het daarom in een tekstveld. Ernaast kun je een weergavewaarde zetten die het nummer leesbaar opdeelt voor gebruikers.
Sla één canonieke waarde op voor de systemen en toon mensen een leesbare versie van datzelfde nummer.

Begin met een inventaris van wat er in het bestand staat. Een CRM bevat doorgaans mobiele en vaste nummers, buitenlandse lijnen, interne toestelnummers en vrije tekst als "bel de receptie". Eén regel die op al die waarden tegelijk losgaat, maakt van een foute invoer een waarde die er geldig uitziet.
Houd voor elk nummer drie velden bij: de ontvangen waarde, de geïnterpreteerde waarde en de canonieke waarde. Hierdoor kun je elke omzetting achteraf terugvolgen.
Bewaar de oorspronkelijke invoer. De geïmporteerde waarde blijft beschikbaar voor audit, handmatige correctie en de uitleg van een latere fout.
Bepaal het land. Het land komt uit een apart veld, uit de landcode of uit de context van het formulier. Ontbreekt betrouwbare informatie, dan gaat de waarde naar een controlewachtrij.
Schoon een werkkopie op. Spaties, streepjes, punten en haakjes gaan eruit. Het plusteken blijft staan als het werkelijk een landcode inleidt.
Pas de landregel toe. Een binnenlands Nederlands nummer krijgt +31 en verliest de nul. Een waarde die al internationaal is, slaat deze stap over.
Valideer de structuur. De controle kijkt naar de landcode, de maximale lengte van 15 cijfers, de aaneengesloten notatie en het verwachte type nummer.
Ontdubbel pas na de normalisatie. Twee waarden die er vooraf verschillend uitzien, blijken achteraf vaak hetzelfde nummer. Vergelijk daarom op de canonieke waarde.
Een reguliere expressie controleert de vorm van een nummer. Of de lijn is uitgegeven, wie de houder is en of hij op dit moment bereikbaar is, blijkt eruit niet. Daarvoor heb je een belpoging of een opzoeking bij de operator nodig.
Elke waarde krijgt een status waarmee een applicatie iets kan: geldig, te controleren, onvolledig, land ontbreekt, of past niet bij het verwachte type. Het CRM laat alleen geldige nummers door naar de kiesfunctie.
Bij internationale bedrijven leid je de landcode niet af uit het factuurland van het account. Een servicecentrum in Brussel beheert misschien Nederlandse contacten, en een webformulier ontvangt invoer uit verschillende landen. Land, canoniek nummer en bron van de invoer blijven daarom drie aparte velden.
Log bij elke omzetting de toegepaste regel, de datum en het systeem dat de wijziging deed. Met die audittrail kan een integrator later uitleggen waarom twee contacten zijn samengevoegd, waarom een gesprek niet werd opgezet of waarom een synchronisatie een waarde veranderde.

Het CRM zoekt een contactkaart op, past verkoopregels toe en bewaart de historie. De cloud-PBX kiest, ontvangt, routeert en toont wie er belt. Beide systemen werken op hetzelfde nummer, en E.164 is de waarde waarover ze het eens worden.
| Onderdeel | Wat het van het nummer nodig heeft | Wat er misgaat bij gemengde notaties |
|---|---|---|
| CRM | Een contactkaart vinden en dubbelingen voorkomen | Beller niet herkend of dubbel aangemaakt |
| Sip trunk | Een bestemming die routeerbaar is | Gesprek mislukt of loopt verkeerd |
| API | Een vaste waarde tussen applicaties | Afwijzing, onvoorspelbare omzetting, geen match |
| Click-to-call | Een kiesbare waarde achter de link | Verkeerd of geen nummer gekozen |
| Centraal adresboek | Meerdere tools tegelijk voeden | Elke tool toont een andere versie |
Je slaat canoniek op, en elk scherm mag het nummer toch leesbaar tonen. Het CRM toont spaties, de softphone een opgedeelde versie, en de API geeft de E.164-waarde door. Bij click-to-call zet je de omzetting vóór het kiezen, zodat de PBX altijd een genormaliseerde waarde ontvangt.
Leg ook de bron van de waarheid vast. Kunnen zowel het CRM als de PBX een nummer wijzigen, dan heb je een vaste procedure voor conflicten nodig. Ontbreekt die, dan zet een gebruiker er een lokale notatie terug nadat de pipeline al gelopen heeft.
Bij Voxbi zitten de koppelingen met Odoo en Microsoft 365 en de API in Voxbi Plus, Voxbi Plus AI en Voxbi Channel. In Voxbi Managed krijg je API-toegang vanaf Voxbi Professional. Odoo komt daar voor €29.50 per maand bij, gerekend per telefooncentrale.
Gesprekken, opnames, logs, aanwezigheidsgegevens en metadata zeggen veel over je klantrelaties. De AVG vraagt beveiliging die past bij dat risico en stelt regels voor doorgifte buiten de Europese Economische Ruimte. Een cloud-PBX die in de Europese Unie draait, maakt de doorgiftevraag eenvoudiger. Je toetst daarnaast nog steeds de subverwerkers, de beheerderstoegang, de versleuteling, de bewaartermijnen en de verwijderprocedures. Hoe je die toets voor telefonie opzet, lees je in AVG telefonie: grondslagen, DPIA en bewaartermijnen.
Voxbi is gebouwd en gehost in de Europese Unie, dus je gesprekken en gegevens blijven binnen de grenzen van de Europese Unie. Welke verplichtingen voor jouw project gelden, stel je vast aan de hand van het contract en de technische opzet.
E.164 beschrijft hoe een nummer eruitziet. Nummerbehoud bepaalt of je dat nummer meeneemt naar een nieuwe provider. Bij een migratie komen de twee samen, en elk heeft een eigen controle nodig. Hoe de overstap verloopt, staat in de gids over nummerbehoud voor bedrijven.
Deze fouten houden migraties het vaakst op:
De landcode als bewijs van overdraagbaarheid lezen. Een correct +31-nummer kan nog steeds aan een contract of operator vastzitten waarvan het niet zomaar los kan.
Alleen de syntax controleren. Een correct genoteerd nummer kan inactief zijn, op een andere naam staan of buiten het gevraagde overzetverzoek vallen.
Zonder overzicht beginnen. Groepeer de nummers per land, huidige operator, type dienst en vestiging.
Het formaat tijdens de overstap veranderen. Houd de normalisatie stabiel, zodat je oude en nieuwe systeem regel voor regel naast elkaar kunt leggen.
Een controle op overdraagbaarheid hoort daarom vóór de technische omschakeling. Je controleert de benodigde documenten, of de houder overeenkomt met de aanvraag, en het plan voor bereikbaarheid tijdens de overstap. Het E.164-nummer is daarbij de gemeenschappelijke sleutel, en de beslissing over het overzetten ligt bij het dossier van de operator.
Nummerweergave is weer een apart onderwerp. Je onderscheidt het nummer waarmee het gesprek werkelijk loopt, het nummer dat de ontvanger ziet, en wat de operator daarbij toestaat. De gids over bellen met een ander nummer zet die drie naast elkaar.
Een schoon adresboek blijft alleen schoon als de normalisatie in je beheerproces zit. Formulieren, imports, connectoren en beheerschermen die elk hun eigen logica toepassen, laten het adresboek binnen een paar maanden weer verlopen.
Daarom wijst de IT-afdeling één bron van de waarheid aan, legt de omzettingsregels vast en eist de canonieke notatie bij elke uitwisseling. Verkopers blijven gewoon intypen wat ze gewend zijn, en het systeem zet de waarde om voordat het die opslaat of doorstuurt. Integrators en resellers nemen dezelfde regels op in hun uitrolsjablonen, acceptatietests en supportprocedures.
Begeleide invoer. Het formulier vraagt het land en voorkomt verwarring tussen binnenlandse en internationale notatie.
Beschermde canonieke waarde. Gebruikers mogen de context corrigeren, en de waarde die de API en de kiesfunctie gebruiken, volgt een vaste regel.
Periodieke audit. Bekijk afwijzingen, dubbelingen, onvolledige waarden en verschillen tussen CRM en PBX.
Beperkte toegang. Alleen de rollen die het nodig hebben, wijzigen nummers, routeringsregels en gespreksgegevens.
Vastgelegde procedures. Elke migratie beschrijft het verwachte formaat, de bron van de waarheid, de uitzonderingen per land en de afhandeling van fouten.
Hosting in de Europese Unie is één onderdeel van AVG-naleving. Doelen, toegang, bewaring, subverwerkers en doorgifte regel je daarnaast zelf, en die combinatie bepaalt hoeveel controle je echt over je gegevens hebt.
Het resultaat is een adresboek dat je CRM, je cloud-PBX en je kiestools voedt zonder dat iemand nummers telkens opnieuw hoeft te interpreteren. Voor een integrator betekent dat minder storingen die lastig te herleiden zijn, en migraties die zich laten herhalen. Leg de vier controles vast als één gedeelde regel voor elk systeem dat een nummer aanraakt. Wil je weten hoe Voxbi daarin past, mail dan naar hello@voxbi.com.
Start een gratis proefperiode of werk samen met een gecertificeerde Voxbi-partner.