• Please review our updated Terms and Rules here

MoIP: How do we make modem calls over IP? (and general chat about phone networks and modems, T1, E1, BRI 56k etc)

No, I don't have any use for in-call pulse-to-tone conversion - I was just curious if it would do it. The PBX is mostly just for in messing around with modems, and receiving the occasional inbound call via the ATA. Placing outbound calls via VoIP is unfortunately much more expensive than just using a cellphone so I've never tried.
Expensive? With anveo direct it's a fraction of a cent per minute. With voip.ms it's still only one cent per minute
 
Expensive? With anveo direct it's a fraction of a cent per minute. With voip.ms it's still only one cent per minute
My current provider doesn't charge any monthly fees and gives free inbound calls, but outbound calls to local (land-line) numbers are 3c/minute + tax, and calls to mobiles (which is pretty much all anyone has now) are 15c/minute + tax.

Looks like voip.ms is $0.0203/minute for outbound local calls and $0.009/minute for inbound. Unclear how calls to mobile numbers are priced. Avenco seems to have a monthly fee of around US$17.18 if I'm reading the page right, it doesn't seem to give any per-minute costs on top of that so perhaps there aren't any. Though the monthly fee would buy quite a lot of minutes with my current provider
 
at least in the US there is no distinction at all between calling a mobile number and a "landline" for billing purposes
 
at least in the US there is no distinction at all between calling a mobile number and a "landline" for billing purposes
For whatever reason here all the mobile network operators decided to charge 15c/minute for terminating calls on their networks. I assume calls to land-lines were cheaper due to regulations (Telecom/Spark being a formerly state owned monopoly). The Commerce Commission apparently investigated regulation for mobile termination fees but I guess it never happened
 
Re VoIP: A sad thing is that at least here in Sweden it's common that ISPs provide a "landline" VoIP service where you get an analogue phone line port on the router they supply, and it might even be without any monthly fee, but the digital part is generally locked down. I get why they don't want average consumers fiddling with things that might mess things up, but for us nerds it would be really nice to be able to have Asterisk talk directly to their service.
 
What you want is something like Telebahn x25.org ... You have an X.25 PAD on your end, routing over the internet to an X.25 PAD on the remote end where the BBS or timesharing service is. With some trickery you can have an ATA hand off the dialed digits via Asterisk or what have you, always end up connected to the same modem hanging off your local server, translate the dialed number to an X.25 address. Most of us that were playing with it have moved on I think. It would have been like the old telenet / tymnet had more people developed interest in it.

I've still got some of the stuff for my asterisk dial-any-number thing... this was one variant I had working between 2018 and 2023 (probably some bits missing, sorry.) https://github.com/dkgrizzly/bbsdial
It looks up the dialed number in a database, and passes the call on to telnet or a local program, if the number isn't found in the DB it can route the call to all circuits busy, number not in service, etc.

The more recent version I've been building isn't as strict about the modem pool, it instead flips the caller ID to be called number, and any modem in the pool can accept the call, a customized build of mgetty grabs the called number from the caller ID number field, and does the final mapping of number to function / host. The version currently on github assigns a modem that is marked as unassigned and stores back to the DB what the called number was before passing the call to the modem. When the call ends, the modem is once again unassigned.

The new version of it runs on two cisco routers hosting almost everything, a 72 analog FXS card in each, 12 T1 ports on each in a back-to-back configuration between them, asterisk running on a UCS-E server blade inside one of the routers, and a Sun Blade 150 stacked on top with three MultiModem PCI 8-modem cards for a 24 modem dialup bank running on NetBSD.

I would have loved some digital modem PVDMs for the ciscos, but those are insanely expensive. Last time I checked, a single 12-port digital modem PVDM was selling for more than my entire stack of equipement cost. The 36-port PVDMs were north of $3k US.

Other projects have risen to the top of the pile, and the dialup stuff filtered to the bottom. Maybe for VCFMW 2026 I'll drag the mobile rack along and get a few T1's handed off from joe_z.
 
When you make a local FXS-FXS V.34 call through the adtran, what round trip latency figure do the modems report (ATI11)
The answer to this is "3ms", unlike the Pattons, the Adtran does zero latency FXS-FXS circuit switching!

With the line impedance set to 600r and gain 0/0, I'm getting SNR in the 40s on internal calls and greatly reduced local echo. Marginally better than the Patton 4112, and vastly superior to the 4141.

It also rings my western electric 500 phone, even at the default ring voltage of 50Vrms, which the Patton 4112 did not (the 4141 did).
Only drawback so far relative to the Pattons is that there is no pulse dial support. Not a huge deal by any means.

I have yet to get the SIP trunk setup, so no outside call testing as yet.
 
The Adtran software is called AOS ; last I checked the typical sites like manualslib had them.

If you login, run "sh conf" (show configuration), "sh ver" for version, this will tell you what you are running. A02, A04 are very old versions, R10.x or higher, preferably R12,x will have a lot more features. Basic help is available by using the question mark. show ? will show you sub-commands, then doing it in a sub-command will prompt you if there are further options. For instance "sh arp ?" will show you if there are any more options for the arp command.

I can help more, if you get stuck...
Alright I'm stuck. I cannot for the life of me figure out how to configure the adtran to spoof the public IP in the call setup. It keeps providing its own private internal IP, which results in my calls having no media stream.
 
It appears you simply cannot, which is a significant drawback relative to the pattons and the consumer level ATAs. Not a deal breaker as I can setup an outbound SIP proxy in my router to rewrite the SDP information but it's certainly needlessly annoying. The newer versions of AOS do have a function which could do this called "Header Match/Replace" but the newest AOS available for the first gen devices is A4.11.00.E which lacks this feature entirely.
 
you may need to set up NAT ; but first you can try "rtp symmetric-filter" as well. Sanitize your config file and DM it to me if you wish, will have a look
 
you may need to set up NAT ; but first you can try "rtp symmetric-filter" as well. Sanitize your config file and DM it to me if you wish, will have a look
That made no difference, but I did get the media stream working for both inbound and outbound calls by installing and configuring siproxd on my openwrt router. And, wow, the adtran blows everything else out of the water with respect to quality and reliability of modem calls. Both the quality of the analog frontend as well as its ability to handle the RTP streams without disrupting the modem calls.

I'm getting sustained V.90 speeds of 54,666 now (FXS to SIP, not the local T1!), which will sustain file transfers without any drops. The best connect I ever got on the Patton was 53,333 but it would usually drop to 52,000 during the call. The success rate of extended file transfers is also generally much higher, in both V.34 and V.90. Locally circuit switched V.34 calls perform exactly like they did going through the analog PBX, with no latency.

I may still need to pick your brain about the dial plan and call routing aspects of the configuration. Adtran has a fairly different routing paradigm than Patton so I'm still getting that figured out.
 
I have 56k (V.90) dial-up connectivity locally through the Virtual Console and Patton combination, but to offer 56k dial-up externally... I'm unsure of what would/could replace the need for an actual, provider-based T1/PRI.
Several months later...

I've paired a Patton 4960 SmartNode with the Patton 2800 RAS, where the former is registered with SIP services through VoIPVoIP. The configuration is yet unoptimized, but as just an initial test, anyone should be able to dial 385-955-3456 from their modem (VoIP, landline, or otherwise), through an appropriate terminal emulator, and obtain connection/redirection to the lord.stabs.org BBS.

I would appreciate whatever feedback can be provided concerning the quality/consistency of the connections to help tweak things further. The RTT may not be the greatest, as the Zadarma point-of-presence isn't nearby, so I'm already considering switching to VoIP.ms as a next-step.
 
Several months later...

I've paired a Patton 4960 SmartNode with the Patton 2800 RAS, where the former is registered with SIP services through VoIPVoIP. The configuration is yet unoptimized, but as just an initial test, anyone should be able to dial 385-955-3456 from their modem (VoIP, landline, or otherwise), through an appropriate terminal emulator, and obtain connection/redirection to the lord.stabs.org BBS.

I would appreciate whatever feedback can be provided concerning the quality/consistency of the connections to help tweak things further. The RTT may not be the greatest, as the Zadarma point-of-presence isn't nearby, so I'm already considering switching to VoIP.ms as a next-step.
I tried twice via a USB USRobotics 56K modem that I know works to other numbers, but for some reason I never got through. I did get the proper tones from calling via my cell phone, however.

If you having the ability to capture local traffic with Wireshark, you can use Wireshark to analyze the packets and determine whether there were drops and what latencies were etc.
 
I tried twice via a USB USRobotics 56K modem that I know works to other numbers, but for some reason I never got through. I did get the proper tones from calling via my cell phone, however.
Thank-you for trying that. :) I did see the call attempts logged at the 2800 RAS at least.

I seem to be getting incredibly inconsistent behavior from the SIP/VoIP side of things, unfortunately. When the modem calls work/connect, they seem to do so pretty well - connections above 33.6K, with reasonable SNR/jitter/latency stats. Conversely, when things are not working/connecting, it's with gusto, and seemingly without any rhyme or reason. It's especially annoying in that things will work consistency for a while, and then, after some duration of inactivity, just not work at all.


Don't, voip.ms is absolutely ass for modem calling. They proxy the RTP stream and do a terrible job of it
Hah! That's good to know. Any provider you might recommend instead?
 
Anveo direct is very solid if you can handle IP based outbound authentication (i.e. have a static IP or are willing to manually update the portal when yours changes)
 
Alright, so the new Anveo Direct configuration is looking promising so far. Thank-you again for the recommendation, maxtherabbit. I have the 2800 constrained to V.34 and below, but those calls are looking fairly consistent.

The new number to test against is 385-596-1770.
 
Got in and registered an account then reconnected to log in. Good connect both times at 33.6/31.2 with 41 SNR no tx/rx errors.

Only thing is your round trip latency is very high. Mid 600s to 700
 
Back
Top