home *** CD-ROM | disk | FTP | other *** search
- FSC-0009
-
- *Nodelist Flag Changes Draft Document
-
- The following is a proposed change to the nodelist. Please send
- your comments to either Ken Kaplan at 100/22, Ray Gwinn at
- 109/634, or David Dodell at 114/15. We will not be replying to
- all comments but wish to get a general feeling from the network
- about this proposed change.
-
-
- Nodelist Flag Draft Document
- Primary Author: Ray Gwinn
- Secondary Author: David Dodell
- Contact 114/15 or 1/0 with comments
- Version 1 (11-15-87)
-
-
- I proposed that the Nodelist (comment) Flags be replaced with a
- capabilities identifier.
-
- After all, the bottom line is that we want to know the
- capabilities of the remote node before it is contacted. If the
- remote is not capable of performing the desired function, then
- there is no need to contact it.
-
- The problem(s) with the existing method is that it originally
- started as a comment field and was not planed. At the time
- SEAdog was the only "extended protocol" program around. But,
- along came Opus with a different "extended protocol". I think
- that additional flags like WZ, BR, WR, etc is only extending the
- previously unplanned system and will lead to problems in the
- future. For example, XP today includes file update requests, but
- XP a year ago did not. So, a node using SEAdog V3.xx will have
- an XP flag but it is not capable of doing update requests (I
- think). Thus, XP does not really tell you what the remote node
- is capable of doing.
-
- The capabilities identifier that I propose will do nothing more
- than define the program(s) that the remote node is using to
- accept incoming calls/mail/requests. Some may say that this is
- nothing more than the product code that already exists in the
- mail packet. The primary difference is that the capabilities
- identifier will exist in the nodelist. This means it is
- available without contacting the remote node, while the product
- code is not. Also the product code is limited to 256
- possibilities.
-
- I assume that it is desired that the nodelist flags field be two
- non-control characters. If so, then I propose that the
- capabilities identifier be a two digit, base 36 number. The
- digits being 0 through 9 and A through Z and are assigned
- sequentially. For example, Fido may be 01 and Dutchie may be 02.
- Also note that as defined, XP and WZ are valid. However, I think
- they should be done away with, and identifiers be assigned
- starting with 00 (00 meaning generic FTSC net mail protocol).
-
- This number, once converted to binary, can be used by programmers
- as an index into application specific data bases or tables. One
- example is a simple program that will tell a user the
- capabilities of a remote node. Given the node's address and the
- nodelist, the program could search the nodelist to get the
- capabilities identifier. Then the program could use that
- identifier as an index into a data base to obtain the
- capabilities of the remote node and display them to the user.
- Another example is a program that can use the identifier as an
- index into a capabilities table that allows determination in
- advance that the remote is capable of the desired session prior
- to contacting it.
-
-
- Implementation
- ----------
-
- First, all nodes in the network are assigned a capabilities
- identifier of 00. This is the capabilities code of a net mail
- program that meets the basic requirements of the FTSC
- specification. Once again, the purpose of this identifier
- (except 00) is to define the program(s) that the node is using to
- process calls/requests/mail. Also remember that the identifier
- reflects the mail handler. For example, TBBS with a BINKLEY
- front end will be identified by its BINKLEY identity.
-
- The program author (or project leader) will request a
- capabilities identifier from the assigner. Who does the
- assigning is another subject. Along with the request must be a
- written and detailed description of all enhances features of the
- program. Remember, we are dealing with automated contacts
- between nodes. In this context, the ability of a program to
- handle 50 simultaneous callers is not an enhanced feature.
-
- The list of features can be provided to other authors so that
- they may consider a compatible feature. Note, that if the
- description of the enhanced features is not sufficient for other
- authors to add a compatible feature, then the program may be
- assigned the basic 00 capabilities flag. This little enforcement
- rule has the potential of lifting a tremendous burden of
- documentation from the FTSC. If the committee accepting the
- written definition is programmers, the documentation is likely to
- be understandable. I think the same committee should assigns new
- capabilities codes (other than those grandfathered). The ego of
- the program authors would probably insure sufficient
- documentation for a capabilities identifier other than 00.
-
- After consideration, the FTSC could choose to adopt the
- definition (possibly modified) as a standard. I feel this gives
- the a creative programmer's new features a way into the nodelist
- and the FTSC the ability to consider enhancements with 20/20
- hindsight. At the same time, the FTSC must only modify the
- provided documentation to define a new standard instead of
- starting from scratch. But, I'm drifting, this is another
- subject.
-
- If a new revision of the same program has additional capabilities
- that need to be defined, then the author should request a new
- capabilities code. There should be a policy that only one or two
- revisions back will have individual capabilities identifiers. If
- revisions more than one or two old are still in use they can be
- assigned the basic 00 identifier.
-
- The program authors should be required to prominently display the
- capabilities identifier. This will allow the Sysop to easily
- provide the identifier to his network coordinator for inclusion
- in the nodelist. This a basically a take off of the ringer
- equivalent code that you find in your modem manual.
-
-
- As I have defined it, the committee that assigns the capabilities
- identifiers can not reject the new features. They can only
- reject the documentation of the new features as not being
- understandable. This should keep most developers happy because
- no one can tell them not to do something. It should make the job
- of the FTSC simpler because they will only accept documentation,
- not create it. The ego's of the developers, anxious to be
- identified in the nodelist, should keep the documentation flowing
- to the FTSC.
-
- As pointed out by David Dodell, the same type of identifier can
- be applied to modems. That is modem 00 can be a 1200 baud Hayes
- (true) compatible, type 02 can be a USR Courier, etc.
-
- What I have proposed here solves many problems, but not all. For
- example, there is no way to tell when the wierd BBS has SEAdog
- running. So, a CM type flag is still required.
-
- I think that 3 flags will take care of everything. One
- identifies the mail handler, another identifies his modem type
- and a third should identify when mail/file requests can be
- accepted.
-
-
- The other flags
- ---------
-
-
- The other two flags would represent mail reception times and
- modem type.
-
- For example the flag 00 would represent mail can only be received
- during NMH. Flag 01 would mean mail could be received 24 hours,
- identical to the meaning of the CM flag now. Other variations
- could be:
-
- 00 National Mail Hour Only for Mail
- 01 Continuous Mail 24 hour/day
- 02 Continuous Mail 24 hour/day with 24 hr File Request Capability
- 03 CM 24 hrs/day, File request all but NMH
-
- The third flag would represent modem types:
-
- 00 300 baud Bell standard
- 01 1200 baud Bell standard
- 02 2400 baud
- 03 1200 baud w/MNP
- 04 2400 baud w/MNP
- 05 USR HST Modem
- 06 Telebit Trailblazer Modem
- 07 Hayes V9600 Modem
- 08 Microcom Modem 9600 baud
-