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