UPDATE – Foreword: The easiest way to exchange mail between BPQ and JNOS would be to simply create a AXUDP link between BPQ and JNOS and then use NETROM connectivity to do regular AX25 connections over the link. The document below was composed before this realisation.
This foreword is here as a heads up that using Telnet method is really the longest route around the problem, and is really not recommended.
Internally Forwarding Mail to BPQ
Create a new user with BBS flags for your JNOS instance within the BPQ User Management Area.
For this account, do not use the callsign of the JNOS instance, instead use a descriptive alias. This avoids a problem with callsign collision which will usually cause JNOS to refuse to work. In my example, I will refer to this USER as RRRNOS on the BPQ side.
The HROUTE of
RRRNOS.PE1RRR.NLD.EURO, as configured in the mailbox settings for JNOS.
All mail for
RRRNOS arrives first at
PE1RRR.NLD.EURO and is queued for forwarding to
In turn, we also will refer to the BPQMail instance in the JNOS configuration as MATRIX, rather than the callsign.
IMPORTANT: The passwords for BPQ telnet sessions are NOT defined in the BPQMail User account, but instead in the bpq32.cfg node configuration file under the
TELNET port declaration. See BPQ Telnet Server Documentation.
matrix 0023 P telnet <bpq node address> <bpq fbbport> cronly .<bpq port defined telnet userid> .<password> * 0 .BBS * 0 <list of areas to forward>
FBBPORT is often misunderstood as a direct connection to the BBS- when it is not. The port opens a connection to only the node which is why we must issue an extra command:
FBB sysops frequently get this wrong and wonder why their telnet forwarding to a BPQMail instance doesn't work.
It is necessary to provide BPQMail with an account on JNOS with which to log in and access BBS functions. This is possible by adding an account with the necessary privileges set.
JNOS won’t allow the use of an invalid callsign for a login user ID by default, to do so would require recompiling the JNOS source with one of the config.h “defines” changed (it is easy to do, but not recommended).
A workaround, if forwarding downstream to yourself– is to just use your own callsign for the login, as it would be coming from your own upstream BPQMail BBS anyway.
Permissions needed (if not using your own sysop login):
FTPUSERS PERMISSIONS reference sheet, sum up the permission level as such:
- Summed together:
FTPUSERS PERMISSIONS The following is a list of the user permission values allowed in FTPUSERS file. Name value hex value comments FTP_READ 1 0x1 /* Read files */ FTP_CREATE 2 0x2 /* Create new files */ FTP_WRITE 4 0x4 /* Overwrite or delete existing files */ AX25_CMD 8 0x8 /* AX.25 gateway operation allowed */ TELNET_CMD 16 0x10 /* Telnet gateway operation allowed */ NETROM_CMD 32 0x20 /* NET/ROM gateway operation allowed */ SYSOP_CMD 64 0x40 /* Remote sysop access allowed */ EXCLUDED_CMD 128 0x80 /* This user is banned from the BBS */ PPP_ACCESS_PRIV 256 0x100 /* bit for PPP connection */ PPP_PWD_LOOKUP 512 0x200 /* Priv bit for peerID/pass lookup */ NO_SENDCMD 1024 0x400 /* Disallow send command */ NO_READCMD 2048 0x800 /* Disallow read command */ NO_3PARTY 4096 0x1000 /* Disallow third-party mail */ IS_BBS 8192 0x2000 /* This user is a bbs */ IS_EXPERT 16384 0x4000 /* This user is an expert */ NO_CONVERS 32768 0x8000 /* Disallow convers command */ NO_ESCAPE 65536 0x10000 /* Default is no escape char */ NO_LISTS 131072 0x20000 /* No lists displayed from mailbox */ NO_LINKEDTO 262144 0x40000 /* Disable '*** linked to' */ NO_LASTREAD 524288 0X80000 /* Ignore lastread in <area>.usr (shared accts)*/ NO-FBBCMP 1048576 0x100000 /* Avoid FBB compression */ XG_ALLOWED 2097152 0X200000 /* Allow XG (dynip route) cmd */
ftpusers file and append:
<callsign> <password> /jnos/public 24576
Note: If this BBS is also a regular user, give them AX and netrom permissions too (add 8 + 32 to the final sum).
Configuring BPQ Forwarding
The BPQ User created with the BBS flag (
RRRNOS in this example) should be visible in the
Forwarding Management Area of BPQ as one of the callsigns in the list.
RRRNOS user and then set the fields with the following information, if not explicitly mentioned, the fields are to be left empty.
ATTACH 10 C <jnos host/ip> <jnos port> TELNET <jnos userid> <jnos password>
Hierarchical Routes (Flood Bulls)
AF AS OC EURO NOAM SOAM CEAM WW
HR (Personals and Directed Bulls)
Enabled Checkbox/Flags (all not explicitly mentioned should be disabled)
- Enable Forwarding [
ON] Interval [
- FBB Blocked [
ON] Max Block [
- Send new messages without waiting for poll timer [
- Allow Binary [
- Use B2 Protocol [
Update to finish.
Check and Test
Open a new terminal an go to your BPQ directory, open the log file using the tail command, this will open the log file and checks the file for new data is written to it every 0.1 seconds.
tail -f -s 0.1 logLatest_BBS.txt
From the BPQ
Forwarding Area, select the BBS account and click
fwd <callsign> now from the BPQ mail prompt.
Watch the log file for errors.
If all goes well this is what you should see:
200213 16:31:41 |RRRNOS Incoming Connect from RRRNOS 200213 16:31:41 >RRRNOS [BPQ-220.127.116.11-B2FWIHJM$] 200213 16:31:41 >RRRNOS 0 messages to fwd to RRRNOS 200213 16:31:41 >RRRNOS PE1RRR BBS> 200213 16:31:41 <RRRNOS [JNOS-2.0m-B2FHIM$] 200213 16:31:42 <RRRNOS FF 200213 16:31:42 >RRRNOS FQ 200213 16:31:42 |RRRNOS RRRNOS Disconnected
To test from the other direction, log into JNOS sysop console and issue:
Note: In the examples below. ‘MATRIX’ is the arbitrary name I have given to the BPQ mailbox in JNOS, it just so happens to also be the BPQ mailbox’s NETROM alias but that is not important at all as this is a telnet session, it is just for practicality.
mbox kick <bpq bbs name defined in forward.bbs> e.g. mbox kick MATRIX
Note: when calling
mbox kick, use
upper case for the
callsign if there is no local mail to actually forward. This initiates a reverse forward. If you don’t use this method, and you have no mail to forward, it won’t try and connect, and as such you won’t see diddly squat happening in the log file.
If you find the articles, or content in general posted here useful, enjoyable or maybe even something else, please consider making a small contribution towards my hosting fund so that I may continue to provide my services for free to as many people as possible.