Live data from Hacker News

Building a Personal VoIP System

sacredheartsc.com

31–40 of 150 posts

Re: Building a Personal VoIP System

#31
post #9

Having gone down this road many times with freepbx, asterisk, etc.. I ultimately settled on just using voip.ms and connecting phones/sip clients directly to their internal sub-accounts with voicemail. They have enough features for most users so you don't need to worry about running your own PBX.

Same here. 3 businesses, only 1 problem in 10 years.

The only thing I have to add: if you need to make telephone calls, the call quality using a SIP phone is much better than using a softphone.

Re: Building a Personal VoIP System

#32
One of my first job, in 201, was to create a spam faxing machine based on Asterisk. Once the initial setup was completed (T38 is a bit tricky to tune), it was very effective, it sent more than one milion of faxes every year.

Re: Building a Personal VoIP System

#33
There is SIP and XMPP, but they may be overconvoluted for what I am trying to achieve. Namely, I am not aiming at internet universality (no IPv4 sharing abomination built into the protocols).

I am looking at a modular set of protocols built mainly for IPv6.

The base: the "telephone number" would be ipv6:port. "Ringing" and video/audio streams setup would be done here. End to end encrytion right from the start (only manual key exchange, zero automatic, even before ringing).

On top, a "comfort protocol"(one level of indirection) for those changing ipv6, but not "accutely roaming", namely changing ipv6 while in a video/audio call: a "DynDNS" but simpler, more a "current IPv6:port of 'name' kind of thing", "address book with a drop of dynamic", "name@server" and you get the current ipv6:port. Unfortunately, it means "accounts" and real time updates. Of course, "server" could be a local/dns/ipv6. I am thinking zero password, only a public key.

For video/audio streams, I may not bother and go TCP. The main constraint would be the timing information shared among video/audio streams. No "internet weather" dynamic reconfiguration.

I even consider going "horribly horrible" for internet: idiotic binary based instead of text based protocols.

Re: Building a Personal VoIP System

#34

> Use a SIP Application Layer Gateway. This is a horrible feature offered by some routers. Basically, it deep-packet-inspects your SIP traffic, rewrites the headers, and creates port forwards on-the-fly to make sure the inbound audio stream makes its way to your device. SIP ALGs are a total hack and notoriously buggy. Yes, these hacky ALG features also allowed internet users to access internal IPs on arbitrary servic…

This was on by default on a consumer router that was used at a small office. Their VoIP phones would get phantom calls until I discovered this and disabled it.

Re: Building a Personal VoIP System

#36

Excellent article, and sections "NAT Problems" and "NAT Solutions" are a good starter on that topic. Except even third-choice solution is not always feasible. Reserving fixed RTP/UDP port range is not possible with carrier-grade NAT, which is quite common with residential ISPs and nearly-universal with cell ISPs. Fourth-choice would be to reserve port range on a personal server (which would run B2BUA, asterisk in OP'…

All of the NAT problems would instantly to away with IPv6, but with adoption still at a meager 50% I suppose you'll need a PBX of some kind to receive at least half the calls.

For those stuck behind CGNAT, there are guides online for how to set up a VPN to a cheap VPS and forward all network traffic to your network so you can have almost-real connectivity at home. If you're content with 50mbps, you can even use Oracle's Always Free tier.

Re: Building a Personal VoIP System

#37
post #3

Would be interesting to hear why they use v4+nat and face the described problem. First thought was maybe they bought some very old phones without v6 support - but the models he recommends don't seem to have this problem based on a googled datasheet.

(Author here.) Sadly its a lot less interesting: my home ISP still doesn't support IPv6.

For what it's worth, and if you're willing to tinker, you can get IPv6 for free through a tunnel as long as your router responds to ICMP: https://tunnelbroker.net/

You can get a bunch of /64s and a /48 for free because HE really wants everyone to have IPv6 available already. Picking the right internet exchange to route from and making Netflix not throw a fit requires some minor experimentation but I've found it to work quite well.

As an added bonus, because of the way IPv6 route advertisements work, you don't have to have a router with tunneling support. You can set up advertisements from any Raspberry Pi or other computer as long as it has outbound connectivity.

Re: Building a Personal VoIP System

#39
post #9

Having gone down this road many times with freepbx, asterisk, etc.. I ultimately settled on just using voip.ms and connecting phones/sip clients directly to their internal sub-accounts with voicemail. They have enough features for most users so you don't need to worry about running your own PBX.

I have been using voip.ms since 2015 for my phone service. Multiple numbers (DIDs) pointing to an IVR where callers must press 1 to connect to me (totally avoids robocalls). Plus voicemail (transcribed and emailed to me).

One issue with voip on mobile (iOS in my case) is that I would often miss calls due to late push notifications and timing out. So recently I set up a calling queue that rings/pushes my phone a few times instead of just once (queue timeout to 30 seconds before hitting voicemail).

Basically, if you want the control FreeSwitch and Asterisk offer but don't want to self-host, voip.ms is the best way to go.

Re: Building a Personal VoIP System

#40

my wife had a requirement: be able to have an intercom for the house and shed. We used to have a baby monitor, but that was one way, for one room. Now we need many more rooms to talk to each other. I looked at some intercoms on amazon/ebay, they are all RF and a bit shit. I saw some wifi ones, but nothing cheap enough to take a punt on. I did think about trying to make something with an ESP32, but that would be too h…

I remember playing with an old device as a child at my grandparents' place, it was similar to a walkie-talkie but transmitting using the mains power instead of RF. It was supposed to plugged to a socket and hanged on the wall. It was made exactly for the use case you describe, as an intercom between rooms. It even had a button to ring a bell in another room.

These still exist, you can buy them on Amazon. [1] I figured these had to exist as I recently saw a device to make a lan using mains circuits.

[1]: https://a.co/d/31rKR02

Post reply on HN