Raspberry Pi, PBX

I see a lot of how to install articles about using the PI for a PBX.
Sounds interesting, but I have some very basic questions for anyone that
has done this. I have only VOIP experience with Magicjack, and it was
not good.
Why would one want a PBX for a Small Office/Home Office (SOHO)?
What features would I get that I would not get from Ooma delux?
How is this connected to the phone system so I can call anyone? I've
seen 'SIP' mentioned, and some Googling has revealed some SIP vendors,
but they all seem to be aimed at business of 10 or more.
Anything else I should know about a home PBX?
Thanks,
Dave
Reply to
Dave
Loading thread data ...
I've installed many (small) PBX, a.k.a. key systems, for small / home offices so that X number of lines could be shared by Y number of people, where Y > X. PBXs also typically offer the ability call between phones internally without the need to tie up multiple telephone lines (outgoing and incoming). Most PBX systems include some form of voice mail.
I'm not familiar with Ooma so I can't compare.
It depends.
I'm not trying to be snarky. There are many different options, most of which depend on the size / scale / number of lines / features you want / what you're interfacing with / etc.
It also depends on what type of PBX /
key system that you're talking about; really old school analog, not so old school digital, contemporary VoIP, etc.
Session Initiation Protocol, a.k.a. SIP, is a protocol that two (2) devices use to communicate. What those two devices are and what they do with it defines a system.
I'm of the opinion that there main categories that SIP ~> VoIP can be used for:
1) From the phone on the desk to the phone system in the office. 2) From the phone system in the office to the world via a SIP provider. 3) From the phone on the desk to the world via a SIP provider.
SIP is one of many VoIP protocols that can do very similar things.
There are devices called Analog Terminal Adapters, a.k.a. ATA, that convert from old school analog phone line to VoIP. These can be used, in any of the above configurations, to connect analog phones to VoIP equipment.
ATAs also exist for digital PBXs / key systems and do much the same function.
There's LOTS more to know. But much of it is more specific to the use case and the technology involved.
--
Grant. . . . 
unix || die
Reply to
Grant Taylor
Grant,
Thanks for the insight. I didn't want to clog the discussion with a lot of detail, but I see I errored. I work out of my home office and use Magicjack. I'm not happy with the voice quality (lot of drops), and the support could be a lot better. So, I set out to find another provider. What I found was: * There are a number of VOIP providers. The price is usually a lot higher than advertised -- The $6.50 to $9 is actually $14 to $20 with taxes and fees. * Like anything else, there are some providers that are in the top tier (4 stars and above), and the rest. The top tier providers have the highest prices (no surprise). * There is the possibility of using a softphone, but it is not clear how that connects to the telephone network (VOIP of land line). * There are some interesting projects using the Raspberry Pi as a PBX. Again, it is not totally clear how this connects to either land lines or VOIP, or even if it is something that may work for me.
My take on things is that either the softphone or Pi PBX may be worth pursuing, but I don't have the time right now. So what I am doing is getting information about them for future use. Thus, my posting of the questions. It looks like the PBX may be over-kill for just me, but who knows. One of the features I really want is the ability to record calls, so that may push me in the direction of the PBX.
Dave,
Reply to
Dave
Why would someone want a home (or small office) PBX?
A couple of years ago, I set out to build a home PBX using a Pi and a box from Grandstream. I had intended to put it on a residential landline to replace both an answering machine and a Caller ID gateway unit. I wanted better control over blocking spammers and scammers. I had intended to create both a whitelist and a blacklist. Whitelist callers would ring through with option to leave a message if nobody at home answered. Callers on neither list would get a greeting inviting them to leave a message so we could consider whitelisting them. Blacklist callers would get a greeting similar to, "You have been blacklisted. Welcome to purgatory. You may leave a message to plead for removal from the blacklist." If someone had been mistakenly blacklisted, that would allow me to correct the mistake.
I studied Asterisk as the basis for the PBX. In the end, I couldn't make sense of the rather strange language Asterisk uses for programming. It's basically INI file syntax but with some not-well-explained semantics. While struggling to make sense of it, I ran out of sabbatical and have not had time to get back to it.
HTH
--
Robert Riches 
spamtrap42@jacob21819.net 
 Click to see the full signature
Reply to
Robert Riches
Boy, can I relate to your story! Seems open source code and good documentation are often mutually exclusive. Hopefully things have improved somewhat, but it is definitely reason for caution.
Dave,
Reply to
Dave
In 2009, I purchased an IP04 4-channel PBX (Blackfin Linux, Asterisk 1.4.4, 1 input line, 3 extensions + VoIP), and played with it a bit.
Now, that PBX does everything that your (Robert Riches) post wanted: It filters my incoming landline, with both CID blacklisting and whitelisting, and custom greetings as appropriate. Outgoing calls either go by landline or, in the case of long distance, VoIP (which costs me less than $0.01 per minute). I have a home-grown web interface, and call reporting. Incoming spam calls don't often make it to a real person; the spammers usually hang up before the system allows the call to ring through to one of the extensions.
I couldn't live without it.
--
Lew Pitcher 
"In Skills, We Trust"
Reply to
Lew Pitcher
Lew Pitcher, you definitely have my full attention!
Distrowatch doesn't show a "Blackfin Linux", and DuckDuckGo hits say it was EOLed about 13 months ago. From
formatting link
it appears the IP04 has been discontinued but has "children" and other similar products may still be available (IP0{1,2,8}).
Are there any particularly good tutorials you would recommend?
If you wrote any software for it, would you be willing to share or open source it?
Thanks,
--
Robert Riches 
spamtrap42@jacob21819.net 
 Click to see the full signature
Reply to
Robert Riches
[snip]
[snip]
I thought I might :-)
Well, "Blackfin Linux" isn't really a distro any more. I don't know much about it other than what I've learned from Rowetel (David Rowe's hobby site), and the few bits and pieces I can find with google searches.
Yes, David Rowe no longer makes or markets the IP04. However, his hardware supplier Atcom (atcom.cn) also made them, and both the hardware and software are all "open source"; you can find a number of IP04 clones marketted on Alibaba or Aliexpress, and I wouldn't doubt that taobao also sells them.
David sold his IP04s as hobby devices, and the other IP04 clones are usually bought by telephony experts (those guys that you hire to install a PBX for you). What I've learned, I've learned from reading a couple of Asterisk books ("Asterisk: The Future of Telephony", available in PDF form with a Creative Commons licence, and "Asterisk: The Definitive Guide", both published by O'Reilly), reading the example asterisk configuration on the IP04, reading through various telephony websites
formatting link
is helpful in documenting the ins and outs of the backlevel Asterisk that the IP04 uses), and much, much experimentation.
Asterisk is open source, and you can get a minimal VoIP setup going fairly quickly on any Linux system. Further than that (like connecting to the POTS, or to your telephone handsets) takes specialized hardware that devices like the IP04 provide. (For what it's worth, you can also buy PCI/PCIe telephony cards with these interfaces; AliExpress merchants sell them starting at about $80 for a 4 line device)
Share it, sure. Open source it? Not yet. I'm still playing with the software, building it out bit by bit. It's in no shape to release into the wild. But, I can share it, with the caveat that I provide only /casual/ support, at best.
To catalog the work so far, I have the IP04, which answers my incoming landline, filters calls based on a spectrum list (from blackest black to pure white, with shades in between), and passes the call along to one (or more) of my inside extension phones. Outgoing local calls go out to the POTS line, while outgoing long distance calls to to my VoIP provider (voip.ms) at less than $0.01 per minute for North American calling, and often less for International calling.
At the beginning of each incoming call, the IP04 generates an MQTT message to an MQTT broker on my (repurposed desktop) home server. The IP04 also generates an MQTT message at the end of each call.
The call termination MQTT message triggers a process on my server that sucks down the IP04 Call Detail Record log and populates a MySQL database with the values. This is where I record the details of each call in or out. Additional tables provide a "phone book" of numbers and their placement in my spectrum (which ranges from "owner" to "family" to "friend" to "business" to "voicemail only" to "blacklist"); on each update of this table, and once nightly, the server uploads a version of this table to the IP04 for it's use in managing wanted and unwanted calls.
Then, there's the web interface running on my server; It gives me a "phone bill" look at the phone activity, along with some (incomplete) editing of the "phone book" tables. This is one of the "works in progress".
There's way too much to go into here. Take a look at my blog
formatting link
for more of the details.
--
Lew Pitcher 
"In Skills, We Trust"
Reply to
Lew Pitcher
FWIW, my email works. You are welcome to take this conversation to email with me.
--
Lew Pitcher 
"In Skills, We Trust"
Reply to
Lew Pitcher
Cos they have a big house.
I have one that I retain mainly for the doorphones. They ring all the telephones!
It is also a handy way to separate private and business class on et same telephone - I have a VOIP line from SIPGATE presented as the second incoming line
I found the same issues with TVheadend. LISP. Loads of Irrelevant Superfluous Parameters.
Like a linux man page, it tells you how to do stuff, but never why you might want to do it.
Its generally how techies write manuals when they can't be arsed to do a proper job and want to get back to programming.
--
The New Left are the people they warned you about.
Reply to
The Natural Philosopher
SIP can be used in TCP/IP. For example you have a SIP client and a VPN over which you can reach the PABX of your company. Over this you can either call your co-workers or dial out. It is just an example.
The SoftPhone can refer to a software using a phone line (RJ11) via modem on your PC but also a software that uses SIP (jabber or similar). I'm not 100% sure, I've seen both.
Regarding the quality most of it uses RTP, so if your network connection or whatever is not stable or low in capacity, it might be an issue.
The PABX usually consumes one or more land lines - for example you have a fixed prefix from your telecom provider 01234560 and can use X number (range) of extentions 0123456-1,0123456-2 etc. More than one land line is from my experience only available to business customers, however in my opinion is better than SIP on slow network connection as the line is dedicated - and this is what a non business customer usually gets. So a combination of both is IMO the best solution for home.
You have one line and multiple (SIP) desk phones at home - you setup your home grown PABX (asterisk) and can control how the incoming and outgoing calls are handled, if call is routed to answering machine after n number of rings etc. Obviously you are limited in the numbers of parallel incoming and outgoing calls by the lines you have.
Reply to
Deloptes
You don't have to know the inticacies of Asterisk - just a small bit at times.
There is an image for the Pi it is RASPBX -
formatting link

formatting link

install it on the pi, the front end is all done via web pages (Freepbx) which deals with setting up Asterisk.
Set up a couple of extensions, say 200 and 201, install softphone on your PC and set the account to 200, and on a laptop, set to 201.
you can then dial each other.
Thats for starters.
I have had a pi RASPBX running for at least 5 years, with 20 extensions, one ATA for the POTS line (plain old telephone systerm) , have also got free basic account from Sipgate, though UK and Germany only I believe,
At least 3 of the extensions are used externally, ie Malta, Spain. so when on holiday any incoming calls would ring wherever the extensions are located, and can dial out using the UK landline or Sipgate.
It is also easy to put a GSM (USB) dongle into the system - though you have to check for compatible ones.
There is a lot of info around on RASPX./Freepbx and Asterisk - just take it in small stages.
Reply to
Bob L
You're welcome.
I don't think it was an error per say. But it did make it so that you received more generic answers.
Fair enough.
I'm not that familiar with magicJack, but I do remember my impression of them was the lower end specifically for home market when I was more cognoscente of them 10-15 years ago. Maybe that's an unfair generalization that is ascribing aspects of their target market onto the technology.
That seems to be reasonable.
Ya. I've found that to be true of everything. VoIP providers are not immune. Though some of them do tend to play in the lower end of the price pool such that the amount of overhead is proportionally large compared to the price of the item. $7 in taxes is quite a bit on $7 in item price. $7 in taxes is negligible on $70 in item price.
If any thing, VoIP providers are somewhat subject to more taxes & fees than other services by nature of being part of or at least interfacing with the Public Switched Telephone Network. The PSTN is *NOTORIOUS* for taxes and fees. Plus some telephone companies are notorious for adding service charges for things people don't want, like inside wiring maintenance plan. (And then trying to charge time & material for people that have I.W.M.P.)
Aside: I've had clients get I.W.M.P. for 1-3 months just so that we can make the phone company chase a difficult problem vs paying someone else an hourly rate to do it. }:-)
Further aside: I found that having I.W.M.P. made it much less likely for the phone technician to point fingers at the inside wiring when it was an outside wiring problem. They were much more motivated to find it outside where it was usually easier than not doing so, trudging through inside, and then going back outside.
Yep.
There are also some purported top tier that are anything but. The opposite is true as well.
All soft phones must connect to a VoIP server. It's a matter of where that server is. It can be your own VoIP server that interfaces with the PSTN somehow, or it can be a VoIP service provider who interfaces with the PSTN on your behalf.
It's also possible to have a network of VoIP systems that don't interface with the PSTN at all. Instead, they form their own VoIP network. These tend to be private.
Interfacing with the PSTN is done via a server that has both TCP/IP (UDP/IP might be more appropriate here) and PSTN connectivity. PSTN connectivity can be with something as simple as an analog modem with the proper software or as complex as a full SS7 interface. I'd say the most common PSTN interface is a T1 or an ISDN PRI line. They both provide 24 or 23 digital channels (respectively) for phone calls. IMHO the PRI has many advantages over the T1. (Even though the PRI is over a T1 circuit.)
Incidentally these are the same technologies that more traditional phone systems use.
In short, your VoIP call goes to a server that has the ability to convert from / to VoIP and PSTN. What technology is used is dependent on many things.
IMHO the Raspberry Pi is effectively a stand in for a generic Linux server, which is itself just a stand in for any server running VoIP software.
I expect that a Raspberry Pi would only be a switch for the chosen VoIP protocol and likely provide features thereon. As such, it's likely going to be dependent on an external device to be the PSTN interface. That can be a VoIP provider or an external modem (likely connected with USB, possibly via USB-to-Serial adapter). - I'm not aware of any (p)hats that are a PSTN interface (modem), but such may exist.
There may be some sort of cell phone adjacent interface that I'm not aware of.
Speaking of cell phones, it was once common to use Bluetooth between Asterisk and a cell phone as a means to interface with the cell network, which could itself be a PSTN interface.
I know that there are some dedicated boxes that speak SIP on one side, have one or more SIMs in them, and are effectively cell phones in a box for this purpose.
Notice the patter: VoIP protocol on one side, [Box], VoIP protocol on the other side. The VoIP protocols may be the same or different on either side of the [Box].
PBX is often seen as over kill for people that don't yet have one. But I think that many people find that they use it for more and more things. The Raspberry Pi just makes a very convenient, physically small and low power form factor for starting with VoIP -> PBX. You can do quite the same thing with software on most traditional computers. So, if you have a server in your network, it can probably also run the software without adding a device to the network.
--
Grant. . . . 
unix || die
Reply to
Grant Taylor
It is generally considered better for call quality to not run VoIP through a VPN as the VPN, depending on technology, can introduce delay (latency) and / or be inconsistent (jitter) into the call resulting in poorer (than not going through the VPN) call quality.
It was quite common to have a computer dial a (directly attached) modem in the '90s. There were many phone book applications that could automate many things and allow you to use the computer's microphone and speakers for the call.
Yep.
Many VoIP codecs that I've used in the past wanted to try to keep calls below 32 kbps. I was always running the calls over a 100 Mbps LAN, so I used the 64 kbps ulaw / alaw codec. Remember that the PSTN uses 64 kbps per voice call.
I'm used to seeing homes, especially with teenagers in the '90s, having at least two lines. Computer aficionados that ran BBSs would often have more.
Where "line" can be a traditional phone line, or SIP connection (ignoring SIP trunks that carry multiple lines), or T1 / PRI channel, or Bluetooth, or....
--
Grant. . . . 
unix || die
Reply to
Grant Taylor

, so I
4 kbps
It's not the bit rate that's important, its the voice quality. The mobile enhanced codecs are lower bit rate than PSTN, but have far better
speech and music quality.
---druck
Reply to
druck

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.