1The following is my "to do" list for QuickPage (not in any particular order) 2---------------------------------------------------------------------------- 3 4- Add the forwarding capability from v2.0 back in. It would be nice 5 if people could use the LOGIn SNPP command to change where their 6 pages are sent. 7 8- Add support for DTMF paging. Unfortunately there is no way to determine 9 success vs. failure, and not all modems will be able to do it. 10 11- Write a cool Java interface. 12 13- Write a cool X11 client interface. 14 15- Provide some mechanism for sending/canceling specific pages in the queue. 16 17- Let the client read .qpage-aliases so users can make their own groups. 18 19- Add support for modems connected to network terminal servers. 20 21- Add support for a generic backend database for looking up pagerids. 22 23- Add support for 2-way pagers, assuming I can convince SkyTel to be more 24 cooperative and let me have a peek at their proprietary modem protocol. 25 They have an API for developers that comes in binary form but I don't 26 like it at all; there's no source code, it's too slow, and it's not 27 nearly as portable as qpage. 28 29- Add support for running qpage from inetd as a "wait" service. I don't 30 see much use for this since qpage should always be running anyway to 31 process the page queue periodically, but lots of people have requested 32 this feature. Perhaps someone can answer this question: what happens 33 if a page is submitted with a HOLDuntil time 3 hours from now, and 34 two hours later the machine crashes/reboots? If qpage is not started 35 by some rc script and no one submits another page for a while, the 36 page in the queue will not be delivered on time. This could be bad. 37 38- Add an email keyword to the pager entry so failed (all?) pages can be 39 emailed to the recipients if necessary. 40 41- Add "mapfile=<filename>" keyword to specify a character translation 42 table. Characters in the message with a corresponding character in 43 the mapfile will be translated to that character. This is mainly 44 intended for 8-bit characters which are otherwise stripped to 7 bits. 45 46- Make qpage threaded so it can process jobs to multiple different 47 paging services in parallel. 48 49- Put more smarts in the client so it will try multiple servers even 50 if a successful connection to one server results in a rejected page. 51 52- Add a "page format" keyword in the configuration file that would let 53 the administrator configure how a page is formatted. I'm thinking 54 this would be similar to a printf() string where %F=from, %S=subject, 55 and %M=message. In this case, a format of "%F_(Subj:_%S)_%M" would 56 result in the currently hard coded format. Of course since no 57 keyword value is allowed to contain whitespace, underscores will 58 be translated to spaces just like in the "text" keywords. 59 60- Let keyword values contain \nnn which should be expanded to the 61 appropriate character value. 62 63- Find a better way for the client to pass the sender's e-mail address. 64 Perhaps the argument to the LOGIn command can be used for this. 65 66- If remote_connect() returns F_NOMODEM, try another modem instead of 67 giving up. 68 69- Add support for multi-block transmissions. To my knowledge, SkyTel 70 is the only paging service that supports this. 71 72- Consider providing an option to suppress the compression of whitespace. 73 74- Add a configuration variable to control how many pages are sent to a 75 particular paging service during a single phone call rather than just 76 keep sending pages until they hang up on us. 77 78- Update the page queue after each page attempt; don't wait until the 79 end of the queue run. If pages are delivered but the child is killed 80 before the queue is updated, those pages will be delivered again. 81 82- If pagerid not found, look in GECOS field of passwd file. 83 84- Let page groups include other groups. 85 86- Look for ID= after sending <ESC>PG1 and retry login if necessary 87