====== 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_sec|"Chat" menu]] or from the [[:module: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) [[:module: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 [[util: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 Pause After Execution Yes 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 ''[[dir:ctrl]]/sbbsimsg.lst'' file. This file is generated daily on [[bbs:Vertrauen]] and distributed via FTP as [[ftp://vert.synchro.net/sbbsimsg.lst]]. The event module ''[[dir:exec]]/getimsglst'' is normally run as a timed event (configured in [[util: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 ''[[module: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 [[http://synchro.net/sbbslist.html|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: - login to Vertrauen and create your BBS entry or, - 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''): - SYSTAT/ActiveUser service (using the [[service:Finger]] service) on UDP port 11 - MSP service (using the [[service:MSP]] service) on TCP port 18 This is normally accomplished by adding the following services to a BBS's ''[[dir:ctrl]]/[[config: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 [[http://cvs.synchro.net/scanmyports.ssjs|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 ===== * [[:config:services.ini]] * [[:module:sbbslist]] * [[:module:|Modules]] * [[:service:finger|Finger Service]] * [[:service:msp|MSP Service]] * [[:service:|Services]] {{tag>tcpip services javascript chat sbbslist instant-messaging nodelist ecweb}}