Voice Modems

(computer.rip)

47 points by K7PJP1 day ago

4 comments

  • pm2151 hour ago
    For a long time in the dialup era my "answering machine" was a US Robotics voice-capable modem attached to my home Linux PC, with some scripts to make it pick up after N rings, play a message, record whatever the caller said, and then email me the resulting sound file. The Linux support for it included DTMF tone recognition, so I added in a quick hack so that if I sent it the right pin code during the "please leave a message" part it would wait for me to hang up and then dial my ISP, so I could ssh in to it from wherever I was...
    • EvanAnderson1 hour ago
      I wrote some stuff in Turbo Pascal for DOS to do something like this (albeit it didn&#x27;t email files-- it just dumped them into a directory on the disk). My parents had two phone lines so making test calls from a real phone was easy. I just had to go around the house and turn off the ringers on all the phones so I wouldn&#x27;t wake anybody doing test calls in the wee morning hours.<p>I didn&#x27;t understand the sample format so all my playback was via the phone handset. I was in over my head, at that time, when it came to grokking audio codecs.<p>My grand vision was to make some kind of voice-based bulletin board system.
      • glasss1 hour ago
        A voice based BBS could probably trace some kind of cultural or technical lineage to TikTok today, interesting to think about.
    • glasss1 hour ago
      It&#x27;s funny to think that not that long ago businesses would pay a premium for that feature set from their voice service provider. Maybe not the SSH part lol, but I worked with plenty of small and medium businesses in my career that paid for a voicemail to email service.
  • marlburrow1 hour ago
    The DLE-escaping problem the article mentions — where 0x10 bytes in PCM audio had to be doubled to 0x10 0x10 — is the same class of bug that plagued the Hayes +++ escape sequence in data mode, and it is striking that it was never properly solved. The fundamental issue is that the Smartmodem architecture multiplexed control and bearer on a single serial channel, and every framing scheme for doing that with an 8-bit-clean payload on an async serial link is either fragile (in-band escaping) or wasteful (COBS&#x2F;SLIP-style byte-stuffing adds overhead proportional to the escape density). The multi-UART solution that modern cellular modems adopted — separate serial channels for control, bearer, GNSS, debug, etc. — is really the only correct answer, and it is interesting that it took nearly two decades to become standard practice. What Harald Welte describes in his 2017 post is not so much an &quot;ugly hack&quot; as it is the inexorable gravitational pull of the Hayes architecture: once you have committed to AT commands over serial as your control plane, every new capability including real-time voice must be shoehorned into that same channel, and the result is always going to look awkward. The persistence of this design through winmodems, ISDN terminal adapters, and into modern 5G USB dongles is a textbook case of interface lock-in outweighing architectural fitness. On the IVR side, it is worth noting that Asterisk&#x27;s early versions (circa 1999) supported voice modems via TAPI before the project pivoted hard to VoIP and never looked back — Mark Spencer reportedly called the TAPI voice modem support the single most painful integration in Asterisk&#x27;s history, which says something about the state of V.253 interoperability in practice.
  • anonymousiam1 hour ago
    I got a Voice Modem at some point toward the end of the 90&#x27;s. I played around with it and wrote an answering machine for it in bash. It announced a synthesized welcome message with date and time, and gave options for control of some elements of my home automation via DTMF (after authenticating). It was clunky, but it worked well.<p>I came across it a few months ago while clearing out some old junk. I did not think twice about tossing it into the trash.