Phone:+31979922

From Hackerspace ACKspace
(Redirected from SpacePhone)
Jump to: navigation, search
NOTE:
spacephone.org was reinstated by xopr in 2016 to make sure the domain name was kept in the hackerspace scene.
Contact xopr if you have spare time and want to pick up this project, and he might just give you a bunch of credentials.

synopsis

The telephone number (+31979922) is part of the SpacePhone ENUM project, and works in two ways:

  • Be accessible to other people having only a numeric keypad, without any costs.
  • Call other in-country spaces with a short-hand number, in our case: 922 for ACKspace

The latter is for Dutch hackerspaces; it needs the full country and area code if one wants to call a hackerspace from another country, the former is just allowing tel:+31979922 to be translated to +31979922@ackspace.nl that can be reached publicly.

This number consists of the following parts:

number function
+31 international country code
979 area code (zone/net number), reserved by defined by Ministry of Economic affairs for internal use
922 short hand number (note that 9 is not used in domestic dial plans)

Other country phone numbers are:

  • North America: +1 101 0000 xxx
  • Belgium: +32 99 19xx
  • United Kingdom: +44 8990 190xx
  • Denmark: +45 379 xx
  • Germany: +49 199 119xx


The spacephone configs are available on GitHub

Listing

This is a non-exhaustive Spacephone directory. Not all numbers are tested, but they are assigned by SpacePhone at the time of writing (15:02, 26 November 2019 (CET)).

short hand number who?
9HELP (94357) SpacePhone support
922 ACKspace (that's us!)
923 Bitlair
940 Hackalot
942 Hack42
966 MoNoNoKe
968 NURDspace
973 Project073
974 PiXelBar
975 Sk1llz

Enabling spacephone on other FreeSWITCH instances

To route calls to its correct destination using the SpacePhone ENUM, one needs to add the following dial plan snippet. This script will try and resolve the number, or send the SIT, followed by the message that the number is unallocated.

<extension name="SpacePhone ENUM">
    <condition regex="any">
        <regex field="destination_number" expression="^(11010000\d\d\d)$"/>
        <regex field="destination_number" expression="^(319799\d\d)$"/>    
        <regex field="destination_number" expression="^(329919\d\d)$"/>    
        <regex field="destination_number" expression="^(448990190\d\d)$"/> 
        <regex field="destination_number" expression="^(45379\d\d)$"/>     
        <regex field="destination_number" expression="^(49199119\d\d)$"/>  
        <action application="set" data="continue_on_fail=true"/>
        <action application="set" data="hangup_after_bridge=true"/>
        <action application="enum" data="31979$1 e164.spacephone.org"/>
        <action application="bridge" data="${enum_auto_route}"/>
        <action application="playback" data="tone_stream://%(330,15,950);%(330,15,1400);%(330,1000,1800);loops=2"/>
        <action application="playback" data="ivr/ivr-unallocated_number.wav"/>
        <action application="playback" data="tone_stream://%(330,15,950);%(330,15,1400);%(330,1000,1800);loops=2"/>
    </condition>
</extension>

Note; you could also change <condition regex="any"> into <condition> and remove all the <regex .../> nodes to try and match every number

Also note that the numbers must be formatted in the ITU-T E.164 standard. For the Dutch dialplan, you can do this by adding the following snippets at the beginning of the default dialplan:

   <extension name="local to international" continue="true">
     <condition field="destination_number" expression="^([2-89]\d+)$">
       <action inline="true" application="set" data="destination_number=${default_countrycode}${default_areacode}$1"/>
     </condition>
   </extension>
   <extension name="domestic to international" continue="true">
     <condition field="destination_number" expression="^0([1-9]\d+)$">
       <action inline="true" application="set" data="destination_number=${default_countrycode}$1"/>
     </condition>
   </extension>
   <extension name="international cleaned" continue="true">
     <condition field="destination_number" expression="^(?:00|\+)([1-9]\d+)$">
       <action inline="true" application="set" data="destination_number=$1"/>
     </condition>
   </extension>



extra information

A nice and quick way to see if a number is part of an ENUM system, one can go to sipbroker.com's ENUM lookup page. Note that for checking the spacephone numbers, you need to include e164.spacephone.org as additional ENUM root.

SpacePhone lookup does this automatically

You can also lookup 31979922 from the command line (remember to reverse the number, and forget about nslookup, it won't work):

$ dig 2.2.9.9.7.9.1.3.e164.spacephone.org -t NAPTR

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> 2.2.9.9.7.9.1.3.e164.spacephone.org -t NAPTR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49677
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;2.2.9.9.7.9.1.3.e164.spacephone.org. IN        NAPTR

;; ANSWER SECTION:
2.2.9.9.7.9.1.3.e164.spacephone.org. 300 IN NAPTR 10 10 "u" "E2U+web:http" "!^(.*)$!https://ackspace.nl/wiki/Phone:\\1!" .
2.2.9.9.7.9.1.3.e164.spacephone.org. 300 IN NAPTR 10 10 "u" "E2U+cnam" "!^.*$!data:,ACKSpace!" .
2.2.9.9.7.9.1.3.e164.spacephone.org. 300 IN NAPTR 10 10 "u" "E2U+sip" "!^(.*)$!sip:\\1@ackspace.nl!" .

;; Query time: 512 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri May  1 15:59:02 2015
;; MSG SIZE  rcvd: 233

ACKspace also has an e164.org ENUM registration which will translate +31-45-71-12345 into sip:31457112345@sip1.budgetphone.nl, our DID (or DDI) service provider.