• Linux Virtual Modem using VoIP?

    From Nick Young@21:4/145 to All on Thursday, March 11, 2021 03:46:25
    Hi All,

    I run my BBS up in the cloud on a Ubuntu VPS. I also run a C*NET exchange at home (ckts.info). I would love to add dial-up support to my BBS but I can't connect physical hardware (e.g. modem) to a VPS.

    Ideally I'd use SEXPOTS or mgetty to take a call from a 'modem' and pass it to my BBS telnet server but a physical modem and an ATA isn't an option.

    Does anyone know of a way to 'emulate' a modem which listens on a VoIP SIP/IAX line? Once the call is received I can probably work the rest out.

    Any help appreciated!

    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Avon@21:1/101 to Nick Young on Thursday, March 11, 2021 16:52:32
    On 11 Mar 2021 at 03:46a, Nick Young pondered and said...

    Does anyone know of a way to 'emulate' a modem which listens on a VoIP SIP/IAX line? Once the call is received I can probably work the rest out.

    Any help appreciated!

    I'm not sure. More intelligent minds will be able to offer some insights.

    I do want to point you to this chap who did some magical stuff such that you can offer a number to folks and they connect via his system to an internet enabled bbs

    Check https://bit.ly/3ck42yu

    --- Mystic BBS v1.12 A46 2020/08/26 (Windows/32)
    * Origin: Agency BBS | Dunedin, New Zealand | agency.bbs.nz (21:1/101)
  • From acn@21:3/127.1 to Nick Young on Thursday, March 11, 2021 12:55:00
    Am 11.03.21 schrieb Nick Young@21:4/145 in FSX_GEN:

    Hallo Nick,

    Does anyone know of a way to 'emulate' a modem which listens on a VoIP SIP/IAX line? Once the call is received I can probably work the rest out.

    I don't know how good/compatible it is, but I've heard that there is
    IAXmodem which can be connected to an Asterisk server: http://iaxmodem.sourceforge.net

    I hope this helps :)

    Regards,
    Anna

    --- OpenXP 5.0.49
    * Origin: Imzadi Box Point (21:3/127.1)
  • From Nick Young@21:4/145 to Avon on Thursday, March 11, 2021 14:57:24
    Thanks Avon. I'll check it out.


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Warpslide@21:3/110 to Nick Young on Thursday, March 11, 2021 11:40:59
    *** Quoting Nick Young from a message to All ***

    Does anyone know of a way to 'emulate' a modem which listens on a
    VoIP SIP/IAX line? Once the call is received I can probably work the
    rest out.

    I seem to remember somebody from Reddit doing this and offering it as a service. Maybe pick their brain to see how they did it, or simply use their service?

    https://www.reddit.com/r/bbs/comments/jurs9d/which_bbses_should_i_add_to_the_d ialup_modem_pool/


    Jay

    ... To the guy who invented zero, thanks for nothing

    --- Telegard v3.09.g2-sp4/mL
    * Origin: Northern Realms | 289-424-5180 | bbs.nrbbs.net (21:3/110)
  • From Nick Young@21:4/145 to acn on Thursday, March 11, 2021 19:58:58
    Thanks! That helped a bunch. It works great.

    Now I need to get mgetty working - and I'm stuck.


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Spectre@21:3/101 to Nick Young on Friday, March 12, 2021 08:45:00
    Now I need to get mgetty working - and I'm stuck.

    Ponder mgetty wasn't that hard, whats your problem? Have to admit more recently I've just use agetty floating... but if you want to interpret connect results or use handshaking mgetty does make some sense.

    Spec


    *** THE READER V4.50 [freeware]
    --- SuperBBS v1.17-3 (Eval)
    * Origin: Scrawled in haste at The Lower Planes (21:3/101)
  • From Nick Young@21:4/145 to Spectre on Friday, March 12, 2021 00:56:32
    Hi Spectre,

    Ponder mgetty wasn't that hard, whats your problem? Have to admit more recently I've just use agetty floating... but if you

    I can't get the two modems to negotiate. I think this is because I am using them over VoIP. PSTN isn't an option for me so trying to get this working over VoIP would be great. I think because VoIP codecs compress the packets so highly, it just doesn't work with modems.


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Starstorm@21:3/140 to Nick Young on Thursday, March 11, 2021 09:41:35
    I run my BBS up in the cloud on a Ubuntu VPS. I also run a C*NET
    exchange at home (ckts.info). I would love to add dial-up support to my BBS but I can't connect physical hardware (e.g. modem) to a VPS.

    Ideally I'd use SEXPOTS or mgetty to take a call from a 'modem' and pass it to my BBS telnet server but a physical modem and an ATA isn't an option.

    Does anyone know of a way to 'emulate' a modem which listens on a VoIP SIP/IAX line? Once the call is received I can probably work the rest out.

    Any help appreciated!


    There is info on how to set up a softmodem with Asterisk in the NPSTN documentation, I tried it but I can't get it to compile with Asterisk 18, it might work with Asterisk 13 still though. Apparently it did.

    Here's a direct link to it.

    http://npstn.us/docs/#modems

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Starstorm@21:3/140 to Nick Young on Thursday, March 11, 2021 22:56:27
    On 12 Mar 2021,
    Nick Young said the following...
    I can't get the two modems to negotiate. I think this is because I am using them over VoIP. PSTN isn't an option for me so trying to get this working over VoIP would be great. I think because VoIP codecs compress
    the packets so highly, it just doesn't work with modems.

    I've been thinking of doing something like this myself also, so keep us
    posted if you get it working.

    I'm on C*NET also, as well as NPSTN (1-260-1XXX on C*NET is mine)

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Nick Young@21:4/145 to Starstorm on Friday, March 12, 2021 10:38:40
    Thanks Starstorm - I'll give that documentation a read.

    I'll let you know if I get this working :)
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Spectre@21:3/101 to Nick Young on Friday, March 12, 2021 22:24:00
    to get this working over VoIP would be great. I think because
    VoIP codecs compress the packets so highly, it just doesn't work
    with modems.

    Only suggestion I've got is to try slow.... 1200 or 2400... something about the frequency range if I remember correctly...

    Spec


    --- SuperBBS v1.17-3 (Eval)
    * Origin: (21:3/101)
  • From Warpslide@21:3/110 to Spectre on Friday, March 12, 2021 08:30:57
    *** Quoting Spectre from a message to Nick Young ***

    to get this working over VoIP would be great. I think because VoIP
    codecs compress the packets so highly, it just doesn't work with
    modems.

    Only suggestion I've got is to try slow.... 1200 or 2400... something about the frequency range if I remember correctly...

    Yes, exactly this. When I was first trying it out, I could only connect around 1200 or so.

    After playing around & doing some reading, I saw that I needed to switch the codec on my ATA to G.711ulaw and the set RTP Packet Size from 0.010 to 0.020.

    After doing that I've connected to my modem over voip anywhere from 14.4 to 31.2. There's still some line noise on there every now & then, but it works and is usable.

    Jay

    ... Why are there fences on graveyards? Because people are dying to get in

    --- Telegard v3.09.g2-sp4/mL
    * Origin: Northern Realms | 289-424-5180 | bbs.nrbbs.net (21:3/110)
  • From Nick Young@21:4/145 to Spectre on Saturday, March 13, 2021 00:11:30
    I couldn't get the modems to negotiate


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Nick Young@21:4/145 to Starstorm on Saturday, March 13, 2021 00:13:15
    Hi Starstorm,

    I got it compiled on Asterisk 13, it does seem to 'work'. The soft-modem negotiates and it does attempt to open a TCP connection but it just spits out some raw data which appear on my terminal.

    I also tried this https://github.com/Casandro/btx_modem but the modem doesn't negotiate.



    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Nick Young@21:4/145 to Starstorm on Saturday, March 13, 2021 00:14:47
    If you wanna ring +44 (0) 1-428-2001, 9am-5pm GMT, with a modem, you'll see what I mean about the random/raw data.


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Nick Young@21:4/145 to Warpslide on Saturday, March 13, 2021 00:16:07
    What's your setup?

    Asterisk, and a modem attached to an ATA?


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Warpslide@21:3/110 to Nick Young on Friday, March 12, 2021 21:12:28
    *** Quoting Nick Young from a message to Warpslide ***

    What's your setup?

    Asterisk, and a modem attached to an ATA?

    I have an ATA connected directly to a voip provider (voip.ms). Modem plugged into that. Just some no-name modem from amazon that's more of a dongle than anything. I may try and get an external USR modem and a decent USB to
    serial port.

    Jay

    ... Thanks for explaining the word "many" to me, it means a lot

    --- Telegard v3.09.g2-sp4/mL
    * Origin: Northern Realms | 289-424-5180 | bbs.nrbbs.net (21:3/110)
  • From Nick Young@21:4/145 to Warpslide on Saturday, March 13, 2021 02:45:55
    I would if I were you... I'm typing this while currently connected at 9600 baud. The connection is hit and miss but once I am connected, it seems fine. I'm dialing out of a USR 56k Message Modem and into a $10 USB Modem connected to mgetty on Ubuntu on a VM. I'm gonna keep pushing the speeds but I reckon this'll be the last 'reliable' one. I will definitely look at buying another USR 56K which'll listen on mgetty.

    Time to do more testing :-)



    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Starstorm@21:3/140 to Nick Young on Friday, March 12, 2021 22:25:28
    On 13 Mar 2021, Nick Young said the following...
    Hi Starstorm,

    I got it compiled on Asterisk 13, it does seem to 'work'. The soft-modem negotiates and it does attempt to open a TCP connection but it just
    spits out some raw data which appear on my terminal.

    I also tried this https://github.com/Casandro/btx_modem but the modem doesn't negotiate.

    Maybe I ought to mess with it a bit myself and see what I can figure out.
    Good to know it will compile anyway.

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Starstorm@21:3/140 to Nick Young on Friday, March 12, 2021 22:27:37
    On 13 Mar 2021, Nick Young said the following...

    If you wanna ring +44 (0) 1-428-2001, 9am-5pm GMT, with a modem, you'll see what I mean about the random/raw data.

    I'll see if I can dig out some of my gear. I've got an ATA and USB modem,
    just haven't plugged it in yet.

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Starstorm@21:3/140 to Nick Young on Friday, March 12, 2021 22:30:01
    On 13 Mar 2021, Nick Young said the following...

    I would if I were you... I'm typing this while currently connected at
    9600 baud. The connection is hit and miss but once I am connected, it seems fine. I'm dialing out of a USR 56k Message Modem and into a $10
    USB Modem connected to mgetty on Ubuntu on a VM. I'm gonna keep pushing the speeds but I reckon this'll be the last 'reliable' one. I will definitely look at buying another USR 56K which'll listen on mgetty.

    Time to do more testing :-)

    Now I'm really tempted to try and get it working myself. heh

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Nick Young@21:4/145 to Starstorm on Saturday, March 13, 2021 05:08:45
    Have a go, was a lot of fun. I learnt a lot about mgetty too. I actually managed to push it to 19200 - getting the right init string on your modem is vital and it took me a while to find mine. A USB modem might not do the job but I'll try this tomorrow. Now I know it can be done, I can run this off my RPi and have it sitting in the corner of a room!


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Spectre@21:3/101 to Nick Young on Saturday, March 13, 2021 16:51:00
    Ponder mgetty wasn't that hard, whats your problem? Have to admit more recently I've just use agetty floating... but if you

    I can't get the two modems to negotiate. I think this is because I am using them over VoIP. PSTN isn't an option for me so trying to get this

    So first up lock them at slow speeds ~1200, and work upwards. You still may get by with a , at low speed you should need mgetty for the extra handshaking.

    Spec


    *** THE READER V4.50 [freeware]
    --- SuperBBS v1.17-3 (Eval)
    * Origin: Scrawled in haste at The Lower Planes (21:3/101)
  • From acn@21:3/127.1 to Nick Young on Saturday, March 13, 2021 13:10:00
    Am 13.03.21 schrieb Nick Young@21:4/145 in FSX_GEN:

    Hallo Nick,

    I also tried this https://github.com/Casandro/btx_modem but the modem doesn't negotiate.

    This is a virtual modem with V.23, ie. 1200/75 bit/s, which is intended
    for use with "Bildschirmtext" (the german Videotex service from the 80s
    and 90s) terminals.
    I doubt that it is very usable for BBSing with higher bitrates...

    Regards,
    Anna

    --- OpenXP 5.0.49
    * Origin: Imzadi Box Point (21:3/127.1)
  • From Starstorm@21:3/140 to Nick Young on Saturday, March 13, 2021 08:27:08
    On 13 Mar 2021, Nick Young said the following...
    Have a go, was a lot of fun. I learnt a lot about mgetty too. I actually managed to push it to 19200 - getting the right init string on your
    modem is vital and it took me a while to find mine. A USB modem might
    not do the job but I'll try this tomorrow. Now I know it can be done, I can run this off my RPi and have it sitting in the corner of a room!


    Ok,I'll give it a shot then, maybe I'll start working on it today if I have some time.

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Nick Young@21:4/145 to Starstorm on Saturday, March 13, 2021 18:41:06
    Give me a shout if you need some help


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Curator@21:1/145 to Nick Young on Saturday, March 13, 2021 17:08:38
    If you wanted to go experimental, I suppose you might have a look at iaxmodem. I've run it for a fax server at work for 6+ years, using asterisk as the switch. Might be worth a look. In fact, I sort of want to try it myself. ;)

    Best of luck!

    --- Mystic BBS v1.12 A47 2021/02/12 (Raspberry Pi/32)
    * Origin: Mystic Pi BBS bcw142.zapto.org (21:1/145)
  • From Nick Young@21:4/145 to Curator on Saturday, March 13, 2021 23:02:51
    I tried it, when it rang, it answered but didn't output any noise to the other modem.

    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Starstorm@21:3/140 to Nick Young on Saturday, March 13, 2021 15:36:57
    On 13 Mar 2021, Nick Young said the following...

    Give me a shout if you need some help

    Ok Will do.

    --- Mystic BBS v1.12 A46 2020/08/26 (Linux/64)
    * Origin: Ground Control (21:3/140)
  • From Oli@21:3/102 to Nick Young on Sunday, March 14, 2021 11:54:36
    Nick wrote (2021-03-12):

    Hi Spectre,

    Ponder mgetty wasn't that hard, whats your problem? Have to admit
    more recently I've just use agetty floating... but if you

    I can't get the two modems to negotiate. I think this is because I am using them over VoIP. PSTN isn't an option for me so trying to get this working over VoIP would be great. I think because VoIP codecs compress
    the packets so highly, it just doesn't work with modems.

    Not necessarily. G.711 (alaw / ulaw or PCMA / PCMU) is a standard telephony codec and is still often used with VoIP/SIP. It is the same voice codec that was used in ISDN and by POTS when the infrastructure went from analog to digital. Which means the modems can communicate over the same codec / audio bandwith as modems did in the 90s by using SIP and G.711. It doesn't do any perceptual audio encoding, it's plain 8khz, 8bit on a logarithmic scale.

    There is even a "Clearmode" codec that is meant to transport ISDN 64kbit/s data over SIP.

    I have no idea how much jitter and packet loss does affect a modem connection, but on a stable IP connection, it should work good enough (in theory).

    The question is what you try to achieve? That BBS users can use their old modems for the sake of being retro or that people can call on their regular landline?

    ---
    * Origin: . (21:3/102)
  • From Nick Young@21:4/145 to Oli on Sunday, March 14, 2021 16:14:35
    Thanks for the info Oli, interesting stuff.

    I guess I was interested in the idea of dialing through VoIP to a BBS. Everyone online said it couldn't be done so I wanted to try it myself. It can be done, sometimes the connection is hit and miss but it can be done. It's kinda more of a proof of concept to me than anything actually practical.

    I have a PSTN number from sipgate going into my Asterisk server so people can call that if they want (but I need to modify the extensions) or they can call my C*NET number.

    I'm using a USR 56k Message Modem for dial-out and a "USB Data Fax Voice Modem" is listening on the other end. They always negotitate flawlessly on the first time but any subsequent calls and the dial-out modem always says "NO CARRIER". I've ordered USR Sportster 33.6k Modem for like œ10 so I'll give that a go on the listening end.

    I would dial out to my BBS occasionally through VoIP (rather than telnet/SSH) because it makes me feel nostalgic and retro :)



    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Oli@21:3/102 to Nick Young on Tuesday, March 16, 2021 16:50:55
    Nick wrote (2021-03-14):

    Thanks for the info Oli, interesting stuff.

    I guess I was interested in the idea of dialing through VoIP to a BBS. Everyone online said it couldn't be done so I wanted to try it myself. It can be done, sometimes the connection is hit and miss but it can be done. It's kinda more of a proof of concept to me than anything actually practical.

    I would put something like

    disallow=all
    allow=alaw, ulaw

    or

    endpoint/allow = !all, alaw, ulaw
    (pjsip_wizard.conf)

    in the Asterisk config to make sure that it doesn't negotiate a lossy voice codec.

    I have a PSTN number from sipgate going into my Asterisk server so people can call that if they want (but I need to modify the extensions) or they can call my C*NET number.

    I didn't know C*NET, I have to get a number ... :)

    ---
    * Origin: . (21:3/102)
  • From Nick Young@21:4/145 to Oli on Tuesday, March 16, 2021 18:25:13
    in the Asterisk config to make sure that it doesn't negotiate a lossy voice codec.

    I have my ATA to only allow g711a/u, do I still need this in asterisk

    I didn't know C*NET, I have to get a number ... :)

    Good idea :) You can give my BBS a call when you're setup :-)


    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)
  • From Oli@21:3/102 to Nick Young on Wednesday, March 17, 2021 11:18:23
    Nick wrote (2021-03-16):

    in the Asterisk config to make sure that it doesn't negotiate a
    lossy voice codec.

    I have my ATA to only allow g711a/u, do I still need this in asterisk

    Good question. I'm not an Asterisk expert and I think this depends on other configuration parameters. I would say you most likely get a G.711 connection. But thinking about it I'm not really sure anymore what dis/allow= exactly does. I think over a plain SIP proxy the clients can freely negotiate the codec, but Asterisk is a PBX. The only problem would be, if Asterisk transcodes the audio instead of forcing the remote client to use G.711. I have to look that up in the manual.

    I didn't know C*NET, I have to get a number ... :)

    Good idea :) You can give my BBS a call when you're setup :-)

    I need a modem first ;). I only have some ISDN hardware left. But a friend has a bigger phone collection (including some payphones and a booth), I'm sure he still has a modem in storage.

    I see there is the +37 country code for East Germany (DDR) in C*NET, but +37? has been repurposed for other countries. Are there some rules which country codes and numbers are allowed?

    ---
    * Origin: . (21:3/102)
  • From Nick Young@21:4/145 to Oli on Wednesday, March 17, 2021 10:55:12
    Honestly, I don't know. You'll have to ask them.


    Nick



    Nick
    --- SBBSecho 3.13-Linux
    * Origin: TFSI - tfsi.synchronetbbs.org (21:4/145)