Difference between revisions of "Telephone System"
m (set project picture) |
(added SIP connection information by transclusion magic) |
||
Line 27: | Line 27: | ||
Every room has a phone now, albeit analog, DECT or ISDN, see todo for Cisco 7900 setup. | 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. | The phones connected to the Fritz!Box are connected to both VoIP systems which in their case, are both connected to the VPS. | ||
+ | |||
=== todo === | === todo === | ||
Line 147: | Line 148: | ||
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. | 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 [[User:LuckY|LuckY]] sniffed and replayed audio over a wifi link. | People were allowed to navigate the configs and exploit functionality and [[User:LuckY|LuckY]] sniffed and replayed audio over a wifi link. | ||
+ | |||
+ | == connecting various devices to ACKspace VoIP == | ||
+ | {{:Fritz!Box|transcludesection=connecting_Fritz!Box}} | ||
+ | {{:Telephone_system:Analog_Telephone_Adapter|transcludesection=connecting_PAP2T}} | ||
+ | {{:Siemens_Gigaset|transcludesection=connecting_N510_IP_PRO}} | ||
+ | {{:Telephone_system:Analog_Telephone_Adapter|transcludesection=connecting_SPA3000}} | ||
+ | {{:Thomson_ST2030|transcludesection=connecting_ST2030}} | ||
[[Category:Telephony]] | [[Category:Telephony]] |
Revision as of 21:03, 23 September 2016
Project: Telephone System | |
---|---|
Featured: | |
State | Active |
Members | xopr |
GitHub | No GitHub project defined. Add your project here. |
Description | Telephone Communication System |
Picture | |
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.
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
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:
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 | VPS status |
---|---|---|
(\+|00)([1-9]\d+) | international | 2024-03: unknown |
0[1-9]\d+ | long distance | 2024-03: working |
100 | ring all onsite (ACKspace) extensions | 2024-03: unknown |
10[1-9] | onsite (ACKspace) extensions | 2024-03: unknown |
2024-03: unknown | ||
2024-03: unknown | ||
1200 | ACKspace portal (external IVR) | 2024-03: conference |
1201 | alternate IVR (events) | 2024-03: unknown |
2024-03: unknown | ||
2024-03: unknown | ||
1300 | listen-in event conference rooms IVR | 2024-03: KINK radio |
130[1-9] | listen-in event conference rooms 1-9 | 2024-03: temporarily disabled (SIT) |
1331 | External conference room | 2024-03: working |
1332, 13ec | External Conference room | 2024-03: unknown |
1333, 13ee | External Echo test | 2024-03: unknown |
1334, 13ei | External server Identification and ANAC | 2024-03: echo service |
1335, 13el | External Late echo test | 2024-03: working |
1336, 13em | External "Motivationals": 1 motivational per call | 2024-03: working |
1337, 13er, bergeijk | External Radio Bergeijk | 2024-03: not working |
1340 | Hackerspace state | 2024-03: not working |
1351 | Local conference room | 2024-03: not working |
1352, 13lc | Local Conference room | 2024-03: not working |
1353, 13le, echo | Local Echo test | 2024-03: not working |
1354, 13li | Local server Identification and ANAC | 2024-03: not working |
1355, 13ll | Local Late echo test | 2024-03: not working |
1356, 13lm | Local "Motivationals"3 | 2024-03: not working |
1357, 13lr | (Local Radio)3 | 2024-03: Local ident |
1371 | Remote conference room | 2024-03: not working |
1372, 13rc | Remote Conference room | 2024-03: not working |
1373, 13re | Remote Echo test | 2024-03: not working |
1374, 13ri | Remote server Identification and ANAC | 2024-03: not working |
1375, 13rl | Remote Late echo test | 2024-03: not working |
1376, 13rp, 13po, poetry | Remote Motivational, '76 poetry; 1 poem per call | 2024-03: working |
1377 | (Remote Radio)3 | 2024-03: not working |
1380 | Time service | 2024-03: not working |
1388 | Forward to Test setup | 2024-03: time service |
139[1-9] | party-line event conference rooms 1-9 | 2024-03: not working/disabled |
2024-03: unknown | ||
150 | ring all offsite extensions | 2024-03: unknown |
15[1-9] | offsite extensions | 2024-03: unknown |
2024-03: unknown | ||
170\d+ | reserved for future (expanding) purposes | 2024-03: unknown |
17[1-9] | participants extensions | 2024-03: unknown |
18\d\d | subscriber information service | 2024-03: unknown |
19\d | participants extensions | 2024-03: unknown |
[2-8]\d{6} | local numbers (Heerlen, 045) | 2024-03: unknown |
9\d\d | SpacePhone (interhackerspace enum extensions) | 2024-03: unknown |
- 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.
connecting various devices to ACKspace VoIP
connecting the Fritz!Box
- Note that the Fritz!Box is pretty quirky regarding SIP: it can't handle a 407-unauthorized correctly when in router mode (which is needed to differentiate between public and internal calls). xopr had more success setting the device as a flat switch and putting it behind a generic router (tested with a ZyXel).
- It also doesn't like usernames; you have to start with a number and change it afterwards.
- It does seem to have more ring power than the tested ZyXel, though.
connecting the Linksys PAP2T
The following settiings are needed:
- TBD
connecting the N510 IP PRO
Under Settings » Telephony » Connection, the following settings are needed:
- Connection name or number: <anything>
- Provider: Other provider
- Authentication name: <username>
- Authentication password: <password>
- Username: <username>
- Display name: <anything>
- Lookup Enabled (if available, version ≥ 240): yes
- Domain: ackspace.nl
- Registration server: <leave empty>
- Proxy server address: <leave empty>
- Proxy server port: <leave empty to trigger SRV lookup>
- Registration server: <leave empty>
- Registration server port: <leave empty to trigger SRV lookup>
- Registration refresh time: 110
- STUN enabled: Yes
- STUN server address: stun.ekiga.net
- STUN server port: 3478
- STUN refresh time: 240
- Outbound proxy mode: Automatic
- Outbound proxy port: <leave empty to trigger SRV lookup>
- Select network protocol: Automatic
- Note that these settings take a while for the Gigaset to connecto to the right server.
- Also, make sure that under Settings » Telephony » Advanced VoIP settings, SIP port: (or its random range) does not conflict with other SIP devices behind the same NAT.
connecting the Sipura SPA3000
Under Admin Login » Advanced » Line 1, the following settings are needed:
- SIP Port: <make sure this port does not conflict with other SIP devices behind the same NAT>
- Proxy: ackspace.nl
- Register Expires: 110
- Use DNS SRV: yes1
- DNS SRV Auto Prefix: yes1
- Display Name: <anything>
- User ID: <username>
- Password: <password>
- Dial Plan: (1[01579]xS0|1[23]xxS0|5000S0|2xxS0|00x.|0[1234567]xxxxxxxxS0|088xxxxxxxS0|0800xxxx.|090[069]xxxx.)
1) or use: Use Outbound Proxy: yes and Outbound Proxy: sip.ackspace.nl
connecting the Thomson ST2030
Under SETUP » VoIP Service » Basic Setup, the following settings are needed:
- Profile Name: <anything>
- SIP Unregister: unchecked
- URI Type: SIP
- SIP Transport: UDP
- Connect Reuse: checked
- Service Domain: ackspace.nl
- Registrar Server Address: ackspace.nl
- Port: 5060
- Proxy Server Address: ackspace.nl
- Port: 5060
- SIP Local Port: <make sure this port does not conflict with other SIP devices behind the same NAT>
- TLS Local Port: <make sure this port does not conflict with other SIP devices behind the same NAT>
- Registration Timer: 110
- Registration Frequency: 110
At the bottom, User Accounts, set the following:
- Phone number: <username>
- Phone Name: <anything>
- Authentication ID: <username or number>
- Password: <password>
Under ADVANCED » Networking » Outbound Proxy, check the following setting:
- Outbound Proxy Flag: disabled
Under ADVANCED » Voice Settings » Codec Setup, set all codec settings to:
- Fixed
For the dial plan go to ADVANCED » Voice Settings » Advanced, VoIP Dial Plan: |1[01579]x|1[23]xx|5000|2xx|00x.T|0[1234567]xxxxxxxx|088xxxxxxx|0800xxxx.T|090[069]xxxx.T|
Note: if you switch profile on the phone (that switches from or to behind-NAT), you have to reboot/powercycle the device for audio to work correctly.