FSC-0033                 						    June 11, 1989
			FidoNet Message ID Proposal
			       By Todd Kover
			   1:261/5016;1:261/1028

 Since there are many proposals for Message-IDs, for dupe-checking, and
reply-linking, I figured, I may as well do my best to add confusion to
things, and come up with another one.  :-)  In my playing around with
different ideas, and such, I came out with the following format:

^AFMSGID:DDDYYHHMMSSLLNNNNOOOOPPPP[ZZZZ][Domain]

^AFREPLY: < Repeat of what is above >

Here's a brief explanation of what each area is...

DDD:    (01-366) The day of the year. (Julian calendar method).

YY:     (0x00-0xFF) The year.  Now, this only gives 255 year accuracy, but,
        if the message has been in circulation that long, then it deserves
	to be read again.  :-)
      
HH:	(00-23) Hour which the message was written

MM:	(00-59) Minute which the message was written

SS:	(00-59) Seconds which the message was written

LL:     (0x01-0xFF) In reading NET_DEV, and FTSC, and all of the debating
	over "What happens when someone enters a message at the EXACT same
	time, on my multiline system?) Well, the best way to avoid that,
	is to either A) Set the ID while packing the message up, and only
	pack all the lines messages in, at once, or, use this option, that
	sets the line number, of the caller (0-0xFF)..  I figure that there
	won't be more than 255 lines to a single node...  I would opt for
	the former, but, I put this in here, to shut everyone up.  :-)
	
NNNN:   (0x00-0xFFFF)  The Net Number of the node, that this message
	originates from.
	
OOOO:	(0x00-0xFFFF)  The Node Number of the node, that this message
	originates from.
	
PPPP:   (0x00-0xFFFF)  The Point Number of the node, that this message
	originates from.
	
------
Now for the Optional ones:

ZZZZ:   Since there is a question as to weather or not Zones should be
	implemented, and, some packages do not implement them, I figured
	that this should be optional.  If it is not there, then a Domain
	address would be there, or, nothing at all.
	
Domain: This is for the people that use these (SEADogians, for one).
	I am assuming that Domains are alphabetic characters, and no
	numbers are there (Which is probobly stupid on my part), so that
	software can distingish between Domains, and Zones.
	
------

The FREPLY: is just teh FMSGID of the message that the message is replying
too.  That way, you can just compare.


In order to allow dupe checking, a system has to keep a backlog of all of
the message IDs for some period of time (say 2 weeks?) that pass through
the system, and has to compare a new one to the old ones.  If it matches,
then the message is a dupe.  This doesn't seem too efficient, since there
are alot of messages that pass through something such as a backbone, but,
I am sure there is some way to make it fast, I just haven't put enough
thought into it, yet).

------

One of the more nicer features about this, is that if the ID is not there,
then it can be calculated by examinining parts of the message, and the
header to get all of the information, and, it can be put in there.  Pretty
simple, eh?

------

If you want to get in contact with me, to make contacts on this, you can
reach me at my private node, 1:261/5016, but, since I only poll the Net-
Coordinator once a week, or so, to pick up my NodeDiff, and FidoNews, I
will be a little slow in responding to it.  You can reach me pretty
quickly on 1:261/1028, which is the only BBS that I frequent, just about
daily, and, if I don't, the sysop there will tell me if there is anything
waiting for me...  Direct flames, and such things to NIL:, thank you..