[LBBS-127] net_tap: Add support for TAP/IXO paging protocol
Add support for TAP: https://en.wikipedia.org/wiki/Telocator_Alphanumeric_Protocol
Many carriers support this: https://www.inforad.com/techsupport/helpcenter/index.php?lstMenu=ServicesAndReceivers&searchtxt=TAP (e.g. Arch and USA Mobility are now Spok)
Could be used to allow AlphaMate terminals to call in to a local Asterisk, where it could then translate that to SNPP or email.
For example, TAPReceive() could be the server (receiving) application and TAPSend() could be used to send data to a TAP server. It would be expected for use during an already-established call.
Bonus feature would be acting as a TAP client as well.
Kermit implementation: https://www.kermitproject.org/ftp/kermit/scripts/alphapage
We'll want to ensure we avoid some of the mistakes that sendpage has rectified over the years, e.g.:
0.9.4a: (07/13/2000, point-release due to serious numeric-only paging bug)
- created the "lfok" option and corrected the ctrl-char detection
code. This bug made paging numeric pagers impossible because of
the trailing LF.Comments
1/5/2026 7:22 PM — InterLinked
Yesterday, I was able to implement TAP 1.8 as a BBS module and I successfully "received" a message from an Alphamate II (I didn't do anything with it, but that's the next part).
The existing Softmodem application serves as the modem frontend to the TAP module, which accepts a TCP connection. I still need to think about how to make it elegant to send messages using TAP, but I'll get to that.
Since this is adjacent to other paging things, I'm going to work on all of them now so I can make adjustments as needed. I'm currently implementing SNPP, which supports everything TAP/IXO does plus much more, and I'll add a generic paging interface to the BBS that allows other modules to handle "receiving" pagers in various user-defined ways. I think this should be the most flexible approach.
Similar to the SMTP support that exists currently, I'd like to make it possible to receive pages in the BBS and do various things, include forward them to a "real" paging provider, as well as accept pages locally for delivery. The two methods supported for receiving pages would be TAP (fronted by the softmodem) and SNPP, and likewise for sending (SNPP client should be easy, a TAP client would need to have the BBS originate a softmodem call).
I realize this was initially categorized as an Asterisk development, but the protocol is really a data protocol, not a telephony protocol, so I think it belongs here.
Can you think of any other specific considerations that should be taken into account at the moment?
1/5/2026 9:29 PM — shane
There should be two methods for receiving a message (either via SNPP or TAP).
1) Receive the message and ACK when the message is received, passing the message on to the next application, retrying if necessary.
2) Receive the message but don't ACK until you've passed the message on to the next application and received an ACK from it.
I think flags/options are needed for both as there will be situations where you might want to do it either way.
You must be logged in to leave a comment.
1/5/2026 7:22 PM — InterLinked
Renamed from PHREAKSCRIPT-70