Kermit FAQ - How Do I Write a Script to Dial a Pager?

(Home) (Prev) (Next)

16 How Do I Write a Script to Dial a Pager?

A numeric pager is one that can display a number -- usually the number to be called back. The number is entered by pressing Touch-Tone keys on your telephone, usually terminated by pressing the "#" or "*" key.

Numeric pagers are not modems. Therefore when you dial one, it does not return a carrier signal. Therefore, the dialing modem will not say "CONNECT" or turn on its carrier signal. Therefore, DIAL commands will not succeed.

You can type commands to your modem manually for testing. For example:

  ATDT7654321,,,,,8765432#;
In this example we Tone-dial the phone number "7654321", then we pause for ten seconds (",,,,,") to give the pager time to answer the call, then we send "8765432" to be displayed on the pager, then we send the "#" tone, and then we return to command mode (";"). The modem should respond "OK". The details will vary with your modem, your telephone service, and the pager you are dialing.

Let's assume we have a Hayes 2400 or higher compatible modem. Here's a sample command file to call a numeric pager:

  define \%a 7654321  ; Number to call
  define \%b 8765432  ; Number to display on pager
  set port xxxxxxx    ; Select the communication device
  set speed 2400      ; Any speed supported by the modem
  output AT\13        ; Make sure it's in command mode
  input 3 OK          ; ...
  if fail stop 1 Can't get your modem's attention
  output {ATDT\%a,,,,,\%b#;\13}  ; Make the call
  input 3 OK          ; ...
  if fail stop 1 Can't place call
You can turn this into a macro that accepts the numbers as arguments. See "Using MS-DOS Kermit" or "Using C-Kermit" for additional script programming instructions, and your modem manual and the pager manual for details of calling and paging. Note: the OUTPUT string is enclosed in curly braces to force the commas to be taken literally (if you were using this command in a macro definition and did not enclose the OUTPUT string in braces, the commas would be command separators). Note #2 - Some modems might also support a "wait for quiet answer" feature, e.g. by using the at-sign "@" in the dialing string:
  ATDT7654321@8765432#;
However, even when your modem supports this feature, it might not be the right approach for every paging service. For example, some services issue a lengthy voice message and then a beep (or two or three) before they are ready for the message. So in most cases a fixed pause is safest.

What about alphanumeric pagers? You have to dial the paging service and then either go through a series of prompts, or else execute a protocol like TAP. C-Kermit 6.0 comes with a TAP paging procedure:

ckepage.ksc

You can also send an alpha page "by hand". The manual method goes like this (at least for paging services that support TAP "manual mode"):

  1. Set up the call.
  2. Make sure that DIAL succeeds (Alpha pagers, unlike numeric pagers, will send carrier back).
  3. Look for "ID=".
  4. Send uppercase "M" followed by carriage return.
  5. You are prompted for the destination pager ID. Send it, followed by a carriage return.
  6. You are prompted for the text of the message. Send the text. It might be restricted to one line, and even if not, it might be restricted to a certain total length.
  7. You might be prompted in some way for more pages or lines; you can answer yes or no.
  8. Assuming you answer no, optionally look for the farewell message, then hang up.

The exact procedure and prompts vary according to the paging service, so you'll need to go through the process manually to see exactly what the prompts and sequences are. Then you can write a Kermit script to send manual-mode alphanumeric pages automatically.


Kermit FAQ / Columbia University / kermit@kermitproject.org