InterhackerspacePBX

From Nottinghack Wiki
Jump to navigation Jump to search

Interhackerspace PBX Project

The Interhackerspace PBX starts here.

Our Goal: Every hackerspace in the WORLD reachable via Voice-Over-IP network

Background

Rob (Sideshow) was in hanging out at Noisebridge in SF in December 2014 and saw the notice above posted there, sent me a picture and I got in contact with the Noisebridge folk, and now we're getting all excited. This is fun. Mouse (talk) 11:00, 5 December 2014 (UTC).

This project kinda died, but I've revived it in 2017 and will aim to have a working PBX (with IAX2 trunk to my personal PBX) by the end of May 2017. Alexmann (talk) 03:27, 17 March 2017 (UTC)

Hardware

  • 2 x Emergency Roadside Telephones from Michael E. These devices have no number pad, but we should be able to have them auto-dial numbers by playing DTMF when the receiver is lifted. Matt Lloyd is also looking at wiring in some number selectors so different dial-on-lift numbers could be selected. See here for details
  • 1 x BT Payphone offered by Phil Parry. This would presumably live in the studio, attached to one of the supporting columns See here for details
  • 3 x Cisco 7940G phones
  • Cisco 3750-24PS Cisco PoE Switch
  • FXO adapter card (don't yet have)
  • Raspberry Pi

Architecture

The Primary software behind the PBX is the FreePBX distro of Asterisk, a free open source PBX. To hook up analog devices like the payphone and ERT's, we'd need an FXO adapter card somewhere, so Asterisk would probably have to run on some sort of always-on PC with a PCI slot (since multi-port FXO cards tend to be PCI). An alternative to this might be to use an RPi with USB soundcard to convert analog signals into SIP calls which could connect to the Asterisk instance. This Pi idea is being used for the payphone conversion, with some SIP business phones and a PoE switch being donated by Alex.

Asterisk can connect calls between different devices at the space (extensions), and make outgoing calls to external destinations over the Internet by using some prefix for "outside line", e.g. dial 9 for external numbers.

Asterisk can also handle incoming calls from other spaces (e.g. Noisebridge or general SIP calls over the net), either directing them to the payphone, voicemail or an IVR system which we can have a lot of fun making very silly. An IVR would be cool if someone funny wants to write a script, external calls will likely default to the payphone unless an extension is specified. Alternatively, all phones could ring until one is answered.

IVR

We can either make a silly or a serious IVR for incoming calls. It would also be possible to have a silly IVR for incoming calls from other hackspaces, and a more serious one for incoming calls publically.

Serious IVR

I would suggest the following for a serious IVR:

Thank you for calling Nottingham Hackspace. The space is run by volunteer members, so we cannot guarantee someone will be available to answer your call. If you are not answered, please try calling again later.
For information about the hackspace, Press 1.
To speak to one of our members, Press 2.
If you know the extension number you would like to dial, Press 3.

Pressing 1 can give a short voice overview of the space, followed by our web address to find out more, e.g. :

Nottingham Hackspace, or Nottinghack, is a community workshop providing infrastructure and tools for our members to learn and hack. The space is what YOU make it. We have tools such as a Laser Cutter, 3D Printer, Lathes, Soldering stations and more. Members get 24 hour access to the space, and membership is on a pay what you want per month basis. We hold open hack nights every Wednesday from 6:30pm where prospective members can visit, have a tour, speak to one of our membership team, and try out some of our equipment and tools. More information is available on our website at www.nottinghack.org.uk, or Press 1 now to speak to one of our members.

Pressing 2 (or pressing 1 after the voice information) can ring a number of phones. I would suggest these calls ring the phone by the front door, and maybe also the payphone in the studio, but not any of the work area phones.

Pressing 3 should give another prompt, followed by transferring the caller to the entered extension:

Please enter the extension number, followed by the hash key.

Silly IVR

The following IVR was taken from a suggestion by Mouse in the original thread on the Nottinghack Mailing List:

Press 1 for an argument 
Press 2 for insults 
Press 3 for Dominic reading out the terms of service. 
Press 4 to play with the DTMF echo synthesiser 
Press 5 no! wait! don't press 5! 
Press 6 to randomize this menu 

Pressing 1 can forward to Mouse's extension of 2600. Pressing 2 can play some prerecorded insults (randomised from a list). Pressing 3 can do what it says on the tin. Same with 4. Pressing 5 can play Rick Astley - Never Gonna Give You Up.

Code

https://github.com/NottingHack/PBX

Extensions

123 - Front Door
124 - Payphone
125 - Kitchen
133 - Electronics

These will be the initial extensions that I will configure, plus the following member extensions. Further extensions will be added when I can get hold of more phones.

2600 - Mouse
2888 - Kirsty
8427 - Vics
6600-6699 - Alex

Any member of Nottingham Hackspace will be eligible to request a four digit extension in the range of 1000-9999 (just add a line to the list above for now, or once the PBX is functional drop me a message at alex@alexmann.net or leave a message on my voicemail from a phone inside the space). Multiple extensions can be requested, and members will generally be allowed up to 5 extensions. Members working on the PBX Project can be allocated larger ranges for testing and development purposes.

See Also