home bbs files messages ]

Just a sample of the Echomail archive

<< oldest | < older | list | newer > | newest >> ]

 Message 172 
 Ozz Nixon to Nick Andre 
 Re: Renegade and IEMSI 
 18 Feb 19 18:18:57 
 
On 2019-02-18 06:40:08 +0000, Nick Andre -> Ozz Nixon said:

> On 17 Feb 19  11:10:48, Ozz Nixon said the following to All:
>
> ON> A couple nights ago, I was testing my terminal program, went to the
Telnet
> ON> Guide, and worked my way through different BBS packages.
> ON>
> ON> However, when I got to the Renegade 3 listings, two of them send the
wrong
> ON>  handshake string.
> ON>
> ON> It is supposed to be (based upon FTSC) **EMSI_REQ#### and I reply back
> ON> **EMSI_INQ####. Instead these two BBSes sent **EMSI_INQ#### ... is this
a B
> ON> or is the FTSC wrong?
>
> Good question. This is the code from Renegade Y2KA2 for EMSI.
>
>
>    write('Attempting IEMSI negotiation ... ');
>    EMSI_IRQ := '**EMSI_IRQ8E08'^M^L;
>    com_flush_rx;
>    SerialOut(EMSI_IRQ);
>          if (pos('**EMSI_ICI', s) > 0) then
>            begin
>              delete(s, 1, pos('EMSI_ICI',s) - 1);
>
>                  ISI := '{Renegade,'+ver+'}{'+General.BBSName+
}{'+u.citystate+
>                         '}{'+General.SysOpName+'}{'+Hex(getpackdatetime, 8)+
>                         '}{Live free or die!}{}{Everything!}';
>                  ISI := 'EMSI_ISI'+Hex(length(ISI), 4) + ISI;
>                  ISI := ISI + Hex(UpdateCRC32($FFFFFFFF, ISI[1],
length(ISI)),
> 8);
>                  ISI := '**' + ISI + ^M;
>                  com_flush_rx;
>                  SerialOut(ISI);

Looks like it is setup correctly, but every EMSI sample I find from the 90's
flow like, client to BBS->

begin
 { Assumes connection has been made at this point }

 Tries := 0;
 Repeat
   Write2Port(EMSI_INQ);  <---- just like rg's code - so they both INQ and
wait for REQ
   Delay(1000);
   Inc(Tries);
 Until (Get_EMSI_REQ = True) or (Tries = 5);

 If Tries = 5 then
 begin
   Writeln('Host system failed to acknowledge the inquiry sequence.');
   Hangup;
   Halt;
 end;

 { Used For debugging }
 Writeln('Boss has acknowledged receipt of EMSI_INQ');

 Send_EMSI_DAT;

 Tries := 0;
 Repeat
   Inc(Tries);
 Until (Get_EMSI_ACK = True) or (Tries = 5);


Now looking at the specs from JoHo:
http://ftsc.org/docs/fsc-0056.001

PART II - Electronic Mail Standard Idenfitication

   Connecting two EMSI capable systems
   =====================================================================
   This assumes that the two systems are connected and that no data
   has been transmitted by the Caller.

   It should be mentioned that sending/monitoring for the "YooHoo",
   "TSYNC", and other protocol start characters is optional and not
   required for a strict EMSI implementation.

   STEP 1, EMSI INIT

       Calling system                   Answering system
   +-+-------------------------------+----------------------------------+
   :1: Send  until ANY character : Send EMSI_REQ and possible       :
   : : is received.                  : banner, etc.                     :
   +-+-------------------------------+----------------------------------+
   :2: Receive banner, etc. Monitor  : Monitor line for the EMSI_INQ    :
   : : line for the EMSI_REQ         : sequence and if received,        :
   : : sequence and if received,     : attempt to handshake immediately.:
   : : transmit EMSI_INQ and attempt :                                  :
   : : to handshake immediately.     :                                  :
   +-+-------------------------------+----------------------------------+
   :3: No EMSI_REQ sequence received,: Monitor line for EMSI_INQ and    :
   : : send EMSI_INQ twice followed  : possible other protocol start    :
   : : by possible other protocol    : characters and if received,      :
   : : start characters.             : attempt to handshake immediately.:
   : :                               :                                  :
   : : Transmit                  : Go to step 3.                    :
   +-+-------------------------------+----------------------------------+
   :4: If EMSI_REQ sequence received,:
   : : send EMSI_INQ and attempt to  :
   : : handshake immediately,        :
   : : otherwise repeat step 3.      :
   +-+-------------------------------+

   In steps 1 and 2, both the Calling and Answering system terminate all
   sequences with . In step 3, the Calling system does not terminate
   sequences with  as it is explicitly transmitted after possible
   protocol start characters. In step 4, the Calling system once again
   terminate all sequences with a .

and FINALLY:
   =====================================================================
   EMSI Inquiry                                    **EMSI_INQ
   ---------------------------------------------------------------------
   EMSI Inquiry is transmitted by the calling system to identify it as
   EMSI capable. If an EMSI_REQ sequence is received in response, it is
   safe to assume the answering system to be EMSI capable.

--- FMail-W32 2.0.1.4
 * Origin: Modern Pascal, LLC. (1:275/362.0)

<< oldest | < older | list | newer > | newest >> ]

(c) 1994,  bbs@darkrealms.ca