Phones
phones are fun! we all love phones. this is the phone place. put the phone shit here. yay, phones!
- for reference, the overall software / hardware stack looks something like this:
SIP trunk [cloud] --> Issabel PBX [on-prem] --> Grandstream ATA [on-prem]
software
in a hurry? here are the links to each tool's software config page. 👇 ask the maintainers below for creds if you don't have them.
SIP trunk config page: https://portal.telnyx.com/ Issabel PBX config page: https://10.213.0.103/index.php?menu=pbxadmin (vpn only) Grandstream ATA config page: http://10.213.0.137/cgi-bin/config_a1 (vpn only)
SIP trunk
inbound and outbound calls are currently managed by Telnyx. learn more about them here: https://telnyx.com/
- explanation: all internal /dev/hack phone conversations stay internal. for example, if you call the foundry from the kitchen using the foundry's extension, that call is handled by Issabel and nothing else. if you were to call a number outside of /dev/hack, however, that call must be routed externally using a SIP trunk.
- learn more about SIP trunking here: https://en.wikipedia.org/wiki/SIP_trunking
- coming soon™: we plan to switch SIP providers in the near-ish future due to cost and the difficulty in managing the current platform. we'll build out the strategy once the docs are more complete. :P
⚠️ note: outbound calls are supported to the US and Canada ONLY. other countries will be declined by the upstream provider. feel free to ask for more countries to be added (if you've got a purpose :P).
Issabel PBX
Issabel is an open-source unified communications PBX software. learn more about it here: https://www.issabel.org/
- explanation: we use Issabel for call tree/extension management, as the primary controller for all digital (VoIP) phones, as well as the upstream provider for the Grandstream ATA to provide services to POTS phones.
- learn more about IP-PBX here: https://en.wikipedia.org/wiki/IP_PBX
- coming soon™: someday, we'd like to switch from Issabel to freePBX due to its far easier management interface and more reliable call routing. this would be a massive change, however, so no planning has begun on this.
common config option locations (expand to view 👇):
| item | description | location (PBX) |
|---|---|---|
| inbound routes | calls from external | Connectivity --> Inbound Routes |
| outbound routes | calls to external | Connectivity --> Outbound Routes |
| trunks | external SIP provider | Connectivity --> Trunks |
| extensions | internal phone numbers | Applications --> Extensions |
| call tree menu | external greeting | Applications --> IVR |
| ring groups | ring a bunch of phones at once | Applications --> Ring Groups |
| conference rooms | password dial-in | Applications --> Conference |

Grandstream ATA (model HT818)
Grandstream's Analog Telephone Adapter (ATA) to runs the POTS lines. learn more about them here: https://www.grandstream.com/products/gateways-and-atas/analog-telephone-adaptors
- explanation: old phones use analog signaling over RJ-14 connectors. this is fundamentally incompatible with a modern IP-PBX like Issabel. we use Grandstream's ATA (with Issabel as an upstream provider) to provide analog service to the old phones, the payphone, and the fax machine.
- learn more about ATAs here: https://en.wikipedia.org/wiki/Analog_telephone_adapter
- coming soon™: eh, this ATA is probably fine for the moment.
- ethernet: server room (switch) --> unmanaged switch (next to 3d printers) --> unmanaged switch (under printer shelves) --> Grandstream ATA
hardware
the hardware and software stacks behind each phone depend on their capabilities. while both digital and analog phones eventually get routed to Issabel for PBX functions, the routing layers can look different based on the technologies and models. this section attempts to document the physical hardware in the space.
DIGITAL (ip phones)
there are ~15 ip phones connected to the Issabel PBX vm in Proxmox. here are the details:
| name (PBX) | location | ext. | state | brand | model # | notes |
|---|---|---|---|---|---|---|
| Hub Phone | the hub | 302 | ❌ | can't find, no ring | ||
| Sun Room Polycom | sunroom | 306 | ❌ | can't find, no ring | ||
| Server Room | server room | 310 | ✅ | Polycom | SoundPoint IP 335 | works! |
| Foundry | focus foundry | 311 | ✅ | Polycom | SoundPoint IP 335 | works! |
| Hub | the hub | 312 | ⚠️ | Polycom | SoundPoint IP 335 | dials out, no dial in |
| Lounge | hacker lounge | 313 | ❌ | Polycom | SoundPoint IP 335 | has "out of order" sign |
| Sunroom | sunroom | 314 | ❌ | can't find, no ring | ||
| Colab | SCN collab | 315 | ❌ | Polycom | SoundPoint IP 335 | found, not plugged in |
| Hallway | hallway | 316 | ❌ | Polycom | SoundPoint IP 335 | found, not plugged in |
| Utility Closet | utility closet | 317 | ❌ | Polycom | SoundPoint IP 335 | found, not plugged in |
| Kitchen 1 | kitchen | 318 | ❌ | Polycom | SoundPoint IP 335 | found, not plugged in |
| Kitchen 2 | kitchen | 319 | ❌ | Polycom | SoundPoint IP 335 | found, not plugged in |
| Meeting Room | meeting room | 320 | ❌ | RingCentral | SoundPoint IP 335 | found, not plugged in |
| Entryway | hallway | 321 | ⚠️ | RingCentral | SoundPoint IP 335 | dials out, no dial in |
| Front Door | entry | 322 | ⚠️ | Polycom | SoundPoint IP 335 | dials out, no dial in |
for more about polycom-specific things: Polycom Phones
ANALOG (pots phones)
there are ~3 POTS phones connected to the Grandstream ATA in the Focus Foundry. here are the details:
| name (PBX) | location | ext. | state | brand | model # | notes |
|---|---|---|---|---|---|---|
| Payphone | the hub | 303 | ⚠️ | Nortel | ? | working? more testing needed |
| nc red phone | focus foundry | 305 | ✅ | works! | ||
| Fax USE THIS ONE | hacker lounge | 401 | ✅ | Brother | IntelliFAX2840 | has dial tone |
questions?
reach out on the chat room or dm us on matrix! 👇
chat room
https://matrix.to/#/#telephony:devhack.net
maintainers
- amber: hmu on matrix: @tracert:devhack.net or visit my site: https://tracert.me