4 ms·
I’ve just built out a fairly complex PBX solution for a client using asterisk and Cisco SPA5xx series phones. I have to admit that, coming from a non-telephony
by tapvt 7y ago
I’ve just built out a fairly complex PBX solution for a client using asterisk and Cisco SPA5xx series phones.
I have to admit that, coming from a non-telephony dev background, there was a bit of a learning curve.
Looking forward to watching this when time allows.
- amingilani 7y agoWhat did you use to bridge the knowledge gap? I've been trying to figure out Asterisk since I was a teenager, but never found a great resource. They used to call themselves Apache for telephone around that time, but since then, I've become a full-stack dev and I still don't understand Asterisk. I suppose It's probably because I haven't been giving it enough time, myself.
- orev 7y agoThere is a LOT of terminology specific to phone stuff, and I find that to be half the battle. Just because phones currently kind of look like IT doesn’t mean they actually follow IT conventions. You’re taking a 100 year old technology and layering it on top of IT, so many of the assumptions IT people have don’t always apply.
- xorcist 7y agoI did a bit of consulting around Asterisk when it was younger and one of the strengths was how easy it was to get started. There's a bit of terminology to it, and the dialplan language is arcane to put it mildly, but it's all very straightfoward. The comparison with Apache is apt, with equivalents to CGI and everything. Bascially the best way to get started is to just install it and use asterisk.conf from the sample directory to get started (not the other files). You'll probably be running SIP to both your phones and your uplink so create a new sip.conf. Read the corresponding wiki page at voip-info.org for syntax, and look at the sample file for reference (it's way too complicated to use as-is). Then write a dialplan in extensions.conf. That's the description of how calls should be processed (something like "when a local phone dials 3xx, call a local phone by that name", "when a local phone dials a longer string, place an outgoing call"). Again, check the wiki and sample files for examples. Don't be put off by the language, which uses line numbers for code. That's enough to get started. The O'Reilly book is really, really good should you wish to invest in it. There are one-click installers and web interfaces available too, I haven't used those but they're probably better should you wish to have something more product-like. There's not as much small scale consulting work in the PBX space as it used to be since mobile phones took over. Most work is around call centers but it can still be challenging and fun.
- secabeen 7y agoYep, just do it. That said, if you want some abstraction, putting FreePBX in between you and Asterisk does give a lot of ease of install, and you can always read the conf files that FreePBX creates when it configures asterisk based on web commands. On the uplink side, I push all my calls through voip.ms. I pay per minute inbound and outbound (I think it's about $0.01/min, which seems expensive, but then there's no crazy $30/mo crap). DIDs (aka inbound phone numbers) cost $2-4 month, depending if you need e911. Calls are handed off via Asterisk's IAX2 protocol, although SIP works too. We use Polycom phone hardware, which has been really solid for over 10 years, and which has great call quality, given Polycom's experience in conference room phones. If you want to get hardcore with digital lines from your telco, you can use a used cisco device as a media gateway for under $2k. My PBX is just a VM on our infrastructure like any other.
- amingilani 7y agoThank you! One more question: What kind of hardware would I require to connect my server to the plain old telephone system? In my country, we don't have VOIP gateways for consumer use.
- secabeen 7y agoSo, assuming your phone network is compatible with the US POTS (Plain old telephone service) system, here's what you need. Analog interfaces for phones run in two modes: FXO or FXS. An FSX adapter, is a device that you connect a phone device to. It generates dial tone. That's not what you need. What you need is an FXO device (sometimes called a channel bank). That is a device that emulates a phone device, and which consumes dial tone. Many devices sold as FXO gateways are expensive. If you have a real server, you can get an FXO PCI card from Digium for some hundreds of dollars, but that's expensive too. Some cheap FXS devices can also operate in FXO mode. The cheapest one appears to be the Grandtream HT813 for $89: https://www.voipsupply.com/grandtream-ht813-gateway-ata https://www.voipsupply.com/grandtream-ht813-gateway-ata
- 7y ago
- kimi 7y agoJust install the ISO, connect two phones (or softphones) and play around with it a bit. It's a lot of fun, and it's useful IRL. For example, inbound queues (+QueueMetrics for monitoring) are very useful to share work on the basis of "what" instead of "who", even if you have a just a few people on the system. AGI scripts + Google TTS are a no-brainer to use and get you nice voice messages. Voicemail to e-mail is simple to set up and you can add transcription as well. There is a lot you can hack on and everything can be set up as needed.