Telephone System

From Hackerspace ACKspace
Revision as of 21:29, 3 November 2015 by Xopr (talk | contribs) (set project picture)
Jump to: navigation, search
Project: Telephone System
Featured:
State Active
Members xopr
GitHub No GitHub project defined. Add your project here.
Description Telephone Communication System
Picture
Cisco 7940.jpg


synopsis

Create and/or implement a telephone communication system for fun and automation. It can provide conference rooms, reach key people from a central number, quickly notify if the space is closed and provide a quick and cheap way of communication.

xopr 12:43, 28 September 2015 (CEST): I'm working on a new system to replace the Guerilla VoIP which starts to fail more often. It doesn't have a public IP address (yet), so participants SIP addresses are yet to be implemented

new system

The current (emergency) system is starting to fail and needs revisioning, and it's time for a more permanent solution anyway.

current status

Every room has a phone now, albeit analog, DECT or ISDN, see todo for Cisco 7900 setup. The phones connected to the Fritz!Box are connected to both VoIP systems which in their case, are both connected to the VPS.

todo

  • update IVR menu
    • mention the space state before actually answering (183:progress)
    • start with a brief menu, but give more info on demand
  • add support for Cisco 7900 phones (Cisco phone deployment)
    • need to put an interface on a different VLAN
    • update all switches to offer the same VLAN
    • add TFTP and add the firmware + configs
    • update the DHCP (option 66 or 150)
    • update dialstring to both signal SCCP and SIP
  • update public SIP addressing (dedicated public IP or a VPS redirect)

done

  • add outgoing trunks (dialplan)
  • fix SpacePhone ENUM number
  • add Dutch language for IVR
  • add spacestate information logic
  • fix IVR menu

wishlist

  • multilingual IVR
  • conference rooms
  • enable fax/modem detect
  • enable 2600 toying option
  • key people (1333)
  • Add a HAM autopatch system to the telephony system so sip phones and amateur radio are interconnected
  • simple intercom service
  • number lookup script
  • various participant registrations (see #extensions)
  • some scripting to ease life and add some nifty features
  • trunking over VPN
  • install PoE blade or smaller PoE switch (might want to choose for regular power supplies)

extensions

This is the list of registered extensions. If you want to register your own extension, let Xopr know. For available extensions, refer to the #dialplan

(refresh table)

ExtensionReference
100
150
170
176
177
Reserved extension numbers
101slACKspace
102hACKspace
103stACKspace
109DECT
150
151
152
153
154
MCH2022
150WHY2025
172Coolepascal
191Stuiterveer
196User:xopr
199Vicarious


dialplan

The current dialplan expectation is defined as followed:


Dialplan changed as of 2022/01/24
The dialplan has changed which impact a couple of the existing services. See following table for the changed numbers
number becomes was
1333 External Echo test "key people", deprecated since 2013
1334 External Identification local echo test, moved
1335 External Late echo test local delayed echo test, moved
1357 (deprecated) local ident, moved
1377 (deprecated) remote ident, moved
1354 Local Ident (new number)
1374 Remote Ident (new number)

used numbers

dialplan destination
(\+|00)([1-9]\d+) international
0[1-9]\d+ long distance
100 ring all onsite (ACKspace) extensions
10[1-9] onsite (ACKspace) extensions
112 European harmonized (emergency)1
116\d{3} European harmonized (social interest)1
1200 ACKspace portal (external IVR)
1201 alternate IVR (events)
1233 mailbox1
1244 prepaid calling credits2
1300 listen-in event conference rooms IVR
130[1-9] listen-in event conference rooms 1-9
1331 External conference room
1332, 13ec External Conference room
1333, 13ee External Echo test
1334, 13ei External server Identification and ANAC
1335, 13el External Late echo test
1336, 13em External "Motivationals": 1 motivational per call
1337, 13er, bergeijk External Radio Bergeijk
1340 Hackerspace state
1351 Local conference room
1352, 13lc Local Conference room
1353, 13le, echo Local Echo test
1354, 13li Local server Identification and ANAC
1355, 13ll Local Late echo test
1356, 13lm Local "Motivationals"3
1357, 13lr (Local Radio)3
1371 Remote conference room
1372, 13rc Remote Conference room
1373, 13re Remote Echo test
1374, 13ri Remote server Identification and ANAC
1375, 13rl Remote Late echo test
1376, 13rp, 13po, poetry Remote Motivational, '76 poetry; 1 poem per call
1377 (Remote Radio)3
1380 Time service
1388 Forward to Test setup
139[1-9] party-line event conference rooms 1-9
140\d\d+ government services1
150 ring all offsite extensions
15[1-9] offsite extensions
16\d\d carrier select1
170\d+ reserved for future (expanding) purposes
17[1-9] participants extensions
18\d\d subscriber information service
19\d participants extensions
[2-8]\d{6} local numbers (Heerlen, 045)
9\d\d SpacePhone (interhackerspace enum extensions)
1) currently not in use
2) not available due to IP restrictions
3) reserved/cool down; might become available

Note that numbers for remote and external network services behave differently:

  • Local services are called on the server itself (where the user is calling to)
  • Remote services are either upstream (parent) if it is a private server (typically behind NAT),
    or a fallback (sibling) server in case of a public server
  • External might be of several things:
    • alternative upstream (fallback server)
    • alternative sibling (fallback or 2nd fallback server)
    • 3rd party service

One can make the assumption that remote services within the space are forwarded to it's local service upstream (public VPS) with a few minor exceptions: Motivationals and Radio can be serviced anywhere; see it as Bergeijk being external and Poetry comes via (emulated) Citizens band radio and thus is remote


Interactive Voice Response

The concept for the new IVR menu will have something like this:

ack_main and ack_info (are the same, but with different spoken texts)

  • 1[059]\d: direct dial extensions
  • 2 switch to English language
  • 3 switch to Dutch language
  • 5 direct dial ring group
  • 6 dial key persons, enable voicemail detect and use time schedule
  • 7 go to conference rooms
  • 8 go to menu ack_extra
  • 9 go to menu ack_info
  • 0 go to menu ack_directory

ack_extra

  • 1 more info on space state (time of toggle)
  • 2 speak out telephone number and/or IP address
  • 3 listening rooms
  • 4 extended time service
  • 5 contact location abroad (when online)
  • 6 echo test
  • 8 call test setup
  • 9 repeat this menu
  • 0 go back
  • * go to main menu

ack_directory

  • 100 for slACKspace (lounge)
  • 101 for hACKspace (workshop)
  • 109 for DECT (wireless)
  •  ??? for chairman
  •  ??? for secretary
  •  ??? for treasurer
  • 1(all other public extensions)
  • 5 call anyone
  • 8 lookup by typing first three characters using keypad
  • 9 repeat this menu
  • 0 go back
  • * go to main menu


history

CCC

The CCC Binary Voice Radio telephony server was a mixed success. Actually, it was a disaster: -The visual ring indicator circuit didn't trigger the optocouplers so that was the first thing to fail. -a lot of power failures which caused a lot of downtime and eventually database corruption -the DECT system was getting too complex for the simple phones we've modded for field reporting (Technical clarification came from one of the Eventphone key people who explained that the antenna register on cheap phones was too small to identify them all). Besides that, it looked like the cabling had short-circuited because the 9v battery didn't have any oomph left to generate amplified audio. -wifi had a hard time maintaining the links and coverage wasn't 100% so the wifi field reporter wasn't a good alternative -last but not least: the public ip addressing threw a spanner in the works and the server went limbo. The server's database went corrupt, and after a restore, it didn't match the regular config files. I got it semi-working after it was far too late to make it useful to the studio. Also, after I got it to work, it wouldn't register correctly to the Eventphone trunk and we only got to call the editorial room (2781|BVR1) via DECT twice or so. Despite all that stress, it was promising, so better luck next time.


Open door day

For the open day, I set up a stand-alone test system with two Cisco 7940s, a FxS/FxO and dual FxS ATA, which included some softclients.

The phones were successful in a rough field test on the open day, connected to a FreeSWITCH exchange and two ATAs which provided connections to two additional analog handsets. The field test proved reliable enough and a great platform for some hilarious phone pranks.

The Cisco phones had a menu where you could view a 2 bit grayscale snapshot of the two space cams, and you were able to switch some outlets. People were allowed to navigate the configs and exploit functionality and LuckY sniffed and replayed audio over a wifi link.