Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


Instant Message

The Synchronet Instant Message module is used to provide a real-time inter-BBS instant message feature for participating systems.

This module is normally invoked from the "Chat" menu or from the PrivateMsg module with the 'I' key.

Install

Chat Menu

If you're using the default chat_sec menu module, you should already have it installed on that menu (the I command key).

Global Hotkey

To get access to instant-message module from virtually anywhere within the BBS (e.g. using Ctrl-P), install the (new) PrivateMsg module in SCFG->System->Loadable Modules->Private Msg (the default, privatemsg, should be all you need):

Private: (T)elegram, (M)essage, (C)hat, (I)nterBBS, or (Q)uit:

Logon Event

To display a list of currently active users (on other inter-BBS instant message capable systems) during user-logon, add an external program to SCFG->External Programs->Online Programs->Main (or your section of choice)->Available Online Programs... and configure as follows:

Name                       Synchronet IMSG List
Internal Code              SBBSIMSG
Command Line               ?sbbsimsg -l
Multiple Concurrent Users  Yes
Execute on Event           Logon, Only
BBS Drop File Type         None

All other settings can be left with their default values (No/None/blank).

History

History of this module/feature:

Original (2001)

  • Queried systems using Finger (TCP port 79)
  • Sent message using SMTP-SOML (TCP port 25)

Rev 1.11 (2002)

  • Queried system using both TCP and UDP-Finger (port 79)
  • Still sent messages using SMTP-SOML

Rev 1.22 (2007)

  • Queried using SYSTAT/ActiveUser protocol (TCP & UDP port 11) in addition to Finger (TCP and UDP port 79)
  • If send via SMTP failed, used MSP protocol (TCP port 18)

Rev 1.25 (2009)

Removed Finger (both TCP and UDP support), SYSTAT-TCP and SMTP support, so it now *only*:

  • Queries using SYSTAT/ActiveUser protocol over UDP port 11
  • Sends messages using MSP (TCP port 18)

So, while originally the requirements for systems to participate in the instant-message network were:

  • Synchronet SMTP Server listening on TCP port 25
  • fingerservice.js listing on TCP port 79

Now, the requirements are:

  • activeuserservice.js (or fingerservice.js) listening on UDP port 11
  • mspservice.js listening on TCP port 18

List File

The heart of the instant message module is the ctrl/sbbsimsg.lst file.

This file is generated daily on Vertrauen and distributed via FTP as ftp://vert.synchro.net/sbbsimsg.lst.

The event module exec/getimsglst is normally run as a timed event (configured in SCFG->External Programs->Timed Events) and used to pull the list file from Vertrauen via FTP, usually daily.

The List File is generated daily on Vertrauen through the use of the sbbslist.js module's imsglist command-line option. This sbbslist option parses the Synchronet BBS List and finds listed-systems that meet the minimum requirements to be included in the instant-message list and re-generates the sbbsimsg.lst file.

Requirements

Since Vertrauen uses its Synchronet BBS List as the source of BBSes which may be instant-message capable, the first requirement is that a system is listed in this database.

To have your system listed, either:

  1. login to Vertrauen and create your BBS entry or,
  2. preferably, run the sbbslist module on your own BBS and have it synchronized with Vertrauen and the rest of DOVE-Net or FidoNet via the SYNCDATA networked message area

The following services must also be reachable via the public-Internet for a system to be listed in the Instant Message module List File (sbbsimsg.lst):

  1. SYSTAT/ActiveUser service (using the Finger service) on UDP port 11
  2. MSP service (using the MSP service) on TCP port 18

This is normally accomplished by adding the following services to a BBS's ctrl/services.ini file:

[ActiveUser-UDP]
Port=11
MaxClients=10
Options=UDP | NO_HOST_LOOKUP
Command=fingerservice.js -u
[MSP]
Port=18
MaxClients=10
Command=mspservice.js

You can use this page to help determine if the required services are publicly-reachable on your system.

Once a system is listed in the Synchronet BBS List on Vertrauen and the required services are confirmed publicly-reachable on the Internet, that system should appear in the shared sbbsimsg.lst file within 24 hours.

See Also