Telephone System

From Hackerspace ACKspace
Revision as of 20:26, 19 November 2013 by Xopr (talk | contribs) (forgot mentioning extensions in ivr)
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
No project picture! Fill in form Picture or Upload a jpeg here
Cisco IP Phone 7940 series

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.

Xopr is working on a new system, where participants have their own SIP address. Multi-tenance is going to be removed (again), and hopefully VoIP-out from within the network will work as expected again.

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 consists of the following:

  • a public accessible number (+31 45 71 12345)
  • permanent space phone's (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

(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 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*

Almost exhaustive dialplan, compatible with Dutch PSTN as defined by Ministry of Economic affairs and monitored/policed by Opta
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