FreeBSD , sverige
- 20. august, 2011 - 4 Comments
free svensk nummerportabilitet slå opp tjeneste
Når Sverige implementert nummerportabilitet for mobiler (MNP - Mobil nummerportabilitet) og faste linjer der hvor noen mennesker som oppga at denne informasjonen bør offentliggjøres i DNS eller en DNS lignende system, så det skulle være billig og tilgjengelig for alle å bruke. Naturligvis teleselskaper ønsket å gjøre det slik de alltid gjorde ting. Med en sentralisert fett løsning.
Så Sverige endte opp med en Oracle basert sentral database (CRDB) løsning implementert av Cap Gemini og Oracle. Dette systemet er nå drevet av SNPAC AB (eid av Sveriges store teleselskaper) som kostnader ca. 19 200 Euro for å koble til og 14 400 euro per år. Som er virkelig ute av rekkevidde for småskala aktører på markedet eller amatører kjører en Asterisk PBX som ønsker å gjøre velge den billigste ruten for å plassere en samtale.
Den andre dagen den svenske PTS (Den svenske Post-og Telestyrelsen) lansert en nettside der du kan sjekke hvilken operatør var avslutte som nummer. Så jeg bestemte meg for å gå videre og implementere et DNS basert ser opp metoden.
Først litt bable om deres tjeneste. Vel det er fint at de tilbyr forskjellige grensesnitt, i dag de støtter SOAP 1.1, 1.2 SOAP, HTTP GET og HTTP POST. Men hvorfor skal sluttbrukeren må bry seg om å dele inn i NDC og SN? (NDC - National Destination Kode og SN - Subscriber Number) etter at alle PTS er autoritativ av NDC er så hvorfor kunne ikke deler de nummeret for oss? Og hvorfor ikke en hel MSISDN (Mobile Subscriber Integrated Services Digital Network Number) eller hvorfor ikke en hel E.164 nummer? Eller hva med faktisk å gjennomføre en ENUM (E.164 Number Mapping) ser opp?
Ok nok rant. Jeg hadde et par timer over så jeg satte meg ned med en FreeBSD boks og pwerdns og begynte å kode. Så nå er jeg (og resten av verden) kan gjøre følgende oppslag med deres favoritt DNS verktøyet:
% Grave 733441006.tel.arnold.se TXT
% Grave 6.0.0.1.4.4.3.3.7.0.6.4.tel.arnold.se TXT
Resultatet er en streng som inneholder navnet på operatørens håndtering nummeret. (Jeg har tatt en full effekt under) Ikke det beste svaret å gjøre automatisk samtaleruting men god nok som et proof of concept gjennomføring av bygge bro mellom DNS og MNP database. Akkurat nå er jeg implementere et ENUM typen så kan du automatisk integrere dette inn i Asterisk PBX og velge den beste utgående linje for samtalene dine. Siden operatører har ofte "Ring gratis innenfor vårt nettverk" omhandler dette ville være et flott verktøy for lavpris ruting av telefonsamtaler.
Men før du begynner å implementere ting med dette et par notater:
- Dette er et eksperiment.
- Jeg har ikke helt innstilt caching og ytelse ennå.
- Jeg foreløpig kun støtter follwing NDC-tallet: 8, 31, 40, 70, 72, 73, 76 (Sveriges tre største byer og GSM-og 3G-nettverk) Mer NDC er vil følge når jeg har funnet en maskinlesbar liste så jeg ikke må skrive dem alle i ...
Så et par spørsmål til dere som leser dette:
- Vil du dette som en permanent tjeneste?
- Eventuelle andre nyttige ting du ønsker å se opp over DNS?
- Hvilken informasjon ønsker du returneres i ENUM? (Jeg er spesielt interessert i behov av ikke Asterisk brukere.)
Vennligst gi meg noen tilbakemeldinger nedenfor, og jeg vil prøve å ta dine ideer i betraktning.
En full eksempel på et søk ved hjelp grave:
% Grave 733441006.tel.arnold.se. txt
; <<>> Dig 9.6.1-P2 <<>> 733441006.tel.arnold.se. txt
;; Global alternativer: + cmd
;; Got svar:
,, ->> HEADER <<- opcode: QUERY, status: NOERROR, id: 57824
;; Flagg: qr rd ra; QUERY: 1, SVAR: 1, MYNDIGHET: 0, EKSTRA: 0
;; SPØRSMÅL DEL:
; 733441006.tel.arnold.se. I TXT
;; SVAR DEL:
733441006.tel.arnold.se. 3600 i TXT "Telenor Sverige AB"
;; Query tid: 39 ms
;; SERVER: 213.136.34.15 # 53 (213.136.34.15)
;; NÅR: Lør 20 august 13:44:06 2011
;; MSG STØRRELSE rcvd: 72











































