BT Caller ID with Hayes Accura modems
First ask "What is ANI"
ANI or Automatic Number Identification is a method by which the different telephone companies determine what account is to be charged for a call. This information is passed between Telcos systems and was originally for billing purposes and predated both SS7 (Signaling System 7) and (C)LASS (Local Area Signaling Services was the original AT&T designation, the "C" was added by Bellcore after divestiture) services. That makes CNID or Calling Number IDentification (or Caller ID) possible.
Since the Telcos had ANI, the decision was made to make it available to authorized parties such as 911 service and state security services. ANI is also used to let a Telco operator know who is calling.
More recently, ANI is used to report to so called 800 and 900 subscribers, who made the calls they have received. Thus the 800 number subscribers know who the charge is for, and 900 number subscribers know whom to charge.
Thus while ANI is similar to Caller ID and may provide the same information, they are actually two different services, and ANI information is not necessarily the same as what will appear on a Caller ID display.
Caller ID is a Telco offering that is a byproduct of (C)LASS services. In this case, only those numbers reported by participating exchanges are returned, exactly which are and which are not is currently (March 1994) at the Telco's discretion.
The Federal Government has stated that it is their intent that nationwide CNID be available by mid-1995. The full text of this decision may be found FCC Report No. DC-2571 issued on March 8, 1994.
The biggest effect of the ruling is to mandate transport of CPN (customer provided number) information between interconnecting networks eliminating the effective inter-LATA-only limitation that exists today in most areas.
Currently there are two types of Caller ID. The first (often referred to as "basic" service) returns just the calling number or an error message and the date/time of the call.
The second ("enhanced" Caller ID) also may return the directory information about the calling number. At a minimum, the name of the subscriber is returned (the subscriber is not the same as the caller, the phone company has no way to determine who is actually on the line).
The method for sending and displaying the CID information during a silent interval between rings was invented by Carolyn A. Doughty. This invention was filed for a United States Patent on July 12, 1983. It was assigned patent number 4,582,956 on April 15, 1986 with AT&T Bell Laboratories (now Lucent Technologies Incorporated) listed as the assignee.
Caller ID was first offered in New Jersey in 1987 by New Jersey Bell. The telephone company was interested in trying to earn additional revenue from its investments in new high-speed network signaling systems. These new systems use a separate call data circuit based on the SS7 standard to handle the setup, termination, supervisory signals, and other data concerning a call. This separate call data circuit can handle the processing of multiple calls very quickly and eliminates certain types of toll fraud.
Prior to SS7 telephone companies used ANI for call billing purposes. With only a few exceptions, the billing information about the caller was not sent beyond the central office that provided that caller's service. The exceptions to this were authorized parties such as 911 services, law enforcement agencies, and more recently 800 and 900 number subscribers. Even today, ANI is still used by these parties. Since ANI is completely independent of CID it will deliver the originating number even when the originator has blocked their number for CID purposes.
With the installation of the new SS7 systems it became practical to forward the calling party's identification through the telephone network to the central office serving the called party. This aspect of SS7 is known as Calling Party Number Message (CPNM). The CPNM includes the calling party's telephone number, and whether or not the calling party wants their number blocked from being seen by the called party. Note that the CPNM is sent out on all telephone calls that are made, regardless of whether or not the calling party wants their number blocked.
A major issue that came up with the offering of CID was that of privacy. In several states the implementation of CID was slowed by privacy advocate groups. These groups claimed that CID was an invasion of privacy. In April of 1994, the Federal Communications Commission (FCC) issued a ruling that established a national standard for CID and the delivery of the caller's number into the switched network. Local and long distance telephone companies that were equipped to do so had to exchange CPNMs. Along with this, the telephone companies had to offer blocking on a per call basis so that the caller could block their number from being delivered to the called party. The CPNM is still delivered to the final central office serving the end subscriber, but the number is then blocked and the CID message marked as private.
Answer from the Caller ID FAQ: http://www.ainslie.org.uk/callerid.htm (Copyright 1998-9 Alastair Ainslie)
This is where it gets tricky as there are several ways of sending the Caller ID data down the line, of which three are in use in the UK. As a result, the residents of uk.telecom can get very upset when people ask about "UK" Caller ID. I will soon be adding a page devoted to the technicalities of these standards, but to keep it simple :
- The Bellcore standard is used in the USA, Canada (but see below), Australia, China, Hong Kong, Singapore, Italy (?) and by most UK cable companies.
It sends the data after the first ring tone and uses the 1200 baud Bell tone modulation. The data may be sent in Single Data Message Format (SDMF) which includes the date, time and number or in Multiple Data Message Format (MDMF) which adds a NAME field. http://testmark.com/callerid.html has more details.
- British Telecom developed their own standard, which wakes up the display with a line reversal, then sends the data as CCITT modem tones in MDMF. It is used by BT, wireless networks like the late Ionica, and some cable companies (Nynex?). Details are to be found in Supplier Information Notes (SINs) 227 and 242; another useful document is "Designing Caller Identification Delivery Using XR-2211 for B.T." from the EXAR website.
- The Cable Communications Association in the UK developed their own standard which is similar to BT's, but can cope with American switches.
- An esoteric DTMF system is used in Finland, Denmark, Iceland, the Netherlands, Sweden, Brazil, Saudi Arabia and Uruguay.
- NTT in Japan have developed their own FSK system.
The European Telecommunications Standards Institute's (ETSI)
standard (ETS 300 659-1 & -2, and ETS 300 778-1) allows 3 physical
transport layers (Bellcore, BT and CCA) combined with 2 data formats (MDMF
& SDMF), plus the DTMF system and a no-ring mode for meter-reading and
the like. It's more of a recognition that the different types exist than an
attempt to define a single "standard". France, Germany, Norway,
Spain, South Africa and Turkey use ETSI formats similar to the BT standard.
More details (like the code numbers of official standards documents) can be found at:
whilst broader overviews can be found at
Following the consolidation of the UK cable industry, most cable companies seem to be standardising on Bellcore, although different exchanges within a company may use different standards. The only way of finding out which one you have is to ask them, buy hardware from somewhere that takes returns (Argos etc.), or use a multi-standard device.
BT devices seem to send the data after the first ring like Bellcore ones
for compatibility purposes, so you can use American software with a modem on
a BT line. Most of them cope with our dialling codes being 5 digits not 3,
but not all of them; the hyphen between code and number can also cause
The good news is that there are chips available that can cope with different standards, but they are not widely used. Some that have been mentioned are the EXAR XR-2211 (see above), the CWID-capable CMX602B from Consumer Microcircuits Limited and Mitel's MT8843AE, found in their CNIC2 modem. http://www.adventinst.com/cidic.htm has a list of mostly Bellcore Caller ID chips.
As a 1200 baud, 7 data bits, 1 stop bit data stream usually transmitted following the first and before the second ring signal on the line. Note that this is not a standard Bell 212 or CCITT v22 data format so a standard modem will probably not be able to receive it. Further, the serial information exists as such only from the recipient's switch to the callee's location. Between carriers the signal exists as data packets.
The signal is provided before the circuit is complete: picking up the receiver before the data stream is finished will stop/corrupt the transmission.
Currently there are two types of information returned: a "short form" which contains the date/time (telco and not local) of the call and the calling number or error message. The "long form" will also contain the name and possibly the address (directory information) of the calling phone.
The "short form" stream consists of a set of null values, followed by a two byte prefix, followed by the DATE (Month/Day), TIME (24 hour format), and number including area code in ASCII, followed by a 2s compliment checksum. Most modems/caller id devices will format the data but the raw stream looks like this : 0412303232383134333434303735353537373737xx or (prefix)02281334407555777(checksum)
A formatted output would look like this:
Date - Feb 28
Time - 1:34 pm
Number - (407)555-7777
In carrying CID a step further and combining it with Call Waiting, a service commonly called Caller ID on Call Waiting has been developed. This feature is also sometimes called Calling Identity Delivery on Call Waiting. With CIDCW the identification of the party calling can now be seen without putting the current call on hold. CIDCW is done the same way as CID with only a few exceptions.
Most Telco's providing Caller ID have been required to also provide the ability for a calling party to suppress the Caller ID signal. Generally this is done by pressing star-six-seven before making the call. In most cases this will block the next call only however some Telcos have decided to implement this in a bewildering array of methods. The best answer is to contact the service provider and get an answer in writing.
Currently this is supplied as either by-call or by-line blocking. By-Call is preferred since the caller must consciously block the transmission on each call. By-Line blocking as currently implemented has the disadvantage that the caller, without having a second Caller ID equipped line to use for checking, has no way of knowing if the last star-six-seven toggled blocking on or off.
Note that blocking is provided by a "privacy" bit that is transmitted along with the CNID information and so is still available to the Telco switch, just not to the subscriber as a CNID signal. Consequently related services such as call trace, call return, & call block may still work.
Generally, the number reported is that of the last phone to forward the call. Again there are some Telco differences so use the same precaution as in (6). If the forwarding is done by customer owned equipment there is no way of telling but will probably be the last calling number.
Note that as specified, CNID is *supposed* to return the number of the originating caller but this is at the mercy of all forwarding devices, some of which may not be compliant.
If you have two phone lines or use a PBX with outdialing features, the reported number will be that of the last line to dial. Currently there is no way to tell a black box from a human holding two handsets together.
Often a company with multiple trunks from the Telco and their own switch will report a generic number for all of the trunks.
There is a defined protocol for PBXs to pass true CNID information on outgoing lines but it will be a long time before all existing COT (Customer Owned Telephone) equipment is upgraded to meet this standard unless they have a reason to do so.
Each telephone company has an area in which they support Caller ID. The extent of this area varies with each local telephone company. In some cases this may be multiple states, and in other cases only your local area. Private and Out of Area calls are special calls supported by telephone companies.
If you receive a call from someone from out of the calling area supported by your telephone company, the Caller ID software will indicate Out of Area. Further identification of the caller is not possible. You can add this number to the Contacts as 'O', which is the actual telephone number supplied by the telephone company for Out of Area calls.
The telephone company must also provide an option to have the Caller ID information blocked. This is a special service that can apply to all calls made by a Private caller, or on selected calls.
If you receive a call from someone what has their Caller ID
information blocked, then you will receive only an indication that the
caller is Private. Further identification of the caller is not possible.
You can add this number to the Contacts as 'P', which is the actual
telephone number supplied by the telephone company for Private calls.
FUD - Fear, Uncertainty, & Doubt or 10,000,000 lemmings can't be wrong. There were some justifiable concerns that some people (battered wives, undercover policemen) might be endangered or subject to harassment (doctors, lawyers, celebrities) by Caller ID. As mentioned above there are several legitimate ways to either block Caller ID or to have it return a different number. It is up to the caller. The advantage is that with Caller ID, for the first time, the called party has the same "right of refusal".
Expect yet another Telco service (at a slight additional charge) to be offered to return an office number for calls made from home. Crisis centers could return the number of the local police station.
Answer from the Caller ID FAQ: http://www.ainslie.org.uk/callerid.htm (Copyright 1998-9 Alastair Ainslie)
Yes, there is a country where things are more complicated than the UK. Most people think that Canada uses Bellcore, just like the USA. It does - almost. For some reason, the Nortel equipment of Stentor member companies uses a non-standard implementation of MDMF. Normal Bellcore MDMF identifies each field with a Parameter Type word, and the NUMBER is assigned Parameter Type 02. These Canadian switches assign NUMBER to 03 which is normally the message type, MESG. This is incredibly confusing for anything that looks for the NUMBER after an 02, and this includes Unimodem. Some modem drivers (and presumably Canadian phones and caller ID boxes) know where they should find the number - 3Com ones for instance. Otherwise, you just have to avoid TAPI and use software that specifically knows about this quirk. Most Canadian authors seem to have found out about this the hard way ;-). I think the relevant document is Stentor document ID-0001 "CALL MANAGEMENT SERVICE (CMS) CALLING NUMBER DELIVERY (CND) (Single and Multiple Message Format) Terminal-to-Network Interface" but I couldn't download it.
Try selecting the ETSI Caller ID type at Advanced Call Center -> Options -> Caller ID. With many modems it helps solve the abovementioned problem.
Answer from the Caller ID FAQ: http://www.ainslie.org.uk/callerid.htm (Copyright 1998-9 Alastair Ainslie)
|Withhold sending of Caller ID
(some US telcos charge for this)
|Release number if normally withheld||1470||*82, 1182|
|Turn Caller ID on||*234#|
|Turn Caller ID off||#234#|
|Find out Caller ID status||*#234#|
|Turn ACR on||*227#||1478, *65|
|Turn ACR off||#227#||1479, #65|
|Find out ACR status||*#227#|
The 234# codes don't work on all BT exchanges, but *#234# is more reliable than the more comprehensive *#001# report. The 227# ACR codes are provisional, based on reports that BT exchanges suddenly started saying "This service is not yet available" (2-2-7 corresponds to A-C-R). UK cable companies generally use the US codes or a mixture (C&W's list is here)
The original specs for Caller ID allow for the name of the caller to be sent as well as the number. This service is widespread in North America, whereas BT got as far as a small trial, in Edinburgh I think, and then quietly dropped the whole idea citing "privacy problems". They may change their mind following the implementation of the Telecoms Data Protection Directive (see below). The best you can do is take the incoming number and match it against your address book or even one of the CDs of phone numbers - the standalone devices have limited memories for doing this kind of thing, computer solutions can obviously do more (see below).
This is something that is becoming more and more common, but is still
rather unpredictable. Different routing can mean that the number is passed
or not, and this is more apparent on international calls, especially from
the US. In the UK, Oftel will allow European Caller ID if the other country
has implemented the Telecoms Privacy Directive (see below
- some hypocrisy here, I feel <g>), and there have been reports of
Caller ID appearing from Australia and even some US lines. This seems to
happen more often on digital mobiles than on land lines. You may be
surprised to see that some calls from inside Britain show up as
"International". This is normally due to the fact that it is
cheaper for companies such as First Telecom to route some calls (such as
mobiles) via another country (usually the USA) than to pay national rates.
Crazy but true.
Holland was quicker off the mark in this area, as can be seen at http://126.96.36.199/callerid/ipcaller.htm, where Alex van Es has effectively attached a Caller ID unit to his webserver, so you can ring his number and see your number appear on his site - he's got numbers from all over the world. He's one of those slightly scary people who has online stats for things like openings of his fridge....say no more.
This is also known as "off-hook" Caller ID or Type 2 Caller ID. A standard for Call Waiting ID (CWID) was added to SIN 227 Issue 2 ages ago, but BT quietly introduced it on some exchanges in summer 1998. Unfortunately, very few devices support it. I know that the Relate 1500 and CD60 do, and no doubt there will be many more coming, but it's a very good reason to consider one of these if you are getting a Caller ID phone/box in the near future. Some Nortel Powertouchs and Maestros support it outside the UK. I think the same holds for another extension of Caller ID, Analogue Display Services Interface (ADSI), which allows data to be sent to the screen while you are on the phone.
This is an increasingly common question. Unfortunately, the only modems
to support Call Waiting are the American Actiontec
ones and the Call Waiting tones often force modems to drop the line.
Some people want this, but it is possible to get modems and Call Waiting ID
boxes to coexist, or you could try the US$50 Webs
Call Waiting Detector, a device designed to do just this.
Recently, several schemes have sprung up that send the number of a waiting
caller to your computer. They rely on the 'Divert When Busy' service to
forward callers to a central computer, which takes their Caller ID and sends
it to you over the Net. As yet these service are confined to N.
America - Internet
Call Manager and Pagoo
are the best known (see here
for a comparison), but look at Busybuster
too. For people in the UK, all I can suggest is that if you can't get your
modem to tolerate a CWID box on the line, you'll have to go for another line
with auxiliary working :-( or some kind of digital link - this question
doesn't arise for ISDN users!.
If you want more details on this subject, I strongly recommend that you read http://www.aimnet.com/~jnavas/modem/faq_a.htm#CallWaiting and the less comprehensive but more detailed http://www.56k.com/reports/callwait.shtml.
Since the Caller ID signal is only generated at the called party's exchange, and the caller's line is only connected after the called party has answered the line, it should be impossible to fake the Caller ID data without access to the called party's line or exchange. Certain older Bellcore Caller ID boxes contain chips (such as the Motorola M145447) that can be tricked into receiving extra Caller ID tones during a call. I guess this is the loophole exploited by the $300 box advertised here (#107) or the "Presto Chango" box. But unless your victim happens to have the right sort of box, there is no way of faking your number from your own line. Without an SS7 connection, you don't have a hope. In any case, if you do anything too naughty, the authorities will still be able to track you down using the billing data. All you can do is make the data unavailable. Examples of this are using 141/*67 or placing a call via the operator, a non-SS7 calling card, a payphone, or an analogue mobile phone.
Again, you can't really do this without an SS7 connection - if the number is withheld, "WITHHELD" is sent down customer lines, not the real number in some code form. If the caller is hassling you, you will have to bring in BT's Malicious Calls Bureaux (sic) or your phone company's equivalent to trace the number. This is easy for them as they have access to the ANI billing data. If you don't want to do that, all I can really suggest is to use ACR (see below) - that way either you don't hear them, or they have to reveal their number. If they switch to using one of the anonymous methods above, then you might have to use a system that allows you to reject UNAVAILABLE calls as well, perhaps within certain times like at night - this would be easy to implement on a computer system.
Americans have had Automatic Call Rejection (ACR, also
known as "block blocking") for several years. Bell Atlantic have a
sophisticated exchange-based ACR that includes a PIN that you can give out
to friends who would otherwise be rejected (see press
With ACR, any call that has a Caller ID of "WITHHELD" is automatically ignored. Calls that present as "UNAVAILABLE" (e.g. from a handful of older exchanges) or "INTERNATIONAL", "PAYPHONE" or whatever are allowed through. This is great for those suffering from nuisance calls of all kinds, less good for telesalesmen and other phone pests. However, "UNAVAILABLE" seems to be the default for some switchboards; once ACR becomes widespread companies will find they have to configure their switchboards correctly if they are to communicate with all their customers. (I'm no expert on switchboards, but the impression I get from uk.telecom is that there is always a way round the "UNAVAILABLE" problem even if it has to be some kind of Presentation number like the main switchboard number rather than an extension.) However, recent reports that telcos can easily alter ISDN lines to present "UNAVAILABLE" are worrying....
ACR has prompted a great deal of discussion on uk.telecom recently, mostly along the lines of "When are BT bringing it in?". Brussels has come to the rescue with Article 8.3 of the Telecoms Data Protection Directive (97/66/EC), which states :
In effect this means ACR, and Article 15.1 requires :
"Where presentation of calling line identification is offered and where the calling line identification is presented prior to the call being established, the called subscriber must have the possibility via a simple means to reject incoming calls where the presentation of the calling line identification has been eliminated by the calling user or subscriber."
"Member States shall bring into force the laws, regulations and administrative provisions necessary for them to comply with this Directive not later than 24 October 1998."
Oftel are trying to implement ACR as a "mutually agreed set of rules" until the DTI bring in the Telecommunications (Data Protection and Privacy) Regulations 1999 (formerly 1998 ;-) ) on 1 March 2000. Most companies already have an ACR service - you may be able to switch it on using *227#, *65 or 1478, although Kingston require you to ask an operator to do it. If your telco is dragging its feet, try quoting the above Directive at them, or inviting them to talk to Oftel. BT is against the whole idea, and won't introduce ACR until the Regulations are in place. Don't expect it to be free, either. For the time being, BT think that implementing a 10 number killfile ("Choose to Refuse") will let them off the hook; needless to say, "WITHHELD" calls can't count as one of the 10 'numbers'.
So for BT customers, the only option is to use a computer to do ACR for you, using hardware (q.v. the PDA Sentry , which has standalone and computer-linked versions, or the long-awaited Scanmaster Interceptor - I assume this is no more?) or software that treats "WITHHELD" as just another special case. The Bellcore Nortel Meridian 9516 can divert callers to a mailbox or tell them to ring again with the number unblocked, but it's US$260. Apparently, Nortel Powertouches can ring differently on WITHHELD calls, and most Siemens phones have a 'Secretary' feature that diverts all calls that are not in your phone memory to another number, usually a voicemail. This sounds useful - anyone know more? US West operate a similar system on their exchanges between 8am and 9pm for Ј50p.a. !!
Very few modems can understand more than one standard - the Mitel
CNIC2 is the only one I know of, and I don't know much about it.
If your phone company uses the Bellcore system, you can use pretty much any Rockwell chipped voice modem; however use of Bell tone modulation may bar them from BABT approval. Caller ID won't work on some Compaq Presarios until their software, or even their modem ROM have been upgraded. 3Com/USRobotics modems have good hardware support for Caller ID, even managing to accomodate the Stentor quirk (see above), but their drivers often do not include Caller ID support. Arash Ramin provides some modified drivers here.
If your phone company uses the DTMF system, then you are restricted to Intertex modems (also sold as Powerbit and Telia).
If you need BT Caller ID, the only modems you can use come from Hayes Europe, unless you can get hold of a Pace one. The old advice was to get a Pace, as they were much more reliable at getting Caller ID then the old Hayes. Now we have no choice, as Pace have gone out of business (August 1999), but at least Hayes have sorted out their modems in this respect.
Early Hayes modems (28.8k to early 56k) were plagued by all sorts of problems. Different versions of the same model had different Caller ID capabilities, and those that did were fraught with hardware problems such as polarity sensitivity and insufficient sensitivity to the Caller ID signal. Although it seems that these problems have now been solved, I've gathered together all the information I have on a Hayes modem page. This page might be useful for users of older modems by other manufacturers.
All the Pace 56 Voice modems (available in internal, external, Mac and PC Card versions) have Caller ID capability; and it seems that some of the earlier Microlins have as well. I must admit to owning a 56 Voice internal and am very happy with it, aside from an IRQ clash with a Logitech scanner that I got round by running PACECARD.EXE from the floppy. It's probably a case of grabbing one while you can - the internal was only Ј65 +VAT at Dabs (the others are ~Ј99) and recently BT have had the external on offer at Ј59 (inc. VAT?). The Pace Solo also looks good, although it seems to pass the data in a non-standard format ("012340123456" not "01234-123456"). This confuses some TAPI programs, so try a Solo-aware one if you have problems.
I have seen a review that suggested that the new Aztech 56K modems support 'CLI', but this was refuted by their head office.
Early US Robotics modems supported the Bellcore standard, then their UK-spec modems had the circuitry disabled. As a result, you will never get a US Robotics modem to grab Caller ID data on a BT line. However, I have had recent unconfirmed reports that the latest 3Com models do (summer 1999). The QuickStar Find a Modem program might be useful in listing your modem's capabilities; I've not tried it.
Caller ID is written into the ISDN standards (see here
for an introduction to ISDN), but only a handful of TAs send it to their
POTS ports, allowing you to plug in a box directly. Network
Alchemy products are the only ones I've heard of that support the BT
standard. The Zyxel TAs and the ADAK
220 and 221 pass it as well, but I think they use the Bellcore
standard and the Zyxel data appears in a slightly weird format. Apparently
several ISDN routers support Caller ID on the POTS ports (e.g. the 3Com OCLM
& Cisco 776, but I guess they are Bellcore only too). If you want
to access the data on the digital channels, you can either poll the
registers directly or using CAPI,
the Common ISDN API. This is a European standard ( ETS 300 838
"Integrated Service Digital Network (ISDN); Harmonized Programmable
Communication Interface (HPCI) for ISDN") that has now been
incorporated into the ITU's T.200 "Programmable communication interface
for terminal equipment connected to ISDN". In general, all EuroISDN
equipment is CAPI-compatible (see here
for a list), but North America is some way behind. I list ISDN
- almost all use CAPI, although some are hardware-specific. http://www.adelheid.demon.co.uk/pgs_isdn.html
has details of lots of ISDN hardware, as well as a good whinge about the
nightmare that is BT's implementation of ISDN. For instance, it seems that
BT's interpretation of ISDN-2e can't distinguish between WITHHELD and
UNAVAILABLE, which makes quite a difference for ACR fans.
Caller ID is passed to the analogue ports of the Home Highway box, but apparently not to the digital ones, and if you want it on both analogue lines you will have to pay for it twice!
The main problems the older Hayes modems have are polarity sensitivity and insufficient sensitivity to the Caller ID signal. Increasing the gain on the line may help, and Hayes can tweak the hardware if you're desperate, but there are no guarantees it will work. It is also worth disconnecting the bellwire - Ken Williams found that this was essential for his Hayes 5670GB to detect Caller ID.
Reversing the polarity of the phone line may help.
You can ask BT to raise the gain of the CLID signal on your line, but only if this is absolutely necessary, as it may confuse high-speed communications tasks.
Portions of this FAQ are (c) Padgett Peterson. Some information used from Michael W. Slawson Caller ID Basics. Portions of this FAQ are Copyright 1998-99 Alastair Ainslie, with due acknowledgement of any trademarks.
|This HTML Help has been published using the chm2web software.|