ServerObjects Logo


AspPager 1.x

About AspPager

AspPager allows you to send alpha-numeric pages using the standard TAP protocol from any program that can use ActiveX/OLE components.

AspPager Installation

To use this ASP component move the DLL into a subdirectory (like \winnt\system32 for NT or \windows\system for Win95).

To register the component on the system change to the directory where you installed the DLL and type:

regsvr32 asppager.dll

Move pagrmodm.ini to your \WinNT or \Windows directory.

Simple TAP Paging Example

Using the component is as simple as

  1. Creating the object
  2. Setting a few properties
  3. Calling the SendPage method

The following code demonstrates how to use AspPager from VBScript.


<%
  Set Pager = Server.CreateObject ("AspPager.Pager")
  Pager.ComPort = 2
  Pager.SetModem ("PPI PM9600SA V.32")
  Pager.BaudRate = 19200
  Pager.PhoneNumber = "1-800-xxx-xxxx"
  Pager.PIN = "xxxxxxx"
  Pager.Message = "The quick brown fox jumped over the lazy dog."
  if Pager.SendPage then
    Response.Write "Page sent successfully"
  else
    Response.Write "Page Failed. Reason: " & Pager.Error
  end if
%>

By testing the result of the SendPage method we can determine if the paging process was successful or not. Errors are reported in the Error property.

Simple Numeric Paging Example

Using the component is as simple as

  1. Creating the object
  2. Setting a few properties
  3. Calling the SendPage method

The following code demonstrates how to use AspPager from VBScript.

<%
  Set Pager = Server.CreateObject ("AspPager.Pager")
  Pager.ComPort = 2
  Pager.SetModem ("PPI PM9600SA V.32")
  Pager.BaudRate = 19200
  Pager.PhoneNumber = "543-4321,,,,21564121"
  Pager.PageType = 1
  if Pager.SendPage then
    Response.Write "Page sent successfully"
  else
    Response.Write "Page Failed. Reason: " & Pager.Error
  end if
%>

The component will dial 543-4321, pause a couple of seconds (the commas cause a delay in most modem dialing strings) and then it sends the dial tones for the message 21564121. See your modem manual for information on how long your modem will pause for each comma. You may need more or less depending on the length and numeric paging services features.

By testing the result of the SendPage method we can determine if the paging process was successful or not. Errors are reported in the Error property.

About purchasing AspPager

  1. The license fee covers only one CPU per license.
  2. Evaluation copies will expire. See the Expires property for details on determining when your copy will expire.

About Upgrades

  1. Users can upgrade for free for minor version changes. For example, upgrades from version 1.00 to 1.99 are free. The upgrade from 1.99 to 2.0 may carry an additional license fee.
  2. The latest version of the components are always available at http://www.serverobjects.com/products.htm. If a fee is associated with obtaining the upgrade it will be noted on that page.

Upgrade Instructions

To upgrade the component from a previous version please follow these steps:

  1. Stop all IIS related services such as Gopher, FTP and W3SVC.
  2. Change to the directory where the component is located and type "regsvr32 /u asppager.dll"
  3. Move the new copy of asppager.dll to the current directory and type "regsvr32 asppager.dll"
  4. Restart the necessary services.

Questions about AspPager

"AspPager never works. I get Server object error 'ASP 0177:800401f3'." This error means "Invalid class string" -- in other words the call to CreateObject failed because the name object cannot be found by the OLE sub-system. Causes include:
  1. You really didn't run regsvr32 on the server after all.
  2. You ran regsvr32 but it reported an error.
  3. Someone modified security on part of the registry that's preventing the OLE subsystem from reading all or part of the HKEY_CLASSES_ROOT tree.
  4. The name of the object you are trying to create was mispelled or is incorrect.
  1. Determine if it's a permissions problem

    Add the anonymous user (used by IIS) to the Administrators group. The test page then worked, proving it was a permissions problem. Do not forget to remove the anonymous IIS user from the Admin group!

  2. Determine if it is a file permissions problem:

    After removing the Anonymous user from the Admin group, add failure auditing to the file (asppager.dll), which will determine if the file was ever accessed (by the lack of the failure event). If it isn't, this makes it clear that the failure is prior to file access but go ahead and check file/directory permissions to make sure the anonymous IIS user can access the file.

  3. Check registry permissions

    Using Regedt32, do find on asppager.dll. Check the permissions for the key (and sub keys), and make sure that the anonymous user has read rights. Do a find on the class-id, which contains the location value, and version, and check those permissions as well.

"AspPager never works. I get Server object error 80040154." This is the most common error reported. The error means that ASP could not create the object. Causes include:
  1. You never ran regsvr32 on the DLL. See installation section of this document.
  2. You registered the DLL with regsvr32 in one subdirectory and moved it to another.
  3. IIS does not have proper security permissions to access the DLL or the directory you installed it to. See the ASP FAQ (http://www.signmeup.com/faq/) for information on changing security.
  4. Your server may be running low on memory.
  5. Your evaluation copy has expired. If you purchased the product be sure you followed directions to install your product key.

Note: Some users have reported that restarting the server after registering the DLL was required to use the component. This should not be necessary but reportedly works in a few cases

"AspPager works great but sometimes I get 'Server object error 'ASP 0177:80040154'. What's causing this?" If AspPager works fine, then it suddenly stops working and ASP begins to report this error, then you've probably got a memory leak under IIS/ASP. What has happened is that AspPager objects can no longer be created. This could be caused by a) You haven't installed the ASP patches that fix known ASP memory leaks b) You have a filter or extension installed that's leaking memory c) You have another component that's leaking memory.

AspPager 1.x has been run under BoundsChecker to verify that AspPager does not leak memory.

"When running regsvr32 I get an error: 'LoadLibrary ("asppager.dll") failed. GetLastError returns 0x0000007e."
  1. You are trying to install the AspPager Intel binary on NT for Alpha. Currently there is no Alpha version of AspPager. One is under construction but there's no ETA for the product yet.
  2. The DLL isn't in the same directory you are running regsvr32 from.
  3. The account you are logged in under doesn't have enough security privileges to read the DLL.
  4. The copy you have is corrupt.
"I'm getting a voice when I dial up my pager service. The page never gets sent. What could be wrong?" Sounds like you are dialing a numeric pager phone number. See the instructions in this document detailing how to send a numeric page.
How do I upgrade to the latest version? Download the latest "eval" version and follow the upgrade directions provided earlier in this document.
Can I redistribute this control with my products? The license agreement does not permit redistribution of AspPager.
My component is Licensed. Should the Expires property return a date? No, licensed versions return N/A for an expiration date. The key installation process (per the instructions you received) should be run on the server.
What are the minimum security requirements for AspPager and IIS/ASP? Technically, the only requirement AspPager has is that it must have access to the temporary directory as noted in one of the previous troubleshooting tips. But IIS and ASP have certain requirements that must be met to run properly. Thanks to Carl Howell for providing this information.
ASP script directory Creator Owner: Full Control (All)(All)
System: ""
Admin: ""
IUSR: (None)(RX)
\WinNT\ Creator Owner: Full Control (All)(All)
System: ""
Admin: ""
IUSR: (WX)(X)
\WinNT\System32\ System: Full Control (All)(All)
Admin: ""
IUSR: (RX)(RX)
Inetsrv System: Full Control (All)(All)
Admin: ""
Everyone: (RX)(RX)
Does the 2 CPU license cover two servers or two processors? In accordance with the license agreement, the 2 CPU license would cover either 2 single CPU servers or 1 dual CPU server. With this pricing model, AspPager is far more inexpensive than any "competing" products.

Technical Support

If you require technical support please see our tech support page at http://www.serverobjects.com/support.htm

AspPager Properties

Property Description
BaudRate The BaudRate property allows you to set the baud rate for the COM port. Note: Some modems will not work with paging services above 2400 baud.

Example:

Pager.BaudRate = 2400

ComPort Determines which COM port will be used. The modem should be attached to this COM port for dialing out to the TAP provider.

Example:

Pager.ComPort = 2

Databits Sets the databits of the COM connection. Defaults to 7 which works for most paging services. SkyTel users may need to set this value to 8.
Error The error property is a read-only property used to report paging errors. If your page is a numeric page (PageType = 1) then the only errors that can be returned are those associated with talking to your modem or dialing. If the dial is successful then no error will be returned. Numeric pages provide no method to check errors outside of this. If on the other hand your pages are TAP (PageType = 0) then full dialing / protocol error checking is provided. If you are having problems with a numeric page then you will have to work with your phone number dialing string to get the right dialing sequence which allows the component to punch in the numeric digits at the right time. If during a numeric page your modem dials up successfully, then an automated voice message starts playing and your modem hangs up then your modem has some sort of voice detection hardware built in and you will have to consult your modem manual to turn voice detection off.
Expires Reports the expiration date of the component for evaluation users.
MaxMsgLen Some alpha-numeric pagers have a limited message length. You can send a long message in one paging session that is broken out into multiple pages by setting MaxMsgLen to the length of the pager's maximum character buffer.

Example:

Pager.MaxMsgLen = 80

Message For sending single pages the Message property should be set to the alpha-numeric message you wish to send. For sending multiple alpha-numeric pages see the AddPage method.

Example:

Pager.Message = "Please contact me at 1-321-333-2211. John."

PageType Determines whether the component will dial in a numeric or alphanumeric paging format. The default is 0 which is alpha-numeric. To send numeric pages set PageType = 1.
Parity Sets the parity of the COM connection. Defaults to Even.

Valid values are

0 None
1 Odd
2 Even
3 Mark
4 Space

Example:

Pager.Parity = 0

PhoneNumber Set the PhoneNumber property to the phone number of your TAP access provider (paging service).

Example:

Pager.PhoneNumber = "1-800-xxx-xxxx"

PIN For sending single pages the PIN property should be set to the PIN number of the  alpha-numeric pager you wish to send the page to. For sending multiple alpha-numeric pages see the AddPage method.

Example:

Pager.PIN = "1234567"

RegisteredTo If the component has been purchased the RegisteredTo property will return the licensee's name.
Stopbits Sets the stopbits of the com connection. Defaults to 1 which works for most paging services.
Timeout For numeric pages only. This property sets the number of seconds to wait before hanging the phone up. The time commences with the dial command. The default is 8 seconds. If you have a longer paging sequence to send you can increase the timeout using this property.
UseTAPI UseTAPI is false by default. If set to true, AspPager will use TAPI to communicate with the modem. If you set UseTAPI = true you must do this after you set the PhoneNumber property.

Example:

Pager.UseTAPI = true

Version Gets the internal component version number.

Example:

Response.Write "Component Version: " & Pager.Version

AspPager Component Methods

Method Parameters Return Value Description
AddPage strPin, strMessage N/A By calling AddPage you can send multiple pages per call. Simply call AddPage with the different pager's PIN numbers and messages. Call AddPage once per page to be sent before calling SendPage.
SendPage None True or False The SendPage method attempts to send the page using the property values provided.
SetModem strModemName N/A Set's the modem name to the modem type you will be sending pages on. You can find a list of recognized modem types in the pagrmodm.ini file.

 

Copyright © 1996, 1997, 1998, 1999, 2000 by ServerObjects Inc. All Rights Reserved.