################################################################################ ################################################################################ ### ### ### ### ### g-page version 2.13 ### ### Author: Hiro Protagonist ### ### Initial release date: 05/15/00 ### ### License: GPL ### ### Send bugs to H_Protagonist@users.sourceforge.net ### ### ### ################################################################################ ################################################################################ ## ### ## This software falls under the GNU Public License. Please read ### ## the LICENSE file for more information ### ## ### ## THIS SOFTWARE COMES WITH NO GUARANTEE USE AT YOUR OWN RISK !! ### If you find a bug in g-page, regardless of how small or trivial it might be, please let me know at h_protagonist@users.sourceforge.net. OVERVIEW G-page is a client/server application designed to send alphanumeric messages from a computer running Linux/*nix to a wireless receiver. All messages are created from the client and sent to the server for processing. The server requires an Internet connection and can be running on the same computer or anywhere with a tcp/ip address. BUILDING *Note* This describes the build process for Linux only. If you are building this on a Sun Solaris workstation please reference the Solaris readme file. You will need to have GTK+ installed on your computer, including the development libraries in order to build g-page. I am currently using version 1.2.10 of GTK+ however g-page should compile with no problems with older versions. Both the gpage client and server require pthreads. After you untar the source files ( use 'tar zxvf' to unzip and untar the files in one command ) you should now have three new directories: /Client and /Server and /db_server. To build the client software go into the Client directory: cd Client A simple: make should compile the program. If all goes well you should end up with a binary named gpage. If all doesn't go well you might have to tweak the makefile a little. To compile the server go into the /Server directory and run make again. You should have a binary named gserver if all went well. To compile the database server you will go into the /db_server directory and run make again. You should get a binary called db_server. The database server does not require Gtk+ or any additional libraries at this time. You will need to have the following two libraries installed on your system, libghttp and libexpat. If you don't have these you can find a link for them on my website at http://g-page.sourceforge.net If you download them and still have trouble you can find a staticly-linked binary of gserver on my website. BINARIES If you downloaded the non staticly linked binaries you will need to have glibc and Gtk+. The binaries were compiled on RedHat 8.0 with Gtk+ v1.2.10 with gcc 3.2 but they should work with older libraries. If they don't work for you then you will need to compile the source code. (Don't worry, it's very easy to do) RUNNING THE CLIENT The gpage binary can be placed in any directory in your path. The first time g-page is run the software will create a new directory called .gpage in your home directory. It will then create blank database files for that directory. If you wish to store your database files in a different directory you will need to click on the "Pref" button on the toolbar and click the "change" button, then select the directory you wish to keep your g-page database files in. You will need to create the directory manually if it doesn't already exist. The only file that must reside in ~/.gpage is the CONFIG.dat file. This is the file that holds all your configuration settings, including the location of the current database files. You cannot move this file or gpage will not work. You will need to setup the client before you can send any pages. Start gpage and click on the "Config" button on the toolbar. You will need to fill in all the fields: Server IP address: This is the IP address where the paging server resides. If you are running the server on your computer then the default "localhost" is correct. Server Port: This is the port number that the server is listening on. You can use any port as long as the server is setup to listen on that port, and of course it cannot conflict with any well known ports in use. The default 1299 was picked for no good reason. ISP Domain: This is the domain of the isp you are using. If your email address is user@foobar.com you will type foobar.com in for your isp domain. Email Domain: This is the domain you log into to send email. This is the same domain you use for your email client. For instance if your isp email server is mail.foobar.com you would enter that. Timeout: This is the maximum number of seconds for the client to stay connected to the server. When the client sends the pages to the server it stays connected and reports back status as it's sending the pages. The client will timeout if it does not get any information in x seconds. This will stop gpage from hanging if something evil happens to the server. A value of 120 should be fine for most people. You might want to sent it higher if you are using a horribly slow Internet connection. If the client does timeout it will not stop the server from sending any messages, it simply means that you will not get any status report back for logging purposes. Email address: If you are going to send pages via email you will need to enter your email address. Most paging companies will put this in the actual message that is send to the pager for identification if you are sending a page via email. You can put a dummy address in like fu@bar.com as long as it is in the standard format of a regular email address. You can also put in a pager email address and any 2 way pager replying to a message will send their message to your pager. If you are only going to send pages via snpp you can leave the default values for all the email settings. SETTING UP A SERVICE You will need to enter a wireless service before you can enter a pager or PCS phone. Click on the Service button on the toolbar. The list service dialog box should pop up, click on the add button. Fill in the appropriate fields for your paging service. For example if you use Pagenet for your service you will fill in Pagenet for service Name. Fill in the Max msg length field next. This is the maximum number of characters that this paging provider allows per text page. If you don't know what the maximum number is you can contact the paging provider and get the number from them. If you are unable to contact them you can use 80 and it should be okay. If you put a number that is larger than what the service provider allows the message will be truncated by the paging company or in some cases they will reject the page. It's best to use the correct value. Protocols Supported: Now you need to select the protocols supported by this paging company. If you are using a service that supports the WCTP protocol you will need to enter the address of their server in the field named WCTP Setup. It's important to note that http:// MUST prepend every address or you will get an error when you try to send a page. If your not sure if your paging service supports WCTP you will need to contact them. I will provide the server addresses for the major paging companies when it's available. If your paging service requires a password to use their snpp server then select the "yes" button when asked this question and be certain to fill in the password in the proper field below. Otherwise leave the "no" button selected. SNPP Setup: If this paging provider supports snpp you will need to fill in the information for their snpp server. A list of some of the main ones are listed at the bottom of this file. The password field is usually not used by any of the major paging companies, you are probably safe to leave the field blank in most cases. If you leave the field blank the software will automatically fill in "none" for you. That's it, click Save and you are done!! Now you need to setup the pager or PCS phone. SETTING UP A RECEIVER Click on the Receiver button on the toolbar. The list receiver dialog box should pop up. Click on the add button to get the add receiver dialog box. Enter the name of the person using this receiver and the receiver number. If you are going to send messages via snpp to this receiver you will need to enter the full 10 digit number of the pager/phone. If you do not enter the full number the page will fail. I believe that WCTP also requires a 10 digit pager number. If you are uncertain if your pager/phone needs a 10 digit or 7 digit number you can try experimenting on your own or contact your service provider. Select Protocols: Next you will need to select the protocols used by this receiver. If you select SMTP you will have to enter the email address of the receiver in the next field, otherwise you can leave it blank. The protocols you select will now be enforced by the software, if you select all three protocols g-page will try to send the message via WCTP, if that fails it will try it via SNPP, if that fails it will try to send it via Email. It is important to only select protocols for a receiver that are supported by the messaging service you are using. Otherwise you will generate many failed pages. Also note that you don't have to enter all the protocols supported by a specific receiver if you don't wish to use them. for example, if your pager supports email paging but you don't want to send a page via email then you would leave that SMTP box unchecked. You can also change the order in which g-page will try to send a page by setting the protocol precedence under the pref->protocols->Set protocol precedence from the main toolbar. Receiver Email Address: If this pager/phone has an email address you will enter it here. Most wireless service providers attach an email address to their pagers and phones. This is not the most efficient way to send a message but will work if you have no other option. If you are going to use the "cc to email" option then you should put the email address of the person using that pager in this field, not the pager email address. This is a little confusing and will be cleaned up in version 2. When you choose to send a cc of every page to an email address the person carrying that pager gets a record of every page sent to them copied to their email. SNPP Options: g-page supports sending 1.5 and 2 way messages via the snpp protocol. Selecting the 1.5 protocol will activate the page-read acknowledgment for any message sent to that pager. Selecting 2 way allows you to send specific responses for the pager to select for a response. You must be certain that the pager is capable of these functions and setup properly with the paging service to send a 1.5 or 2 way message. WCTP Options: g-page supports three different sending methods for the WCTP protocol, one way paging, 1.5 way paging and 2 way.. One way means the message is sent to the pager and there is no further action. 1.5 way paging means that if you are sending to a pager (typically a two way pager) with 1.5 way messaging enabled, the pager will send a confirming email to your default email address when the page has been received. Do not confuse your default email address with the email address you setup for a pager. The default email address is the one entered under the Config option from the main toolbar. This will typically be your email address however if you wish to have the confirmation sent to a pager you can enter that address into the software. Selecting 2 way allows you to poll for a response from the receiver you have sent a message to. You will need to check for a reply under the 2 way response dialog which can be found under Maintenance on the main menu. Autosplit long messages: You can choose to autosplit longer messages into consecutive pages by selecting Yes. This means if the paging company only allows 120 characters per page and you send a page with 200 characters is will be split into two and send out as two consecutive pages. The first page will have an arrow --> at the end of it to indicate it was split and the rest of the message is coming shortly. Next you will need to click on the name of the service this receiver uses by highlighting it in the Select Service list box. Click Save and you are done!! The receiver you just entered should now be in the Select Receiver list box on the main screen. You are now ready to configure the server. RUNNING THE SERVER You can optionally create a configuration file for the server to read the following data from. The format of the file, named gpage.conf is: server_domain=localhost port=1299 connect_timeout=60 read_timeout=180 and must be placed into the /etc directory on the computer where the server will be running. If this file does not exist the server will use the values above as the default values and will work with no problems as long as the client is talking on port 1299. You can also define the port number for the server to listen to with the -p switch upon startup. I have included a little perl script to do it, or you can create one manually. The server domain is the name of the server. Localhost will work or the name of the server. The port= line must have the same port number defined as the client or you will get a "connection refused" error. Feel free to use any port you wish as long as it's over 1024, I picked 1299 randomly. Note - there are many reserved port numbers so you will have to make sure you are not using one of them. 1299 will work fine for most people. The read_timeout is the length of time the client will wait for a response from a remote snpp, WCTP or email server. Basically this will stop the server from waiting forever if the remote server dies in some funky fashion after you have established a connection with it. The connect_timeout is the length of time the server will wait to establish a connection with a remote server. The connect function call will normally timeout in a few minutes but you can set this lower if you wish. Note - You must end each line with a newline (press enter) in the file or it will not work properly. If you want to use the perl script you will need to make it executable by doing: chmod +x config.pl then run it by typing ./config.pl The script will create the config file in your /etc directory so you will need the proper permissions to create a file there. You may have to run the script as root. It will ask you for the information and create the config file for you. The paging server can be run with several different options, it will run as a daemon if you don't enter any options and simply start it with a ./gserver command. If you wish to run it in a terminal then you will need to start it with a -t option. If you wish to run it in debug mode then you can use the -d switch. Running in debug mode will cause the server to generate a log file in the ~/.gpage directory of the user who starts the process of all the transactions between g-page and any email or snpp server. If the server is run as a daemon you will need to look in /var/log/syslog for any error messages. To summarize: gserver Will run the server as a daemon gserver -t Runs the server in a terminal gserver -d Runs in debug mode, logging transaaction data to ~.gpage/g-page-trans.log gserver -s Disable scheduled paging. If you don't need to send a scheduled page then run in this mode as it's more efficient. gserver -p #### This will override any port number defined in the config file and force the server to listen on that port number. You can also use this to run multiple servers at the same time by assigning each server a different port number. If you run multiple servers on one machine you should start all but one with the -s switch to disable schedule paging. In other words, only enable schedule paging for one server or else you may run into problems. example: To start the server using port number 1900: gserver -p 1900 gserver -f <filename> Allows you to define clients to ban by including a list of their their ip numbers or hostnames in a file. You must include the full path of the file. You may delete the file after the server starts up if you wish as the server only reads the numbers once and stores them in memory. example: To start the server with a list of banned ip's or hostnames in a file called banned.txt in your home directory: gserver -f /home/qwerty/banned.txt gserver -g <filename> Allows you to define clients to accept by including a list of their their ip numbers or hostnames in a file. All ip numbers or hostnames except those in listed in this file will be denied access to the gserver. You must include the full path of the file. You may delete the file after the server starts up if you wish as the server only reads the numbers once and stores them in memory. NOTE - You cannot use both the -f and -g switches at the same time. gserver -c <script> Allows you to execute the script defined to dial an Internet connection if the gserver cannon find a live connection. The client must have the option activated in their user preferences also, so this can be set on a page by page basis. I would recommend using diald if you really need this functionality. example: To wxwcute a script called dial_internet.pl, located in your home directory, that will dial your internet provider if you are not connected to the internet: gserver -c /home/qwerty/dial_internet.pl gserver -a This will turn on the auditing function and log every page in your ~/.gpage directory in a file called server_log.dat. This log includes the IP address of the client workstation that sent the page as well as all the standard logging information. gserver -v (prints the version number and exits) Of course you can mix any of the switches when you start the server up. If you don't start it with the -s switch a separate process will start for taking care of the scheduled pages. In order to shut down the server (both processes) you can simply type in "killall gserver" (minus the quotes) from a shell command prompt. If you want to have the server run all the time on your server then you can simply start it as a daemon from one of the start-up scripts on your machine. DATABASE SERVER G-page comes with a database server utility which can be run from any computer with a g-page client. The database server, called db_server, listens on port number 1301 unless started with the -p #### switch. The database server allows other clients to connect to and transfer your current local database to their machine. This is an easy way to use one common database or to share data amongst many networked machines. db_server supports the following switches: d, t, p, f, g, v. The switches perform the same function for the database server as they do for the gserver as noted above. CLIENT FEATURES To backup or restore your current database files. From the main menu: Click on file->Backup DB to back up your files. Click on file->Restore DB to restore them. When you restore a backup copy you will destroy the current files you are using. GROUPS: You can create pre-defined groups to send pages to, including the ability to nest a group withing a group. Note, this only works for one level of nesting. You cannot nest a group within a group if the original group already contains a group nested in it. PRE-DEFINED MESSAGES: To use a pre-defined message you will need to click on Maintenance on the menu-bar and select "Stored Msg" This should bring up the pre-defined message box. To add a new message simply type the message into the text box and click on the "add" button. The message should now appear in the list. IF you want to send that message click on it in the list and click the "ok" button. The message should now be inserted into the message entry box. If you want to edit a message you will need to select the message from the list and click "edit" The message will be removed from the list and inserted into the text box, you can now make any changes you wish then click the "add" button to once again save the message. To delete a message you must select it from the list then click on the "delete" button RE-SEND PREVIOUS MESSAGES: To re-send the last message sent move your mouse into the main message entry box on the main screen and click the right mouse button. You should get a popup menu for inserting the last message. Click on that menu and the last message you sent will be inserted into the text box. To resend a message from the logs you right click on the message and then click on the popup menu for "resend message" SETTING YOUR PREFERENCES: DATABASE: Click on the "Pref" button on the main toolbar, this should pop up the dialog box for setting your preferences. The first option allows you to select a different location for your database files. If you select a local database g-page will read the database files located in your ~/.gpage directory unless you select a different location. If you select a different location which doesn't have any database files g-page will create empty ones. If you want to read database files from a different computer you will need to select the network option and fill in the correct IP address or domain name of the workstation you wish to read from. Note that the database server must be running on that workstation. If you select any value other than zero for the database refresh settings g-page will automatically update your database every xxx minutes. Note that if you are sending a page g-page will not perform this update due to the possibility of data corruption. You can leave this value at zero and manually hit the refresh button when needed if you choose. To convert a network database into a local database you will first need to select a network address to read from, click on the apply button to load the files, then click on the convert database button. Note - This will destroy your current local database files, so it's a good idea to back them up first, if you will need them at some point in the future. LOG: To automatically delete your log files after X number of days click on the log tab and select the "yes" option then select the number of days to keep the files before deleting them If you set a polling interval g-page will look for logged pages to delete every X hours. Leave this setting at zero to disable polling and only look for log entries to delete when g-page is started. SIGNATURE: To include a page signature automatically with every message select the signature tab and fill in the appropriate fields. To include a time stamp at the end of every page activate this field. This is separate from your signature and is in military (24 hour) time and will increase the length of every page by 6 characters. Note that the time stamp option is not affected by the signature option. PROTOCOL: Click on the protocols tab if you wish to configure g-page to send a copy of every page to the specified email address of every pager. Note: You will still have to select the smtp protocol in the add-receiver dialog box for this to take effect. I did this because there might be some receivers you don't wish to cc a message to. You cannot send a page to a pager with an email address if you have the cc to email option checked. This will be fixed in later versions. You can also select the order in which g-page will attempt to send the messages. The standard order is to send via WCTP then SNPP then Email. You can change this order to fit any combination you want. Be aware that you must select each protocol to have a unique order-number or g-page will complain. PROXY SERVER: You can select a proxy server for g-page to use for dispatching a page via WCTP. This will only work for pages going out via WCTP, not SNPP or SMTP. AUTO PAGE: You can change three values for the autopage feature here: script delay - This is the number of seconds g-page will wait after a defined script has been executed before attempting to locate the target file. If your script is performing time consuming tasks or perhaps gathering data from the Internet you might want to experiment with higher values for this number. default polling - This is the number of seconds g-page will wait before looking for a target file if you set the manual time to zero in your auto page settings. Use this setting at low values if you are sending data from other applications for g-page to send out. locate attempts - This is the number of attempts g-page will make to look for a target file before giving up. create error files when g-page is unable to parse a file - This forces g-page to create a file called GPAGE.PARSE.ERROR when autopage cannot match a receiver or group name in a file it is trying to parse data from. G-page logs the actual file data it was unable to parse and the date and time of the error in the file, which will be located in the same directory as the original file it was attempting to parse. Msg Entry Box: You can define how g-page handles the text you have entered into the message entry box after a page has been attempted. The default selection is "Always" which means g-page will remove the text from the message entry box after every page attempt. If you select "On Success" g-page will only delete the text if your page was sent. If you select "Never" g-page will leave the text in the message box regardless of the outcome of the page. COMMAND LINE PAGING: You can send a page to multiple receivers or groups from the command line of a shell by starting g-page with the following command: gpage <Receiver Name> <Receiver Name> <Group Name>... <message to be sent> For example, if I want to send a page to Sales Guy from the command line I would enter: gpage "Sales Guy" "Sales Manager" "Admin Group" "Call the office right away" Of course this assumes that there is a receiver in the database with the name Sales Guy, Sales Manager and a group with the name Admin Group. The names must be an exact match with the names in your receiver/group database. You can have as many names prior to the message as you wish. ADVANCED: SENDING OPTIONS: Set page mode - You can choose between asynchronous or serial paging. Asynch paging will increase your speed by creating a different network connection for each page you are sending, allowing up to 100 connections at a time. This will greatly increase your throughput if you are sending many group pages. View Page Status - Turn this off when you use asynch mode otherwise you will get page status updates on the main statusbar which will be out of order and difficult to interpret. Dial Internet on No Connect - Turn this option on and you will allow the server, if it was started with the -c switch, to execute a script that can dial your Internet provider if a connection cannont be found. Note - unless the server is started with the -c switch followed by the script to execute, this optin will have no effect. That's a feature not a bug :) QPAGE OPTIONS: Rollover to local server on no connect - If you select yes for this option g-page will attempt to send the message to your local snpp (Qpage snpp data) settings if it is unable to find a live Internet connection to connect with. View Qpage options - This allows you to enable or disable the qpage options on the main g-page screen. Qpage snpp data - Here is where you will setup your qpage settings if you wish to have gpage talk directly to a qpage server for sending pages via the TAP protocol. SENDING A SCHEDULED PAGE: If you wish to send a scheduled page you simply enter the page in the message entry box and select the receiver(s) to send the message to. Then click on the "Schedule" button on the toolbar. Select the time you want to page to go out and click the "send" button from the scheduled page dialog. The statusbar on the bottom of the g-page client will indicate if there were any problems sending the message to the server. If all went well you will see a "message scheduled" message in the statusbar. If you wish to delete any scheduled messages or obtain the status of messages that were scheduled you will need to click on Maintenance->Scheduled Msgs on the menu bar. The scheduled messages dialog box should popup with the ability to query the server for status on any scheduled pages, or to delete any that have not already been sent. Once you click on the "Get Status" button to obtain the status of a page it will tell you all the details and any error messages if the page did not go, then that information will automatically be moved to the log files. SEND A RECURRING PAGE You can mark a scheduled page to be sent once every hour, once a day or once a week. To do this you simply select one of the recurring page options when you select the scheduled page option. To check on the status of your recurring pages you will need to click on Maintenance->Scheduled Msgs from the main menu. This will bring up a dialog box showing all the scheduled messages you currently have. The list box will tell you when the page was originally scheduled and if it is recurring. In order to check the status of a page you will need to click on the message and click on the Status button. The client will query the server for the status of that message and update the statistics to show you how many times the message has been sent and the next time it is due to be sent. All logging information will show up in the text box under the statistics for any messages that were already attempted. VIEW LOGGED PAGES Click on the log button from the toolbar to bring up the history of all the messages you have sent out. The initial dialog box will show you a list of all the receivers who have had a message to them and the number of messages. Note that this number also includes failed pages too. To view a list of the actual pages you can double click on the receiver name. If you wish to see a listing of the pages sorted by the date they were send out you can select the date button on the top of the dialog box. Once you double click on a receive name or date a new dialog box will open with the actual listing of the messages sent. To view the full message simply select that message from the list. You will now see the full message that was sent in the text box on the bottom of the dialog and an error message in the status bar just above it if the message failed. If you wish to delete the logs you can select the date or name you wish to delete and press the delete button. You can also go to the Pref button on the main toolbar and select to have the logs deleted after X number of days. Note that at this time g-page only scans for logs to delete when it is started up, if you leave your g-page client up and running all the time the auto log delete function will not work properly. RUNNING IN QPAGE MODE If you want to send pages to a quick page snpp server to dispatch them via the TAP protocol you need to click on the Pref toolbar then select the advanced tab. Select yes for view advanced options. You should now have a set of radio buttons on the main q-page screen. If you activate qpage mode from this screen g-page will ignore the service you have setup for all your receivers and send them to the SNPP address defined under the advanced options, this should be the address that quick page is listening on. This is a bit of a kludge but should work fine for using g-page as a front end to quick page. AUTO PAGE Auto Page is a mode which includes many different features and means for sending a page automatically. You can access autopage by clicking the Auto button on the main toolbar or from menu Utilities->Auto page. Autopage can be run from the client or run as a daemon without the client. All the data for autopage is kept local to each client so it needs to be running. Of course you can minimize it and let it run in the background. RUNNING AUTOPAGE AS A DAEMON: To run autopage as a daemon you will need to start it from a terminal command prompt with the following command: gpage auto "complete profile name" (minus the quotes) where the profile name can be the default "AUTO_SCRIPT.dat" or any other profile that you have created and saved. To stop the autopage daemon it is recommended that you use the stop_deamon.pl script included with the g-page files as it will kill the daemon and cleanup any temp files created by autopage. The auto page dialog box has four tabs: ACTIVE FILE: - This box shows the current auto page settings if you have an active file. If you do have an active file you can disable it by clicking on the "Deactivate Current Script" button. If you want to re-start the previous script while there isn't an active file you can click the "Reload Previous Script" button. If you have autopage running and try to save new settings you will get an error message. You must deactivate autopage before trying new settings. If you click on the Run button g-page will save the current autopage settings in the AUTO_SCRIPT.dat" profile. If you wish to save multiple profiles you will need to click on the Save/Run button. You will then be prompted for a name for your profile then it g-page will save that profile and launch autopage. To delete a profile you need to select that profile name in the dropdown list box and click on the Delete button. FILE OPTIONS - This is where you will define the data you want to have sent out to a pager or group of pagers. You can do this in several ways: 1) You can define a script for g-page to execute which performs some action then loads some data into a file. The file will then be sent out to a pager. The script to execute needs to be entered in the "Full path of script" field, and the target file that will be sent out needs to be entered in the "Full path of target file" field. You must enter the full path and not the relative path for these files. You must have permission to execute the script you enter or g-page will not attempt to send any data. 2) You can leave the script field blank and just enter the name of the target file. In this case g-page will not try to execute any scripts and will just look for the target file to send to a pager. You will do this if the file is going to be created by another program. You can use wildcards for the file, for example the following are all fine: *.mydata mydata.* *fubar.txt fubar.t* Any wildcard searches allowed by your shell should be fine. You will then need to tell g-page what to do with the target file after it has been sent to the pager. You can delete the file, have it renamed or do nothing. If you rename the file g-page prepend the file with a r. and append a long number to the end of the file. (This number is the number of seconds since Jan 1 1970, it's rather long but I wanted something that would be unique ) For example, if I send a file named pagefile.msg and choose the rename option, the file will be renamed to r.pgfile.msg.1000077300. Of course the number at the end will be different for you. Now you need to tell g-page who to send the page to. You can either select a name from the main receiver list, or you can include the name of the receiver or group as the first line in the target file. This name must be an exact match for one that you have setup in your receiver list. For example lets say you have a group called MyGroup. If you have a file with the contents: MyGroup This is a test page g-page will send the message "This is a test page" to all the members of the group MyGroup. The page data cannot exceed 1000 characters or g-page will truncate the message. SET TIME - Here is where you will define the time when g-page will attempt to send your page. You can set it to happen once or have it happen as a recurring event. If you set the "manual" option then you can define auto page to execute every XX minutes. If you leave the manual time set as zero g-page will default to executing this event every 10 seconds. You can change the default value under the Pref->Auto Page from the toolbar. PARSE OPTIONS - These settings allow you to "fine tune" the data you send to your pager. You can leave the default option of "send entire file" or you can choose to parse sections from the file and only send those sections. It's important to note that the fields start at zero, so if you wish to send out the first 100 characters set field one to start at zero and end at 99. You can overlap fields if you wish. A parsed field must have an ending field greater than the starting field. 2 WAY WCTP FEATURES g-page supports sending canned replies to a 2 way wctp pager, as well as retrieving a reply sent from a two way pager. SENDING MULTIPLE CHOICE MESSAGES Under the Utilities option on on the main menu you can select Utilities->2 way response options from the main menu, or right click in the message box and select select 2 way response from the popup menu. This should popup the 2 way message response options dialog box. You will need to add messages to the database before you can send them. This is done by clicking on "Add" then typing in the message followed by clicking Save to add the message to your current list. You can also edit or delete a message using the proper buttons from the toolbar. If you wish to send 1 - 3 message reply options along with a wctp page you need to click on the message you want to send to select it, then drag and drop it into an open slot. Once you have your replies in the slots you will need to click on the "Activate" button on the toolbar, you will see the Activation Status light at the far right hand side of the toolbar turn from red to green. At this point any wctp page you send to a 2 way pager will send your custom message replies along with it. To de-activate your custom replies simply click on the deactivate button. Note - The custom replies will only be sent to a pager that has 2.0 paging selected under WCTP Options in the Add/Edit receiver dialog box. MANAGE 2 WAY REPLIES Click on Maintenance->Msg Replies on the main menu to bring up the Manage 2 Way Replies dialog box. From this dialog you can view all the messages which have been sent to a 2 way WCTP pager, as well as the status of each message and replies, if they exist. When a message is sent to a 2 way wctp pager it will show up in the list of outstanding messages in the upper list box. The message will have a "U" in the status box to signify that it has not been confirmed yet with regards to delivery. To check for delivery status, as well as for any replies, select the message from the list of outstanding messages and click on the "status" button at the bottom of the dialog. You will see a message in the middle of the dialog box next to the Status: label which says "Connecting with wireless service - please wait" this is where g-page will report back status of each message. If the message delivery has not been confirmed you will get a notice telling you there is no data from the wireless service. If the message has been confirmed delivered the "U" in the status box will change to a "D" to signify that the delivery has been confirmed. If a reply has been sent back the message will be removed from the top dialog box and entered into the "Saved Replies" dialog box on the bottom, along with the actual reply. These messages will stay here until you manually delete them. Note - The time stamp that gets loaded into the saved replies is the time when you got the reply back from the messaging service. This does not reflect the time the reply was actually sent back from the pager. Note - g-page will only allow you to query for status and replies from pagers which have 2.0 paging selected under WCTP Options in the Add/Edit receiver dialog. CLIENT DATABASE FILES There are 12 files that the gpage client uses: RECEIVER.dat: This contains all of the info for the wireless receivers/pages/phones. SERVICE.dat: This contains all of the data for the paging services you have stored. CONFIG.dat: This holds your user preferences as well as your tcp/ip settings along with your email settings. This file MUST reside in ~/.gpage GROUP.dat: This holds all the information for your pre-defined groups MSG.dat This file holds all of the pre-defined messages you have created IDS.dat: This file keeps track of the id's the software uses to associate a pager with a service. It stores the next available id and keeps track of id's that get recycled when a pager or service is deleted. SCHED_DB.dat: This file contains information about any scheduled pages you might have. log.gpage: This file holds all the stored logs from pages sent. 2way_log_gpage: This file holds all the two way messages sent to a 2 way wctp pager which have not been replied to. AUTO_SCRIPT: This file holds the info from your last autopage settings. reply.gpage: This file holds the replies sent to a 2 way wctp pager TWO_WAY_RESPONSE.dat: This file holds all the canned message replies you have stored. All of these files are comma delimited plain text and can be edited by hand, but be warned, at this time g-page is not very forgiving and if you munge one it will cause the software to not work properly, if at all. It's best to use gpage to add/edit/delete things unless you have a good reason. All these files can be found in your ~/.gpage directory SERVER DATABASE FILES There are 5 files that the gpage server uses: SCHED_ID.dat: This is the file where all the id numbers for scheduled pages are kept and recycled. gsched_id.dat: This is the data file for pages that are scheduled and when they need to go out. gsched.dat: This is the file that contains the actual scheduled pages and all of the information needed to send it. gpage_sched_log.dat: This is the log file for scheduled pages which have been sent but have not been queried by the client. server_log.dat: This file holds all the auditing data from the server when it's run in auditing mode. This includes the ip address from which the message originated and the message info. These files will reside in the ~/.gpage directory of the server. WHAT ELSE DO I NEED TO KNOW 1) The client logs status updates from the server in a file called g-page.log which is stored in your ~/.gpage directory. This file is used for debugging and can contain useful information if things are not working for you. 2) The client creates a FIFO pipe for talking to the status line in the directory you run it in. If gpage should die for some reason you might see a file named pcclient_xxx in your /tmp directory. (xxx is the process id for gpage.) You can delete that file. If gpage exists normally the file gets deleted automatically. 3) The CONFIG.dat file must reside in your ~/.gpage directory. All other database files can reside anywhere on your computer. If CONFIG.dat is not in the ~/.gpage directory then g-page will think you are running the software for the first time and it will create a new CONFIG.dat with the default values. 4) The file locking strategy that the server uses is sort of a kludge/hack and I'm not certain that it is foolproof. It has worked perfectly in my limited testing, but that doesn't mean that it's bug-free. If you get any data corruption while sending scheduled pages please email me a detailed report of what happened. HACKERS The code for the interface was all generated by Glade and is not the prettiest thing to slog through. Glade does a great job of building an interface, but it's totally void of comments. It's really rather straight forward though and once you dive into it you can find stuff rather easily. If anyone wishes to help I would be happy to have it. One of the biggest needs right now is for someone to do the documentation properly. I would like to have a nice html help file done by someone with some proper writing skills (which I am lacking :) as well as some html talent. I promise to let you put your name all over the place if you want to help. I would also be interested in anyone who can help by trying to compile g-page on other Unix based platforms, specifically AIX, HPUX, IRIX or any of the BSD's. SNPP INFORMATION Here are some addresses and port numbers of some of the service providers who support snpp. I can't promise you this information is correct but I believe it is. Company: SNPP ADDRESS PORT AirTouch/Verizon snpp.airtouch.com 444 Nextel pecos.nextel.com 444 Pagemart: pagemart.net 444 Skytel snpp.skytel.com 7777 Metrocall snpp.metrocall.com 444 Propage page.propage.net 444 WCTP INFORMATION At this time there are two carriers with a wctp server available for testing, Arch Wireless and Skytel. Contact your paging rep to see if WCTP is available for use.