README file for fax500 xrpcomp ------- This directory contains a modified version of the rpcomp program, used with the Internet remote-printing experiment. More info on the experiment can be found in /mrose/tpc on ftp.ics.uci.edu. The xrpcomp program (it's a shell script) is like rpcomp, except that it will look in X.500 if no fax recipients are found in the .rpdb file. It still uses .rpdb to extract the originator information. There are a couple of things in rp500.c you will want to tailor to use xrpcomp at your site: DAPUSER This is the user the rp500 program, called from xrpcomp will bind to the directory as. It can be set to NULL. DEFAULT_BASE This is the search base rp500 will use when looking in the directory for fax recipients. DEFAULT_FILTERCONF Where to find the ldapfilter.conf file. Should make setting this automatic, but for now... PHONE_PREFIX The prefix of phones in your local area. If rp500 finds a fax number in the directory that is not fully qualified, it will append as many of these digits as necessary to make it fully qualified. NB it assumes US-format numbers. DEFAULT_LDAPHOST The host running the default ldap server to contact. Things to note: The rp500 program knows a little about the US phone number format, in an attempt to deal with (evil) people who have not put fully qualified international format (e.g. +1 ... ) phone numbers in their entry. If your users do not have US-format phone numbers, you'll need to take a look at the fax2email() routine in rp500.c and change it around a bit. 7/30/93 -- Tim fax500 ------ This directory also contains the fax500 program. fax500 is just like mail500, except that it looks up the facsimileTelephoneNumber attribute, constructs an appropriate "remote-printer@blah.tpc.int" address, and send the mail there. For example, the facsimile number "+1 313 555 1212" corresponds to the address "remote-printer@2.1.2.1.5.5.5.3.1.3.1.tpc.int." For a complete explanation of the Internet remote-printing experiment, look in /mrose/tpc on ftp.ics.uci.edu, or send mail to tpc-faq@town.hall.org. The general idea is that you can set things up so that mail sent to "user@fax.domain" will get printed on the user's fax machine, if they've entered a fax number in their X.500 entry. NOTE: you will need to modify faxtotpc.c if you have any "abbreviated" phone number capabilities. For example, our telephone switches allow you to dial only the last 5 digits of campus telephone numbers. People, therefore, tend to list the last 5 digits of their fax numbers. The routine "munge_phone()" takes care of fixing up abbreviated phone numbers. You may need to write your own code. fax500 is not yet complete. In particular, the following work still needs to be done: - If the group entry itself has a fax number, don't send to all the members' individual fax numbers. Instead, just send to the group's fax number. - The -h flag for fax500 defines both the host name and the search base. This causes problems because the host name we want is "fax.umich.edu" but we need to search "umich.edu." The workaround is to add an Associated Domain corresponding to the domain you want for your fax service to each X.500 group which is to be accessible. - We're working toward mail500 and fax500 being the same binary. Depending on what argv[0] is, you'll get different behavior. Although this binary should work just like mail500 if you name it "mail500" it's not yet been tested. - fax500 currently assumes that incoming messages are plain text, and therefore constructs a destination address like "remote-printer.user_name@2.1.2.1.5.5.5.3.1.3.1.tpc.int". If the message is already MIME-compliant with an "application/remote-printing" content type, we lose, since the remote-printing software assumes that anything other than "remote-printer" on ther lhs of the address means the message is plain text. Not sure about the solution to this. - Regarding group support - typically, when we collect all the fax numbers for a group, we'll end up either with (a) people who haven't registered fax numbers, or (b) "email-only" group members who do not have entries in X.500 (they only have an email address associated with the group). The question is: what do you do with faxes for these folks? You could (1) bounce to the sender (current behavior) or you could (2) send email to the members with no fax numbers, informing them that someone tried to send them a fax. I tend to prefer solution (2) for case (a), and solution (1) for case (b). - A configuration file-driven "munge_phone()" would be nice. 8/23/93 - Gordon