Beantwoord

Telefonie via FreePBX

  • 29 March 2020
  • 25 reacties
  • 1306 keer bekeken

Hoi allen,

 

Ik vraag mij af of er al iemand het gelukt is om de KPN-lijn als inkomende/uitgaande lijn op een FreePBX/Asterisk server te configureren.

 

Ik heb geprobeerd om deze als Trunk te configureren, maar ik krijg maar geen DNS antwoord van het adres ims.imscore.net. andere DNS-lookups worden gewoon succesvol voltooid, en ook bij gebruik van de KPN DNS-Servers, krijg ik hiervoor geen IP terug.

icon

Beste antwoord door kjz 7 September 2020, 20:40

Bekijk origineel

25 reacties

Reputatie 7

Er bestaat ook geen dns entry voor ims.imscore.net.

Gebruik je wel voip1-ext.kpn.net als proxy server?

En waarschijnlijk zal je ook een stun server moeten gebruiken.

Hi wjb,
 

De Proxyinstellingen heb ik opgegeven in de instellingen, echter probeert FreePBX toch op te zoeken hoe ims.imscore.net te bereiken, dit lukt echter hier niet door het ontbreken van een geldig record:


De instellingen die ik voor nu gebruikt heb zijn als volgt:

host=ims.imscore.net.
username=aab*********@ims.imscore.net
secret=***
outboundproxy=voip1-ext.kpn.net
outboundproxyport=5060
nat=yes
type=peer

dtmf=rfc2833
disallow=all
allow=alaw
allow=ulaw
allow=g722

Wat betreft STUN, ik heb de instelling binnen FreePBX hiervoor nog niet gevonden.:sweat_smile:

edit: STUN Settings gevonden, dit moet globaal opgegeven worden in Asterisk SIP settings.

Reputatie 7

De SIP server cq proxy moet ook op voip1-ext.kpn.net staan en het SIP domein op ims.imscore.net.

Hoe dat ingesteld moet worden binnen FreePBX weet ik niet.

Reputatie 7
Badge +17

Hoi @EnderWolf, hoe dit in zijn werk gaat met het instellen weet ik ook niet. Hopelijk heb je snel de oplossing gevonden. 

Ben ook zeer bebieuwd of het nu al gelukt is? Ik ben vrij nieuw met freepbx. En krijg dit ook nog niet voor elkaar. 

Badge

Helaas ben ik vooralsnog nog niet verder hiermee gekomen, ik heb dit nog niet werkend gekregen.

Reputatie 7
Badge +17

Ik kan jullie er niet bij helpen. Dit staat helemaal buiten ons. Hopelijk zijn er knappe koppen op dit forum die een idee hebben.

Ik heb inmiddels uitgebreid onderzoek gedaan naar het werkend krijgen van deze oplossing icm FreePBX/Asterisk en uiteindelijk is het me gelukt.

Het voornaamste probleem dat ik heb, is dat de sip proxy authenticatie icm met pjsip niet werkend te krijgen is.
Als je namelijk als outbound proxy sip://+31487123456@imscore.net@voip1-ext.kpn.net invult word de url geweigerd op het eerste @. escapen met quotjes of dubbele quotjes, of een slash werkt ook niet.
Vul je alleen het nummer/gebruikersnaam in of helemaal niks, dan krijg je 407 proxy authentication required terug. Echter staat er geen WWW-Proxy-Authenticate header op het request, waardoor pjsip niet kan bepalen hoe deze moet authenticeren.
In het log zie je hiervan dan ook een melding verschijnen.
Hiervoor heb ik dus moeten terugvallen op het oudere chan sip icm gebruikersnaam en wachtwoord op de proxy url

Probleem 2 is dat FreePBX/Asterisk een lookup probeert te doen op ims.imscore.net wat de realm naam is, en dan faalt chan sip zonder verdere foutmeldingen. Dit is geen echte url die je met dns kan resolven. Workaround is om in /etc/hosts een record toe te voegen die ims.imscore.net verwijst naar het ip adres van de sip proxy.
Ik heb zelf een dns server toegevoegd op de FreePbx box met een cname record naar voip1-ext.kpn.net om hier omheen te werken.

Wat ik heb gedaan is STUN links laten liggen, wand wil niet dan mijn sip verkeer unencrypted het veilige kpn netwerk verlaat naar een of andere stun server met weet ik niet hoeveel (onveilige) hops daar tussen.
Als mijn wachtwoord namelijk in verkeerde handen valt, kan iedereen met mijn account bellen.
Dit heb ik voor elkaar gekregen door de volgende ranges op mijn router te forwarden naar de FreePbx box: 5060-5061,16384-32767
Op poort 5060 draai ik chan_sip en op poort 5061 draai ik het nieuwere pjsip. Mijn Ericsson PTT draaischijftelefoons icm Grandstream 802 ATA en soft clients zitten aangemeld via pjsip. Uitsluitend de kpn aansluiting heb ik op chan_sip aangemeld.
LET OP: Ook heb ik de firewall dermate ingesteld dat alleen het kpn sip server subnet verbinding mag maken, en mijn interne subnet natuurlijk. Mijn soft client op mn mobiel gaat via OpenVPN naar de router en dan naar de sip server.

Om dit geheel werkend te krijgen, voer dan de volgende stappen uit

  1. Ga naar Settings->Asterisk SIP settings
  2. [Optioneel] Zorg dat bij codecs ulaw en g722 op positie 1 en 2 staan
  3. Op het tabblad pjsip zet tls op yes en vul bij udp port to listen on 5061 in. Vul ook bij tls port to listen on 5061 in.
  4. Op het tabblad chan_sip zet NAT op never en enable TLS op No. Vul bij registration settings instellingen in die het beleid van KPN honoreren op het gebied van registratie tijden.
    Registration Timeout = 900
    Registration Attempts = 1
    Registration Minimum Expiry = 1800
    Registration Maximum Expiry = 4000
    Registration Default Expiry = 1800
    Dit voorkomt dat je te veel verzoeken doet en constant 15 min gebanned word door de sip server, totdat je sip uitzet en wacht tot de ban opgeheven word.
    Stel bind port op 5060 in en druk op Save rechtsonderaan de pagina
  5. Ga naar Connectivity->Trunks en voeg een nieuwe chan_sip trunk toe
    Trunk name = eigen verzonnen naam
    Outbound CallerID = telefoonnummer in +31 notatie
  6. Ga naar het tabblad sip settings->subtabblad Outgoing en vul de volgende gegevens in zonder de ; commentaar
    Trunk Name = eigen verzonnen naam voor de trunk zoals trunk_+31487123456_outgoing
    PEER details =
       type=friend
       host=ims.imscore.net
       insecure=port,invite
       username=aaba12345678@ims.imscore.net ; Gebruikernaam uit de kpn service tool
       secret=wachtwoord_kpn_service_tool ; Wachtwoord ingesteld met de KPN service tool
       outboundproxy=voip1-ext.kpn.net
       fromuser=+31487123456 ; Telefoonnummer in +31 notatie
       fromdomain=ims.imscore.net
       context=from-trunk ; Geeft aan dat het een verbinding is die van/naar een trunk endpoint buiten onze telecomcentrale gaat. from-internal zou aangeven dat de verbinding uitsluitend binnen onze centrale plaatsvind.
       disallow=all ; geeft aan dat alle codecs geblokkeerd moeten worden behalve die bij allow
       allow=ulaw&alaw ; Alleen ulaw en alaw gaven bij mij goede gesprekskwaliteit icm vast en mobiel.
  7. Ga naar het subtabblad Incoming en vul de volgende gegevens in zonder de ; commentaar
    Trunk Name = eigen verzonnen naam voor de trunk zoals trunk_+31487123456_incoming
    User Details =
       type=peer
       host=ims.imscore.net
       insecure=port,invite ; Laat ongeauthenticeerde gesprekken van een succesvolle registration toe(De kpn sip server dus)
       context=from-trunk ; Geeft aan dat het een verbinding is die van/naar een trunk endpoint buiten onze telecomcentrale gaat. from-internal zou aangeven dat de verbinding uitsluitend binnen onze centrale plaatsvind.
    Register string = +31487123456@ims.imscore.net:wachtwoord_kpn_service_tool:"aaba12345678@ims.imscore.net"@voip1-ext.kpn.net/+31487123456 ; telefoonnummers in +31 notatie, gebruikersnaam en wachtwoord uit de kpn service tool. De registration zorgt dat kpn weet waar gesprekken naartoe verstuurd moeten worden. het nummer achter de url geeft bij de sip server aan dat het met dat unieke id moet registreren bij FreePbx. Dit is noodzakelijk als je meerdere trunks wilt gebruiken.
  8. Ga naar connectivity->Outbound routes om een reeks nummers naar de trunk toe te laten verwijzen
  9. Ga naar inbound routes om alle binnenkomende externe verbindingen naar een extensie, queue of hunt group te te laten verwijzen
    Voeg 145.7.97.53 ims.imscore.net aan /etc/hosts op de server of maak een cname record aan op jouw dns server. Log in als root op de server console en typ nano /etc/hosts in om de hosts file te bewerken.

Extra background info voor newbies op dit gebied;
Trunk(Connectivity->Trunks) is een verbinding van/naar jouw sip provider.
Extensie(Applications->Extensions) is een daadwerkelijk (soft) toestel op jouw telecomcentrale. Hier maak je dus altijd jouw toestellen aan.
Hunt group(Applications->Ring group) is een lijst van nummers die in een bepaalde volgorde moeten worden gebeld. Hiermee kun je meerdere toestellen aan 1 binnenkomend nummer koppelen.
Queue(Applications->Queue) is een wachtrij waar je 1 of meerdere toestellen aan koppelt. De bellende partij krijgt dan bijv een bandje te horen met op dit moment zijn alle medewerkers in gesprek...
Als je al jouw toestellen in dezelfde pickup group gooit, kun je bijv vanuit de slaapkamer een gesprek dat binnenkomt op een ander toestel toch aannemen.
ulaw en alaw zijn bekend als G711 en is de meeste gebruikte audio codec in de telecomwereld op 64Kbps
G722 is in feite G711 met ondersteuning voor variabele bitrates

Reputatie 7

@kjz, Ik neem aan dat je geen Experia Box gebruikt en dat je jouw SIP wachtwoord via de SIP servicetool hebt vastgelegd. Klopt dat?

Dat klopt. Ik heb de Experia box vervangen met een Netgear R7000. Via de KPN SIP servicetool heb ik de gebruikersnaam opgevraagd en het wachtwoord ingesteld.

Bedankt KJZ,

 

Ik ben zelf ook geruime tijd aan het rommelen geweest met dit verhaal en tot op heden nog niet voor elkaar gekregen.

Nu ik dit topic weer eens heb bezoht en jouw bericht reactie lees, geeft me dat weer hoop en ga ik dat binnenkort ook eens op deze manier proberen.

Bedankt alvast voor je reactie!

Wat ik heb gedaan is STUN links laten liggen, wand wil niet dan mijn sip verkeer unencrypted het veilige kpn netwerk verlaat naar een of andere stun server met weet ik niet hoeveel (onveilige) hops daar tussen.
Als mijn wachtwoord namelijk in verkeerde handen valt, kan iedereen met mijn account bellen.
Dit heb ik voor elkaar gekregen door de volgende ranges op mijn router te forwarden naar de FreePbx box: 5060-5061,16384-32767
Op poort 5060 draai ik chan_sip en op poort 5061 draai ik het nieuwere pjsip. Mijn Ericsson PTT draaischijftelefoons icm Grandstream 802 ATA en soft clients zitten aangemeld via pjsip. Uitsluitend de kpn aansluiting heb ik op chan_sip aangemeld.
LET OP: Ook heb ik de firewall dermate ingesteld dat alleen het kpn sip server subnet verbinding mag maken, en mijn interne subnet natuurlijk.

Vind ik ook wel een veilige optie, maar waar heb je de KPN SIP server subnet vandaan gehaald, of zou je deze kunnen vermelden in dit forum?

Reputatie 7

Wat ik heb gedaan is STUN links laten liggen, wand wil niet dan mijn sip verkeer unencrypted het veilige kpn netwerk verlaat naar een of andere stun server met weet ik niet hoeveel (onveilige) hops daar tussen.
Als mijn wachtwoord namelijk in verkeerde handen valt, kan iedereen met mijn account bellen.

Een STUN server doet niets anders dan het bepalen van jouw publieke IP adres, het NAT type en de externe poort die gebruikt wordt voor de SIP poort.

Er gaat dus geen communicatie richting een STUN server die iets met jouw SIP/VoIP login en communicatie te maken heeft. Je kunt dus zonder probleem een STUN server gebruiken.

 

Tevens is het zo dat een SIP account alleen binnen het vaste netwerk van KPN gebruikt kan worden en niet door een hacker uit bijvoorbeeld Kenia.

@wtb : Dat is duidelijk wat betreft de STUN server. Ik had met wat beter kunnen inlezen over dit onderwerp. Tot nu toe heb ik er nog nooit mee te maken gehad in VOIP omgevingen.
Ook nuttig om te weten dat die sip gegevens allen vanuit het lokale KPN netwerk werken.

@ferry899 : Ben benieuwd of jij het ook werkend heb gekregen.
Voor het subnet heb ik een whois uitgevoerd op het ip adres. Dat geeft echter een wat breed subnet(145.7.0.0/16). Alleen het ip adres van de KPN proxy whitelisten werkt bij mij ook goed.

 

@kjz ik heb het idd werkend gekregen middels jouw instructies, zoals hierboven staat beschreven, maar dan met de Port forwardings voor de gehele buitenwereld (wat ik na het testen weer dicht heb gezet, wachtend op jouw reactie).

In ieder geval binnenkomende gesprekken heb ik werkend kunnen testen.

Uitgaand heb ik nog niet getest via de kpn trunk omdat ik al een cheapconnect trunk daarvoor ingesteld heb staan.
Daar hoop ik vandaag aan toe te komen.

Ik zal m’n DNAT iig voorzien van het Source adres wat het kpn proxy adres is.

zal het resultaat daarvan ook posten.

 

@wjb als ik wist hoe ik het STUN gedeelte moet configureren voor KPN binnen freepbx, dan zou ik dat na het lezen van je reactie doen.

Wellicht dat iemand anders daar nog een mooie uitleg voor weet te plaatsen.

Wat mij is opgevallen is dat het ip adres 145.7.97.53 alleen, niet voldoende is om als source adres te gebruiken voor de DNAT rule van UDP-16384:32767

 

Het viel mij namelijk op dat het ene gesprek wel goed ging en het andere weer niet (men kan elkaar wel of helemaal niet horen).

 

Daardoor heb mijn firewall logs bekeken en zag daar verschillende keren een ander 145.7.97.x adres voorbij komen tijdens het voeren van inkomende gesprekken.

Dus heb ik er voor nu voor gekozen om het subnet 145.7.97.0/24 als source adres blok te gebruiken voor deze DNAT rule.
Wellicht dat later zal blijken dat het subnet groter moet zijn, maar tot op heden is het nog binnen de /24 gebleven bij mij.

Wat ook opviel in de firewall logs was dat er UDP verkeer vanaf het 145.7.97.0/24 werd geblokkeerd die buiten de UDP-16384:32767 range zat.
Door meerdere malen opnieuw te bellen heb ik globaal een beetje kunnen achterhalen welke range voor mij op dit moment het beste werkt.

Voor nu lijkt het er op dat dat voor de KPN trunk UDP-10000:46000 zou moeten zijn.

 

Dus mijn 2 DNAT rules zijn:
UDP-5060 met als source adres 145.7.97.53

UDP-10000:46000 als source subnet 145.7.97.0/24

Weet iemand toevallig of de KPN trunk ook middels pjsip is te configureren ipv Chan_sip?

Of weet dat KPN dat gaatonderstrunen?

Want ik had ergens gehoord dat freepbx chan_sip niet meer wilt geen ondersteunen en alleen nog maar pjsip doet in toekomstige versies.

Reden zou zijn omdat Chan_sip te onveilig is.

 

Iemand daar toevallig bekend mee?

Hartelijk dank met name aan

@kjz , het is ook hier gelukt!

 

 

 

 

 

Ok, toch nog niet helemaal happy :-(

Het werkt wel maar niet de hele tijd. Dan lukt het bijvoorbeeld niet om te bellen maar wel om gebeld te worden. En soms ook dat laatste niet. Kan dit te maken hebben met dat de Experiabox ook nog de sip gegevens bevat? Of denk ik dan te makkelijk? Of verloopt er ergens een registratie? (heb niet kunnen vaststellen dat het na een bepaalde tijd gebeurd) Als ik de trunk disable en daarna weer eneble of als ik fFreePBX reboot werkt het weer.

Verder valt het me op dat KPN het nummer niet meezendt waardoor de gesprekken niet op de juiste inbound route binnen komen. Nu heb ik wel een catch all route maar ja, da’s natuurlijk niet de bedoeling!

Tot slot wil ik via *21*0771234567# en #21# mijn nummer kunnen doorschakelen. Iemand een suggestie hoe ik het dial plan zo inricht dat dit kan?

Reputatie 1

Hallo,

 

Is er iets gewijzigd aan de KPN kant m.b.t. VoIP? Ik mocht er bijna een jaar mee bellen.

Ik krijg de trunk niet meer geregistreerd met de outbound proxy voip1-ext.kpn.net

Als ik de proxy invul met IP 145.7.97.53  dan registreert de trunk wel, maar kan ik niet bellen (Alle lijnen bezet).

 

Reputatie 1

Hallo,

 

Is er iets gewijzigd aan de KPN kant m.b.t. VoIP? Ik mocht er bijna een jaar mee bellen.

Ik krijg de trunk niet meer geregistreerd met de outbound proxy voip1-ext.kpn.net

Als ik de proxy invul met IP 145.7.97.53  dan registreert de trunk wel, maar kan ik niet bellen (Alle lijnen bezet).

 


Excuus, komt door mijn eigen hardware instelling!

Deze week voor het eerst freepbx geïnstalleerd op een VM (op mijn Synology NAS), en met bovenstaande settings van @kjz  heb ik FreePBX ook online gekregen.

Dat wil zeggen, op dit moment i.i.g. inkomend, ben helemaal nieuws in PBX, maar het lukt mij nu een binnenkomend gesprek naar de voicemail te krijgen en daar netjes een email van te ontvangen.

Wel kreeg ik telkens de volgende melding in mijn logfiles:

[2022-01-13 15:24:18] WARNING[2331] chan_sip.c: Got 423 Interval too brief for service +31xxxxxxx@voip1-ext.kpn.net, minimum is 3600 seconds

Deze heb ik weggekregen door “Registration Default Expiry “ naar 3600 te zetten.

Reputatie 1

Deze week voor het eerst freepbx geïnstalleerd op een VM (op mijn Synology NAS), en met bovenstaande settings van @kjz  heb ik FreePBX ook online gekregen.

Dat wil zeggen, op dit moment i.i.g. inkomend, ben helemaal nieuws in PBX, maar het lukt mij nu een binnenkomend gesprek naar de voicemail te krijgen en daar netjes een email van te ontvangen.

Wel kreeg ik telkens de volgende melding in mijn logfiles:

[2022-01-13 15:24:18] WARNING[2331] chan_sip.c: Got 423 Interval too brief for service +31xxxxxxx@voip1-ext.kpn.net, minimum is 3600 seconds

Deze heb ik weggekregen door “Registration Default Expiry “ naar 3600 te zetten.

 

 

Hey Janus,

 

Niet echt een KPN forum dingetje :wink:

Maar ik kan je op weg helpen:

  1. Heb je een SMTP server ingesteld voor je PBX t.b.v. uitgaand mailen?
  2. User (Extension) maken met bijvoorbeeld de naam Voicemail.
  3. Bellen naar de nieuwe User (Hiermee activeer je de Voicemail).
  4. Leeg audio bestand uploaden (.wav bestand) t.b.v. genereren van de welbekende PIEP. Deze upload je bijvoorbeeld bij de unavailable greeting van je nieuwe voicemail.
  5. Routering maken via announcement naar voicemail unavailable.

 

Als je nieuw bent met PBX hoop ik wel dat je de beveiliging van poort 5060 goed op orde hebt.

Deze moet niet openstaan voor de hele wereld!

 

Volgens mij is de SIP settings goed krijgen, en heel duidelijk KPN forum dingetje?

 

Maar volgens mij moet je mijn post nog eens lezen, het is een aanvulling op de howto van @kjz . 

Reputatie 1

Inderdaad, het begrijpend lezen was even zoek.

 

Excuus

Reageer