Telephone System
Project: Telephone System | |
---|---|
Featured: | |
State | Active |
Members | xopr |
GitHub | No GitHub project defined. Add your project here. |
Description | Telephone Communication System |
Picture | |
No project picture! Fill in form Picture or Upload a jpeg here |
Contents
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.
Be aware that FS has a very steep learning curve, but once you get the point, you'll never want to go back (hint: regular expressions ftw)
My (Xopr) personal interest is pulling the all types of communication into a central point and thereby link them.
new system's features
- will not answer directly but give space state information in the 183:progress/pre-answer
- ... (your feature?)
Interactive Voice Response
The concept for the new IVR menu will have something like this:
- enable fax/modem detect
- mention the space state before actually answering
- start with a brief menu, but give more info on demand
ack_main and ack_info (are the same, but with different spoken texts)
- 1[09]\d{2}: 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
- 1000 for hACKspace (workshop)
- 1001 for slACKspace (lounge)
- 1003 voor DECT (wireless)
- 1779 voor chairman PsychiC
- 1019 voor secretary xopr
- 1984 voor treasurer Vicarious
- 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
implementation
Current setup is in transition, the previous setup consisted of the following:
- a public accessible number (+31 45 71 12345)
- a [Phone:+31979922|SpacePhone ENUM number]
- permanent space phones (two Cisco 7940 (ext. 1000 and 1001)
- several ATA's (not permanently connected, yet)
- Customized dialplan
- simple IVR menu (with space state notification built-in)
- conference rooms (1331)
- central point for reaching key people (1333)
- simple intercom service
- number lookup script
- various participant registrations (see #extensions)
- some scripting to ease life and add some nifty features
For details on the Cisco phones, see Cisco phone deployment.
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
Extension | Reference |
---|---|
100 150 170 176 177 | Reserved extension numbers |
101 | slACKspace |
102 | hACKspace |
103 | stACKspace |
109 | DECT |
150 151 152 153 154 | MCH2022 |
150 | WHY2025 |
172 | Coolepascal |
191 | Stuiterveer |
196 | User:xopr |
199 | Vicarious |
dialplan
The current dialplan expectation is defined as followed:
dialplan | destination |
---|---|
10xx | Onsite (ACKspace) extensions |
19xx | Offsite extensions |
1200 | Customer service |
1233 | Mailbox |
1244 | Calling credits |
1300 | ACKspace portal (external IVR) |
1301-1303 | listen-in event conference rooms 1-3 |
1304 | hold music (default) |
1305 | trance channel |
1306 | air traffic control (currently b0rken) |
1307 | lover's theme |
1308 | chipmod channel |
1309, signal | hackerpaces signal |
1310 | gpljihad |
1311 | troll & meme music |
1312 | opus codec test (b0rken) |
1313 | Mannen van de radio |
1314 | Metal channel |
1331 | Conference rooms |
1333 | key holders (cell forward) |
1334, echo | echo test |
1335 | delayed echo test |
1345 | group intercept |
1364, 1doh | Dukes of Hackers |
1366(3), 1food | ACKspace pizza service (currently not in use) |
1372 | return call |
1373, redial | redial |
1374, park | park |
1376, unpark | unpark |
1380-1389 | valet park |
1390 | group ACKspace main+local |
1391 | group ACKspace main |
1392 | group ACKspace local |
1393 | group ACKspace remote |
1398, closure | closing announcement |
1399 | ACKspace paging |
1525, 1kak | 'kakhoofd' extension for PsychiC |
*<extension number> | simple intercom (cisco 7940 phones only) |
2222 | Emergency (as described on the sticker in each room) |
0611|069500|0906*
dialplan regex | type | remark |
---|---|---|
01[12356789][\d]{7} | Geographical numbers | |
014\d\d+ | Internal network service | |
0[2357][\d]{8} | Geographical numbers | |
044\d{3,11} | European routing | only 0444 seems available |
06[123458][\d]{7} | cell numbers | |
066[\d]{7} | Pager | |
067([0-5]{3}|[0-5]{7} | ISP access | |
0676[12345789] | [UNREGISTERED] | |
06760[\d]{7} | ISP access | |
067[7-9]\d\d | [UNREGISTERED] | |
069 | [UNREGISTERED] | |
0800(\d{4}|\d{7}) | Toll free information numbers | |
081 | [UNREGISTERED] | |
082\d+ | VPN | |
083 | [UNREGISTERED] | |
08[47][\d]{7} | Personal assistant services | |
0(85|91)\d{7} | General Electronic communications | |
086 | [UNREGISTERED] | |
088[\d]{7} | Business numbers | |
089 | [UNREGISTERED] | |
090[069](\d{4}|\d{7}) | Paid information numbers | |
09[2345689] | [UNREGISTERED] | |
0970[\d]{8} | available? | |
097[1-9] | [UNREGISTERED] | |
10\d{3} | Carrier select | ACKspace main (10xx) |
112 | European harmonized | |
116\d{3} | European harmonized | |
120[0-4] | Harmonized for own network | Customer service |
1233 | Direct voicemail | Voicemail |
1234 | Voice dial | |
1244 | Pre paid service menu | |
13[03-9]\d | Local network facilities | special services |
131 | Hide caller ID | |
132 | Show caller ID | |
14\d{2,3} | Harmonised services of social value | General Affairs Department |
15[\d]{3} | [UNREGISTERED] | TBD. |
16\d\d | Carrier select | |
17[0-8][\d] | [UNREGISTERED] | TBD. |
18([02-9]\d|1[0-79]) | Subscriber information service (except 1818) | |
19[\d]{3} | [UNREGISTERED] | Registered users external |
(045) 2201000-2299999 | [AVAILABLE] | Local emergency call |
(045) 4200000-4299999 | [AVAILABLE] | Xopr(?) |
(045) 4400000-4499999 | [AVAILABLE] | Local emergency call |
(045) 9[\d]* | [UNREGISTERED] | (Local) emergency call, 911, 999 |
2222|4444|112|911|999 | (Local) emergency call |
Also note that 085 can have a special tariff
todo
- display dialplan for reference
- implement optional moderated conference rooms
- customer service IVR (1200)
- call forwarding
- pizza/food IVR (1366)
- trunking over VPN
- install PoE blade
- add other extensions (other residents)
- Dutch grammar logic
- English menus
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.
future
- Move the current setup to the SAN server and release the current setup as a ACKspace FS playground.
- Create a larger deployment of the VOIP network as a testing ground for a more high-traffic environment.
- Stoney would like to build a visual ring indicator which flashes once somebody calls a specific number.
- Add a HAM autopatch system to the telephony system so sip phones and amateur radio are interconnected
notes
Here's some information on how to power the Cisco 7940's through standard PoE switches. As featured on CampZone 2011. Thanks, Stoney