If you want to have fun, this is probably the right approach. After a while of managing it on behalf of other people, especially in a commercial context, it can be a relief to discover that most of the companies that provide SIP and IAX trunks will also provide virtual PBX services for roughly the same cost as adding a pair of virtual machines at a cloud company. The tradeoff is flexibility, usually.
If you’re doing it for fun, you might consider going even more old school. When I was a student, companies were starting to move to SIP for internal use and analogue PBXs were starting to be dirt cheap on eBay. A quick skim suggests that they still are. We picked up a PBX and enough phones to put one in every room in the flat we were renting and so could call each other and forward external calls to the right person (mobile phones were still expensive then). The PBX itself had an RS-232 interface and so we wrote some code to talk to it and do things like sort our phone bill for outgoing calls. The PBX also had fun things like a PA mode that let you broadcast to the speakerphone mode on every handset, which was fun at parties.
You won’t learn anything useful doing this, but I’m not sure you will with SIP either since most office phone setups seem to be moving to proprietary services. Now that everyone needs a decent microphone and speaker for video calls and has a phone-shaped computer in their pocket, the endpoints are all general-purpose computers and you just need a whatever-you-use-internally to POTS bridge for interoperability, and that’s something all of the big video calling platforms provide (except Signal, but it isn’t really aiming at the corporate market).
Hey, loved the article, I personally have two questions:
1- If you are trusting a company company to provide the VoIP service, what is the purpose of running your own instance of Asterisk? Maybe I wrongly assumed you could just host everything yourself, all the way to registering a phone number, etc…
2- Do you have problems using your phone number with Google or other services that don’t like VoIP numbers?
Good question! If you only have one VoIP phone, you may not get much out of using Asterisk, since you could just log in to your SIP account directly from that device. However. if you have multiple VoIP phones/softphones, and you want to ring them all simultaneously, you might need Asterisk. In addition, if you want to be able to call each other on your own local extensions, then you will definitely need a PBX like Asterisk to handle the call routing.
As for your your second question…I have not personally had many issues using my VoIP number for online services, though I imagine this probably varies heavily based on your provider. JMP.chat works great for SMS 2-factor codes, in my experience.
thanks for this! the glossary is particularly useful; I’ve been researching this topic on my own recently and it seems like a lot of resources on it are more oriented towards selling something than empowering people, which means their explanations of terminology are overly focused on whatever they’re selling, to the exclusion of giving broad background as you did. I can tell I’m going to point people to this.
Great writeup, and applause for digging into the meat of what makes Asterisk so great to begin with. I discovered this marvelous piece of software in 2007 and have been using it ever since in various forms.
Most people deploy FreePBX (including myself for convenience) but it abstracts a lot of what Asterisk is capable of and I always encourage folks to learn it’s capabilities vs. just relying on FreePBX or anything similar.
I spent the first 23 years of my career in telco, learned so much about VoIP by messing with Asterisk and really helped when VoLTE came along.
Awesome article. I would recommend SRTP and SIP TLS solely because the PSTN is iirc far more secured, generally (and in the UK it’s being switched off in 2025). Do you have any opinion on OpenSIPS vs Asterisk, or on why you picked Asterisk in particular?
If you want to have fun, this is probably the right approach. After a while of managing it on behalf of other people, especially in a commercial context, it can be a relief to discover that most of the companies that provide SIP and IAX trunks will also provide virtual PBX services for roughly the same cost as adding a pair of virtual machines at a cloud company. The tradeoff is flexibility, usually.
If you’re doing it for fun, you might consider going even more old school. When I was a student, companies were starting to move to SIP for internal use and analogue PBXs were starting to be dirt cheap on eBay. A quick skim suggests that they still are. We picked up a PBX and enough phones to put one in every room in the flat we were renting and so could call each other and forward external calls to the right person (mobile phones were still expensive then). The PBX itself had an RS-232 interface and so we wrote some code to talk to it and do things like sort our phone bill for outgoing calls. The PBX also had fun things like a PA mode that let you broadcast to the speakerphone mode on every handset, which was fun at parties.
You won’t learn anything useful doing this, but I’m not sure you will with SIP either since most office phone setups seem to be moving to proprietary services. Now that everyone needs a decent microphone and speaker for video calls and has a phone-shaped computer in their pocket, the endpoints are all general-purpose computers and you just need a whatever-you-use-internally to POTS bridge for interoperability, and that’s something all of the big video calling platforms provide (except Signal, but it isn’t really aiming at the corporate market).
Hey, loved the article, I personally have two questions: 1- If you are trusting a company company to provide the VoIP service, what is the purpose of running your own instance of Asterisk? Maybe I wrongly assumed you could just host everything yourself, all the way to registering a phone number, etc… 2- Do you have problems using your phone number with Google or other services that don’t like VoIP numbers?
Good question! If you only have one VoIP phone, you may not get much out of using Asterisk, since you could just log in to your SIP account directly from that device. However. if you have multiple VoIP phones/softphones, and you want to ring them all simultaneously, you might need Asterisk. In addition, if you want to be able to call each other on your own local extensions, then you will definitely need a PBX like Asterisk to handle the call routing.
As for your your second question…I have not personally had many issues using my VoIP number for online services, though I imagine this probably varies heavily based on your provider. JMP.chat works great for SMS 2-factor codes, in my experience.
Makes sense. Thank you!
thanks for this! the glossary is particularly useful; I’ve been researching this topic on my own recently and it seems like a lot of resources on it are more oriented towards selling something than empowering people, which means their explanations of terminology are overly focused on whatever they’re selling, to the exclusion of giving broad background as you did. I can tell I’m going to point people to this.
Great writeup, and applause for digging into the meat of what makes Asterisk so great to begin with. I discovered this marvelous piece of software in 2007 and have been using it ever since in various forms.
Most people deploy FreePBX (including myself for convenience) but it abstracts a lot of what Asterisk is capable of and I always encourage folks to learn it’s capabilities vs. just relying on FreePBX or anything similar.
I spent the first 23 years of my career in telco, learned so much about VoIP by messing with Asterisk and really helped when VoLTE came along.
Awesome article. I would recommend SRTP and SIP TLS solely because the PSTN is iirc far more secured, generally (and in the UK it’s being switched off in 2025). Do you have any opinion on OpenSIPS vs Asterisk, or on why you picked Asterisk in particular?