TUCoPS :: Phreaking Caller ID :: cli_faq.htm

Caller ID FAQ 2.25
Caller ID FAQ  

Caller ID FAQ v2.25 January 2001

Getting started

General questions

Caller ID on computers

1. About this FAQ
2. Caller ID jargon
3. What do I need to see Caller ID ?
4. The Caller ID service
5. The wiring of your phone line
6. Caller ID standards
7. I'm in Canada, why doesn't my Caller ID work?
8. Telephones
9. Dedicated standalone boxes.

10. What's the code to.....?
11. Can you get Caller ID with names?
12. Can you get Caller ID from overseas?
13. Can you get Caller ID for Call Waiting?
14. How do I know if someone's calling me when I'm online?
15. How do I fake the number that I send?
16. How do I get the number of people that withhold their number?
17. How do I reject calls from people that withhold their number?
18. What modems support Caller ID ?
19. Caller ID on ISDN
20. Dedicated PC devices
21. What are TAPI and TSAPI?
22. Caller ID on Windows 95
23. Caller ID on Windows 98
24. Caller ID on Windows NT
25. Caller ID on other operating systems
26. Caller ID software
27. Testing
28. How do I convert area codes into place names?
29. How do I use Caller ID in my own applications?
30. Links

1. About this FAQ

Caller Line Identification, CLI, Caller ID, Caller Display. All are different names for the service provided by many telephone companies that allows one to see the number of the person who is ringing you. This FAQ aims to help anyone who wants to use Caller ID, in particular those who want to pass this information to their computer. Inevitably,  I concentrate on what I know best - the UK phone system and Caller ID under Windows, but I also cover other countries and operating systems; the principles are much the same. This revision updates the UK modem situation, and should fix most of the bad links that have crept in over the last year or so.
This FAQ is available from http://www.ainslie.org.uk/callerid.htm and is Copyright 1998-2001 Alastair Ainslie, with due acknowledgement of any trademarks. Thanks to all in uk.telecom who have posted anything useful that I've nicked. I don't pretend to be an expert on this, but I've learnt a lot from posts on uk.telecom in the last year or so in the course of my research for my own system, and thought I might as well put it together for other people - it seems to be a pretty popular subject on the group. I've put a lot of these posts together in a ZIP file.

2. Caller ID jargon

CLI   Caller Line Identity, data sent from the exchange that identifies the calling party's number.  This isn't much good without...
CLID Caller Line Identity Display or
CLIP Caller Line Identity Presentation or
CND  Caller Number Display, but in practice most people just refer to CLI, Caller ID or
Caller Display which is what BT calls its version of the service. I will try to use the non-technical term Caller ID.
Caller Return a.k.a. 1471. Tells you the last number to call and gives you the option to return the call if the number is known. Completely independent of Caller ID.
CNAM Caller Name Display - see below.
CWID Call Waiting ID, shows the number of a waiting caller while you are already on the phone. See below
Presentation Number allows the caller to send a number other than the one belonging to the line they are using. The presented number must belong to the caller; a typical use would be sending the main switchboard number from a direct line extension.  BT don't offer PNs yet but are working on it.
ANI Automatic Number Identification, a "super" Caller ID that is used by the emergency services, freephone providers, and by telcos for billing purposes.  It cannot be blocked, but is not usually made available to consumers except by accident.  Seems to be more of an American term, but BT have something similar.
ACR Anonymous Call Rejection, the automatic rejection of calls made by people who withhold their number, who are often telemarketers - see below
DNIS Dialled Number Information Service, tells the called party which number was dialled by the caller.  Typically used by call centres with different numbers for different services.
Oftel The Office of Telecommunications, a non-ministerial government department set up under the 1984 Telecommunications Act to regulate the telecoms industry in the UK.  They publish a CLI Code of Practice for Network Operators (http://www.oftel.gov.uk/tech/cli698.htm) and a version of this for consumers (http://www.oftel.gov.uk/tech/clic698.htm). Both are pretty turgid but useful to wave at phone companies who are giving you the run-around.
A good glossary of telecom abbreviations can be found at http://www.eurovoice.co.uk/glossary.htm and http://testmark.com/callerid.html has a good history of Caller ID.

3. What do I need to see Caller ID ?

In order to see the Caller ID information you will need :

* The Caller ID service from your telecoms provider
* Wiring that doesn't muck up the service
* Caller ID data sent in the format supported by your hardware
* A suitable Caller ID phone
* OR a suitable Caller ID box
* OR a dedicated Caller ID card in your computer with suitable software
* OR a modem/ISDN that recognises the Caller ID data with suitable software
I'll start by going though the basics setting up Caller ID on a phone or box, then go on to some of the commonly asked questions about the service, and then deal with computer Caller ID after that.

4. The Caller ID service

In the days of analogue exchanges, Automatic Number Identification (ANI) was developed for call billing purposes. The information never went beyond the caller's local exchange, except to those with privileged connections to the network such as the 999/112/911 service, the police, and, later on, freephone providers.  These groups continue to use ANI which is completely separate from Caller ID and cannot be blocked.
It was thought that the first patent for a method of providing consumers with the Caller ID was filed by Carolyn A. Doughty of AT&T Bell Laboratories (now known as Lucent Technologies) on 12th July 1983 and granted on 15th April 1986 as US Patent No. 4,582,956, "Method and apparatus for displaying at a selected station special service information during a silent interval between ringing".  (it's also quite interesting looking at the list of patents that reference this one.) In fact, Kazuo Hashimoto, the man who invented the answerphone, got there 10 years earlier, and has since claimed royalties from AT&T.
Implementation of Caller ID was only possible wiith the widespread adoption of digital exchanges with a separate call data circuit.  Standards for this circuit were adopted internationally with the development of Signalling System 7 (SS7), which is now the standard for connecting phone companies world-wide. SS7 allows the caller's exchange to send a Calling Party Number Message (CPNM or CPN), which includes the number of the caller and whether or not the caller wants their number to be blocked.  I guess that this is why people in the phreaking groups try to disable a mythical 'privacy bit' in the data that comes to their houses. But it's not there!!  You can only access the number with the privacy bit if you have an SS7 connection to the network.  The CPNM is passed all the way to the called party's exchange, where the CPNM is translated into the local form of Caller ID, and blocking is applied if necessary.  Caller ID is sent from the exchange to the subscriber in many different ways - see below for more details.
So, for Caller ID to work, the two parties must be on digital exchanges, that are linked by SS7. Many calling card companies are not SS7 connected, and different routing can mean that calls between the same two numbers may or may not show the Caller ID. Caller ID is not possible from most analogue mobile phones, although I have heard that one or two companies have found a way round this - some kind of DTMF implementation perhaps?
You will need to sign up for the Caller ID service before you can use it. This is NOT the same as the 1471 ringback service. Many cable companies offer Caller ID for free, but you may need to ask them to switch it on. BT charge an extortionate £4/qtr for Select Services such as "Caller Display". It used to be cheaper when bundled with free call time or other services as a "ValuePlan", but now it seems you are expected to pick as many services as you want and be grateful when BT reduce the price a little. This is detailed on http://www.shop-athome.bt.com/home/pricing/discount.htm#Select (and down a bit), but if you want the same information delivered 10 times more slowly in a sugar coating, see their new Select Services Java applet.
In the past, BT have offered basic no-memory Caller ID boxes free with Valueplans in August - we'll have to see if this continues in 2000. You have to get in quickly as they are usually overwhelmed with the demand for the boxes.
BT lines configured for auxiliary working can be set up to use Caller ID, but only the engineers seem to know about this.
Caller ID is not available on BT Home Highway digital lines, and you have to request it (and pay for it!) separately on the analogue ports.

5. The wiring of your phone line

Caller ID is a temperamental beast and can be quite fussy about phone lines. Often this is because the devices that implement it do not fully comply with various standards for telecom devices, even if they have the green BABT sticker saying that they are safe to use on the public telephone network. That's "safe to use", not "deliver the features they promise". In particular, some devices, such as early BT CD50 boxes and Hayes modems (more on these later), are sensitive to the polarity of the line and will barely work unless the polarity is reversed. You can do this yourself, but if you don't know what I'm talking about - get an engineer to do it for you or read the uk.telecomFAQ. The polarity should make no difference, but with these devices in particular, it has been demonstrated to dramatically affect the likelihood of successfully returning the Caller ID info.  It is also worth disconnecting the bellwire - Ken Williams found that his Hayes modem wouldn't detect Caller ID unless this was done, whereas his CD50 needed the wire connected.  Some boxes are susceptible to local radiation - BT CD30s may not work at all in close proximity to DECT phones or mobile phones. A common suggestion is to ask BT to increase the line gain, but while this may help, it is probably not tackling the real cause of the problem. Some people have solved their problems with wireless land lines (Ionica etc.) by using line 1 as their modem line and line 2 as their voice line - it's a simple task for an engineer to reassign the numbers to the lines.
A lot of people have had problems with the BT Caller ID signal being killed by the C&W Linewise smart box; it seems that C&W may have sorted this out by now. Similarly, BT DACS 1 units (a cheap way for BT to provide two 'lines' on one piece of wire that drastically reduce your modem connection speeds) don't like Caller ID - you should be OK with DACS-2 boxes. Unfortunately this means that you can no longer avoid being DACSed simply by requesting Caller Display.
If you're having problems, try seeing if the Caller ID device will work with all other extensions etc. removed or on a friend's line. If not, the device itself is probably faulty - try another one on your line using Argos' two week return policy ;-).

6. Caller ID standards

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 and Singapore (who have their own standard?)

  • It sends the data after the first ring tone and uses the 1200 baud Bell 202 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 V23 modem tones in a format similar to 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 sends the data after a short first ring, as either Bell 202 or V23 tones. This was a result of the variety of switches used in the UK cable industry (most are Nortel DMS-100's, some are System X).  The data format is similar to BT's, but the transport layer is more like Bellcore, so North American or European kit is more likely to detect it.
  • An esoteric DTMF system is used in Finland, Denmark, Iceland, the Netherlands,India (?), Belgium, Sweden, Brazil, Saudi Arabia and Uruguay. I would have thought that it should be possible to detect this using a normal modem, but I'm not aware of anyone succeeding in doing this. The Dutch and Danish version is a little different to the Finnish one - Jacob Blichfeldt has a good explanation of this on his site, as well as plans for a device to decode it. I've read that there are in fact 5 varieties of DTMF system, with the Brazilian version being particularly weird.
  • NTT in Japan have developed their own V23 FSK simplex system, transmitted after a short first ring.
  • The former USSR does not have a Caller ID standard as such, but their version of ANI is widely hacked.  http://www.cnt.ru/users/radio/phone/doc/index.htm has info in Russian, and I have a English summary here.
  • The European Telecommunications Standards Institute's (ETSI) standard (ETS 300 659-1 & -2, and ETS 300 778-1 and -2) 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". Eire, France, Germany, Norway, Spain, South Africa and Turkey use an ETSI format similar to the CCA standard. http://ourworld.compuserve.com/homepages/jbenoit1/cidfr.htm is the only site I know devoted to French Caller ID, and http://home.t-online.de/home/stefan.frank/clip.htm  has a useful list (in German) of equipment that will work with ETSI Caller ID.
    Taiwan follows ETSI in permitting DTMF and FSK signals.
    The system used in Australia and New Zealand seems to be based on Bellcore, but it seems sufficiently different that not all US equipment will work.  Dick Smith Electronics seems to have  a good selection - type 'caller' into their search engine. See my modem section below as well.
    More details (like the code numbers of official standards documents) can be found at http://www.adventinst.com/resources/rsrchome.htm, &  http://www.rochelle.com/instandards.html, whilst broader overviews can be found at http://www.epl.co.uk/info12.htm and http://www.hut.fi/Misc/Electronics/docs/telecom/caller_id.html
    Following the consolidation of the UK cable industry, most cable companies seem to be standardising on CCA, 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. Cable & Wireless have been promising Caller ID on some of their exchanges since the mid-90's and never delivered.  Apparently the problem is not at the exchanges, but at the street level multiplexors ('muxes') which it is not worth their while upgrading. As far as I know, only Telewest exchanges in Merseyside/Lancashire and ex-Nynex areas have the System X exchanges that use BT Caller ID - other cable customers will almost certainly need Bellcore-compatible equipment. I have had a report that in order for some North American equipment to work, the cable company must turn on Caller Name support on the switch, even though this will only ever send 'UNKNOWN' in the UK.
    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. BT's use of spaces and hyphens to punctuate the number also causes problems; Bellcore sends the number as an uninterrupted stream eg 2125551234.
    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/resources/semi.htm has a list of mostly Bellcore Caller ID chips.

    Remember, there is no such thing as "UK" Caller ID!!

    7. I'm in Canada, why doesn't my Caller ID work?

    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 former Stentor member companies use a non-standard implementation of MDMF. Bellcore uses DN (Directory Number), usually the 10 digit number that includes the area code found in the phone book.  Stentor uses DDN (Dialable Directory Number), a variable length number that is the number that must be dialed to call the other person
    back (ie local calls don't include area code, long distance includes the preceding "1").  Normal Bellcore MDMF identifies each part of a message with a Message Type Word parameter, and the DN is assigned Parameter Type 02.  The Canadian Stentor switches assign DDN to 03.
    This is incredibly confusing for anything that only looks for the DN in 02, and this includes Unimodem (see below). Some modem drivers (and Canadian phones and caller ID boxes) check for both DN and DDN and will display either - 3Com ones for instance (and is there a general patch, perhaps for Unimodem?).  Otherwise, you just have to avoid TAPI and use software that specifically knows about this quirk - Identafone is one, but most Canadian authors seem to have found out about this the hard way ;-). The relevant document was called Stentor document ID-0001 "CALL MANAGEMENT SERVICE (CMS) CALLING NUMBER DELIVERY (CND) (Single and Multiple Message Format) Terminal-to-Network Interface". Following the upheavals in the Canadian telecom market it is now Bell Interface Document BID-0001 and will cost you CAN$50 to download. Incidentally, Stentor's standard also allows for a Parameter Type 06, which includes a flag that indicates that the call is long distance and CallerID is not available, but it may no longer be in use.

    8. Telephones

    I've now made a separate list of some of the Caller ID phones available in the UK, and now a separate list of the cordless Caller ID phones.
    Most of them support both BT and Bellcore standards - a good website is that of Phoneshop.uk.com. There are adequate ones from £20, but most of BT's corded ones are around the £60 mark - you'd be better off getting a digital cordless or the Easicom 1000 for a similar price.
    That said, if you're going for a digital cordless phone, it's worth spending that bit more for phones such as the Ascom Avena, BT/Siemens Diverse series, Panasonics and the Phillips Onis series.

    9. Dedicated standalone boxes.

    I've now made a separate list of Caller ID boxes.  However, the ones to go for are : uk.telecomers are keen on Lineplex's boxes, which allow calls to be diverted to a different phone socket using the caller's number or Distinctive Ring (=BT CallSign). They're high quality but around £100. David Husband promised great things with his Interceptor device, but it's been at the prototype stage for years now. PDA Technology used to do an ACR box, but it is no longer on their website..
    Americans have been able to display Caller ID on their televisions for some time now.  Such devices have now come to the UK, but BT's Easicom TV1 unit is pretty hard to find these days - it wasn't well marketed, and appears to have been discontinued.  The TV3 had an IR keyboard for email on TV as well. http://www.trinexus.com/mess.html has units for America and Europe. I find a cordless phone with Caller ID a better answer, as you don't need to get up to answer it!!!

    10. What's the code to.....?

    BT  USA   Japan   Others 
    Withhold sending of Caller ID
    (some US telcos charge for this)
    141  *67, 1167  184  *31*, 3651 
    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 (see Technical Interface Guide 7v7 for more details), but *#234# is more reliable than the more comprehensive *#001# report. UK cable companies generally use the US codes or a mixture (C&W's website used to have a list, but NTL's site is useless)

    11. Can you get Caller ID with names?

    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". Urban legend has it that the 15 letter limit was a particular problem for the GIRL GUIDES ASSociation <g>. BT may change their mind following the implementation of the Telecoms Data Protection Directive (see below), but I wouldn't bet on it. 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).

    12. Can you get Caller ID from overseas?

    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://www.icepick.com/callerid2www.shtml , 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.

    13. Can you get Caller ID for Call Waiting?

    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 after an announcement in SIN 274. 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 - I try to highlight CWID capability on my phones and boxes pages. 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 - I think this is how the BT Easicom phones tell you that you have email waiting..
    The one disadvantage of Call Waiting ID is that it is much more vulnerable to hacking.

    14. How do I know if someone's calling me when I'm online?

    This is an increasingly common question, and the V92 modem standard should provide the answer in theory. At the moment, 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, Norm Tanner's box (US$79) which uses his nice Talking Caller ID software, or the US$100 Command Communications' HotCallPlus, devices 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.  Most of these services are confined to N. America - Internet Call Manager and Pagoo are the best known (see here for a comparison), but look at Busybuster and the free-but-with-adverts Callwave too. OnLine Call Manager now provides a similar service in the UK and  BT have started trials. Ureach.com have a similar service with a free voice mailbox and email notification, and apparently they note down the ANI of the caller, so you can see who's calling you even if they withhold their number! Call Wait offers an interesting solution - it routes your modem via you sound card, and then tries to pick up the Call Waiting tones.  I've no idea if it works, or how badly it affects your connection, but it might be worth a go.
    There are alternatives to these services - you can try to get your modem to tolerate a CWID box on the line, or go for a second line with auxiliary workingor some kind of digital link - this question doesn't arise for ISDN and ADSL users! Another option is to organise a divert to a mobile phone. On most exchanges, 1471 will give you the number of the last person to ring you whilst the line was busy.
    If you want more details on this subject, I strongly recommend that you read  http://modemfaq.home.att.net/faq_a.htm#CallWaiting  and the less comprehensive but more detailed http://www.56k.com/reports/callwait.shtml

    15. How do I fake the number that I send?

    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. The other case where extra Caller ID tones can be sent during a call is Call Waiting ID, and this is inherently far more vulnerable to hacking, a fact exploited by the 'orange 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.

    16. How do I get the number of people that withhold their number?

    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. Apparently the voice mailboxes from Ureach.com identify callers using ANI, so you get a record of their number even if they withhold their number.

    17. How do I reject calls from people that withhold their number?

    The main reason people want to do this is to avoid telemarketeers, who typically withhold their number. British phone users have some protection as they can opt out from receiving such calls using the Telephone Preference Service.  Under The Telecommunications (Data Protection and Privacy) (Direct Marketing) Regulations 1998 it is now an offence punishable by £5000 fines to cold call anyone registered with the TPS, so before you do anything more complicated, register with the TPS on 0845 070 0707, or the fax equivalent on 0845 070 0702.   This was brought in as a result of Brussels' Telecoms Protection Directive (see below), so most EU countries should have something similar - even if you haven't registered yet, pretending that you have should get the cold callers sweating <g>. You can check your TPS status at http://www.numbercheck.co.uk/.
    Americans have had Anonymous 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.
    With ACR, any call that has a Caller ID of "WITHHELD" is automatically ignored.  Calls that present as "UNAVAILABLE", "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" is presented by calls from the 0.5% of people on old UXD5 exchanges and (notoriously) on BT's FeatureNet service.  This is BT's name for Centrex (delivered by a separate network of Nortel DMS100's - the small-business version, FeatureLine, uses the main network), which allows organisations to set up a virtual switchboard covering several sites within a town or further afield - it's often used by local government and universities. "UNAVAILABLE" also  seems to be the default for some switchboards; companies are now finding that 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 : The DTI finally brought in the Telecommunications (Data Protection and Privacy) Regulations 1999 (formerly 1998 ;-) ) under the Data Protection Act 1998 on 1 March 2000.  If your telco is dragging its feet, try quoting the Regulations at them, or inviting them to talk to Oftel. In fact, most companies introduced ACR back in 1998, although BT left it until, yes, 1 March 2000. The announcement is at  http://www.bt.com/World/news/newsroom/index.htm (in the Archive, "New choice and control for customers" (29/Feb/00). Details of BT's ACR service are in Service Provider Industry Notification (SPIN) 027 - the main catch is that it's available neither on multiline installations nor digital lines (analogue ports of Home Highway are OK though). At the same time, BT introduced a 10 number killfile ("Choose to Refuse" a.k.a. Last Incoming Call Barring - details in SPIN 021), which is £8.01/qtr inc. VAT (£9.40 for businesses). It's free if you are the victim of malicious calls, and works regardless of whether the person witholds their number. It seems BT are trying to keep quiet about both of these services (they want the business of telemarketeers and stalkers ? ;-)), but you can get them.
    However, there is no obligation for ACR to be free - BT charge an extortionate £9.99/qtr inc. VAT (£11.74 for businesses), whereas Telewest charge £3/qtr (this doubled about the time that BT announced their prices!). Apparently NTL Midlands (ex Diamond Cable) are not officially offering it to customers as "it is a chargeable service which their software is unable to charge for" !!! However, *227# will switch it on for you on NTL and you won't have to pay... at the moment. Other companies use *227#, *65 or 1478 to turn on ACR, although Kingston require you to ask an operator to do it. To Choose To Refuse a number, dial 14258 after the person has rung you.
    So, you may find that it is still economical to do ACR at your end, using hardware (eg the Lineplex CLI-200 mentioned in the boxes section above) or software that treats "WITHHELD" as just another special case (eg PhoneFilter or WaveCaller). 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? Is this just their mobiles? US West operate a similar system on their exchanges between 8am and 9pm for £50p.a. !!

    18. What modems support Caller ID ?

    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 in the UK. See here for an incomplete list. 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.

    The system used in Australia and New Zealand seems to be slightly different to normal Bellcore, so that several modems that claim to be Caller ID capable, aren't. Lindsay Wright has suggested that that in New Zealand, the Caller ID data is sent 340ms after the first ring, rather than 500ms as specified for true Bellcore. Cecam Consultants have tested several modems for Caller ID in New Zealand. In general, those Dynalink modems that claim Caller ID capability work well, and some 3Com/USR models will as well.

    If you are somewhere like Finland and your phone company uses the DTMF system, then you are restricted to Intertex modems (also sold as Powerbit and Telia). The Tornado SFM560 is the only modem I know of that works with the DTMF system in the Netherlands (T11-12?). It comes in serial ('E') and USB ('USB') external versions.  The same company makes the Tron DF56.0, which is also compatible, but I suspect it's a lot more expensive - it appears to be aimed at callcentres or similar.

    In the UK, most people will need a modem that supports BT Caller ID. Some ordinary modems work with the cable companies' standard, but it's a bit hit and miss as to whether they can compensate for the slight differences between that and true Bellcore. Further info welcomed. The only manufacturers that have ever supported BT Caller ID are Pace, Hayes (Europe), and 3Com.
    Sadly, PMC, the company that made Pace modems, withdrew from the market in August 1999.  The 56K Voice (available in internal, external, Mac and PC Card versions) worked well - I had one myself and can thoroughly recommend them. My only problem was with Logitech products grabbing too many IRQ's and COM ports; I got round this by running PACECARD.EXE, but now know that you need to follow the instructions in the Logitech README, to stop Windows looking for Logitech devices on every port at start-up. You may still find Pace modems marketed under the PMC brand or from end-of-line specialists such as Morgan Computers or Sterling, but these days you are most likely to find them second hand. Some of the Pace Microlin modems could grab BT Caller ID as well. The Pace Solo was good, although it passes the data in a non-standard format ("012340123456" not "01234-123456"). This confuses some TAPI programs, so try a Solo-aware one such as Wavecaller if you have problems. There were also odd problems with Solo drivers and firmware - you want firmware 2.04 and the  mdmsolo.inf  dated 23/04/99.
    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 still get some criticisms of the quality of the voice components used by Hayes. 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. Since Hayes were taken over by Zoom, the only modem which still claims to get Caller ID is the Accura 56K external no #08-02990.
    Early US Robotics modems supported the Bellcore standard, then their UK-spec modems had the circuitry disabled totally. As a result, you will never get a US Robotics modem to grab Caller ID data on a BT line. However, some of the latest 3Com models do. I'm not sure when they started (early 1999?), but 3Com themselves are not exactly sure which modems have it! From what I can work out, you need the CTR21 versions, which come with a model number ending in -01. Recent data/fax 56k Professional Message Modem model 245625-01 definitely works. More recently the 56K Message Modem (245668-01) has gained the capability, and some of the recent 56K Faxmodems may work too, but not the Voice ones as I understand it - strange.There are also -00 versions of all models in circulation which won't work - be careful to specify this to your supplier. As you can tell, it's a bit of a nightmare, but news of any other 3Com modems that work on BT (with model numbers!) would be appreciated.
    I have seen a review that suggested that Aztech 56K modems support 'CLI', but this was refuted by their head office.
    Netshop.co.uk claim that their D-Link DFM560E modem supports "Caller ID", but the only reference I could find was on D-Link's Australian website, which makes me suspect that it doesn't work with BT Caller ID. Netshop sent Lea Keable a DFM560EL, which doesn't work.
    The QuickStar Find a Modem program might be useful in listing your modem's capabilities; I've not tried it.

    19. Caller ID on ISDN

    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 (programs like Identafone know about this, though). I've just heard that the Zyxel Omni.net LCD can send the data to the analogue ports in any format you like, including BT's. 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 programs separately - almost all use CAPI, although some are hardware-specific.
    Panic Systems Ltd. make a range of TAPI compliant ISDN TA's, which should work with any software that needs a voice modem. I think they do some ISDN software as well.
    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. Dan Kegel has a great page full of useful ISDN-related links and ISDN software.
    Caller ID is passed to the analogue ports of the Home Highway box, and if you want it on both analogue lines you will have to pay for it twice! The same is true of ACR. Some people have had problems with early versions of the HH box - BT are happy to supply a 'Release 2' box on request. Caller ID is available on the digital lines of Business Highway for an extortionate £10/qtr, but not on Home Highway.  However, there have been reports of people getting a BT engineer to add it to Home Highway unofficially.

    20. Dedicated PC devices

    I'll be making a page devoted to these soon, as I've got a big list of Bellcore-only devices, but for the moment here are the BT ones...
    BT's Callscape 100 box, as seen on TV, works pretty well hooked up to a serial port. But the software's not great and it's 130 quid + VAT.
    uk.telecom is keen on Solwise's kit but a modem would not cost much more; on the other hand dedicated hardware should be more reliable.
    Crucible (a.k.a. Tele-Products) in York have a more varied range of similar devices. The Meteor unit can handle both BT and Bellcore standards.
    Concept UK are bringing out a board 'soon' with talking software - further details as and when. Their site tends to crash Netscape.
    I can't cover all the more sophisticated (for which read expensive ;-) ) telephony boards on the market, but a few of the better ones are :
    The Mediaphonics PhoneRider board,  'only' US$300, works with most Caller ID standards including BT's and has an NT TSP for TAPI work. The Dialogic (now part of Intel) product line includes the Proline/V2 which is reasonably cheap, but their TSPs are allegedly somewhat flaky, and it ends up easier to use their native API or something like Envox' CT Studio
    Brooktrout (formerly Lucent CTP, formerly Rhetorex) have boards such as the RDSP/232 but they don't mention Caller ID..
    Rochelle are best known for their telecoms testing equipment, but they have their fingers in this pie too.
    Octopus Systems have developed a Callscape-style solution for Acorn machines using Solwise hardware.
    It is also possible to build your own devices such as the "Minibox" (also here).
    http://www.ee.washington.edu/conselec/A95/projects/jjblome/links.htm has a good selection of circuit diagrams, and http://www.novia.net/~tim/thesis.htm has a step-by-step description of a Bellcore device.
    http://www.smarthome.com/5155.html has a variety of Bellcore devices, including ones that will put the Caller ID on your TV.

    21. What are TAPI and TSAPI?

    Normally, your software retrieves the Caller ID data by opening up the COM port and waiting for the telephony hardware to send the data when a call comes in.  The trouble with this is that no other program can access the COM port whilst the Caller ID program is running. This is very inconvenient if you want to use your modem for connecting to the Net, for example.
    For this reason, Microsoft introduced TAPI, the Telephony API.  This acts as a middleman, brokering access to the modem by all the program that want to use it.  This allows you to use Dial Up Networking without closing down your Caller ID program first, if your Caller ID program is TAPI-compatible. So it's a good idea to make sure that your Caller ID program is TAPI compliant. I'll come back to the subject of TAPI in the section on writing your own programs, but for the moment here's a run down on all the different versions :
    TAPI 1.3/1.4 was the 16bit/32bit hybrid version that came with Windows 95; NT 4.0 introduced the fully 32 bit TAPI 2.0 & 2.1 (the la is also available in a patch to Win95); and Windows 2000 should bring us TAPI 3.0. Microsoft keep mucking about with the relevant pages, so I suggest you start here or enter TAPI into their search engine.
    Novell's Telephony Server API, TSAPI, is similar, but only runs on Netware - see http://www.connecttel.com/research/tsapi/. It appears Novell have now dropped TSAPI, but it can be downloaded from http://developer.novell.com/graveyard/

    22. Caller ID on Windows 95

    For TAPI to work, it needs a special type of modem driver known as a "telephony service provider", or TSP.  Windows 95 and 98 have a generic TSP called Unimodem/V which appeared in OSR2. This adds voice features not present in the earlier Unimodem. You can list the TSPs on your system by enabling the Telephony applet in Control Panel - rename the TELEPHON.CP$ file in C:\WINDOWS\SYSTEM\ to TELEPHON.CPL, and open up Control Panel. The applet is already enabled in Win98 and NT 4.0.
    If you want Unimodem/V to cope with phone numbers of more than 10 digits (i.e. British or Canadian ones) without clipping them you need to apply the under publicised patch v4.10.1343. The version number can be found by right clicking on UNIMDM.TSP in C:\WINDOWS\SYSTEM\ and going to Properties | Version. I got my patch from http://www.mtnsys.com/pages/techspt.htm#Misc but Microsoft now have the original, the patch and instructions on their site.  Note these are for Windows 95 only - the updates are built into Windows 98.

    23. Caller ID on Windows 98

    Although Unimodem/V is built into it, quite a few people have had problems with Caller ID on Windows 98.  The main reason is that the default Win 98 Plug'n'Play drivers (especially for 3Com/USRs) did not support a lot of functions, so you had to install the manufacturer's latest drivers manually. There's now been reports of exactly the same thing happening in Windows 2000 - come on 3Com, pull your socks up!
    Apparently the default drivers in Windows 98 Second Edition (released 5/May/99) have Caller ID support. I have heard of people's Windows 98 problems being solved by installing Windows 95 Unimodem/V, but it's not something I recommend except as an I'm-prepared- to-reinstall-Windows last resort. It's possible that some problems are associated with the version of Unimodem that comes with Internet Explorer 5 - I'd welcome further reports on this, one theory is that TAPI is trying to read ASCII codes as Unicode - maybe this is only in the International version?

    24. Caller ID on Windows NT

    Windows NT does not have a universal TSP such as Unimodem/V; DO NOT  INSTALL THE WINDOWS 95/8 UNIMODEM/V ON NT, unless you want to reinstall NT from scratch. As I understand it, the telephony applet and non-voice Unimodem came in with SP5. Microsoft have been promising a TSP for a long time, but it only finally appeared in the Windows 2000 beta. JulMar have apparently developed a 'general' TSP ('Sample TAPI Service Providers' on this page) that should work on  NT, but it doesn't work very well?
    All this means that it is impossible to run TAPI programs on a 'normal' modem under Windows NT. So, if you want to use your modem for other purposes, your options are :
    1. Use software that accesses the COM port directly.  I have tried to highlight these in my software pages, but obviously you can't use your modem for anything else while such programs are running. This is a major pain - maybe you could write a little script that closes the Caller ID program when you dial up, then opens it again when you log off. AON does something like this automatically.
    2. Switch to Windows 95/98/2000 if you can.
    3. Buy a 'cheap' telephony board that has an NT TSP such as the US$300  Mediaphonics PhoneRider board (see PC boards above)

    4. I wonder if sticking another Caller ID modem/board in and using it with COM port mode software might work as an alternative?
    5. If you're doing that, you should consider going digital - I know nothing about  ISDN/ADSL and NT TAPI, but the price must be similar.

    25. Caller ID on other operating systems

    To be honest, I don't know much about this but what I have been able to discover is all on my Non-Windows software page - there I have programs for Acorns, Amigas, Macs, OS/2 and Linux, as well as one or two cross-platform languages. If you can talk to a COM port and can fit a suitable voice modem, it should be possible to do something. More information is welcomed.

    26. Caller ID software

    This can be as simple or as complicated as you like. I review some of the packages I've tried elsewhere on this site, but I would recommend you test your system with Symantec's Talkworks freebie Caller ID utility, and then maybe go on to something like the shareware IDentify or WaveCaller. Alternatively, you might want to go for a full voicemail/fax handling solution, or incorporate Caller ID into your own programs. Some Caller ID programs can respond to an incoming call by bringing up a customer's details, but if you are serious about this kind of thing, you're better off getting a Caller ID-enabled personal information manager (PIM) - most of them can do this, with the notable exception of Microsoft Outlook. I have made a list of some of the main ones here.

    27. Testing

    Hopefully you now have a system that is capable of supplying the Caller ID data, but how do you test it? Rather than going to the phonebox round the corner, might I suggest you use BT's 17070 ringback service? This has apparently superseded the old 174; 01223 369 997 also provides this service, but also works for some non-BT lines - the same may be true for  0800 373 983.
    I would start with the Symantec program, but if that doesn't work and you want to check that the Caller ID info is emerging correctly from your modem, fire up Terminal (Windows 3.x) or Hyperterminal (one of the Windows 95 Accessories, or search your disk for HYPERTRM.EXE).  The following instructions are for Hyperterminal users, but it's pretty much the same for Win 3.1 users :
    When the Connection Description dialogue box appears, type something to fill the Connection Name box, then press OK.
    Next type something to satisfy the need for a Phone Number.
    Now you have two options, TAPI mode or COM port mode.  It's best to start off with the more sophisticated TAPI mode, then give COM port mode a try if TAPI doesn't work - Win3.1 users only get COM port mode. If you are using TAPI, choose your modem from the 'Connect Using' drop-down list.  The Connect dialogue will appear - press Cancel.  Then type AT#CID=1 and press Enter to enable Caller ID in formatted mode.  For some reason, Hayes Optimas use AT%CCID=1 and  I've seen AT+VCID=1 (recent Cirrus etc), AT#CC1 (older Cirrus, VoiceSurfr) & AT*ID1 suggested for other modems;  IBM has a good page of modem strings. Sometimes you may need to switch to Voice mode with AT#CLS=8 or similar. If you want to poke around with your modem settings, look in the .inf file or in the Registry under HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Services\Class\Modem
    (I take no responsibility for any fiddling with the Registry whatsoever, if you don't know what you're doing, don't do it!!) Don't forget that the modem sends the data after the first ring, regardless of when it arrives at the modem, so don't let it answer on the first ring!! (i.e. no S0=1)
    Then ring the number from another line, or use 17070.  The following fields should appear :
    DATE=<current date>
    TIME=<current time>
    NAME will be blank or "WITHHELD" unless your telco supports Caller Name Display, which is unlikely in the UK (see above).
    The procedure is the same for COM port mode, but you select your modem's COM port from the list, and it's best to go for AT#CID=2, Caller ID in  Unformatted mode. AT#CID=0 switches off Caller ID.  AT#CID? gives the Caller ID status of the device (0=off i.e. something's not working, 1=on) but some devices fake this for compatibility purposes.

    28. How do I convert area codes into place names?

    There are many ways to translate phone numbers into something more meaningful. If you want a printed reference, BT will sell you the "Phone Book Companion" for £2.50. Otherwise, the first place you should go is the excellent http://www.warwick.ac.uk/search/Phones/phone.html where there is all sorts of information and lists using recent Oftel data. For a more international perspective, try The Phone Booth - their UK coverage gives a good overview of all Oftel's mucking about. http://massis.lcs.mit.edu/telecom-archives/archives/country.codes/ has similar data but in list form.
    An alternative is to download a program that can translate STD codes to names and vice versa, such as ftp://ftp.demon.co.uk/pub/ibmpc/win3/apps/utilities/phone11.zip (Windows 3.x) or http://www.geocities.com/SiliconValley/Park/7045/prs_download.htm#PhoneDecoder (Win95)
    LocateSTD ( from Software Solutions, Northallerton was here)will place codes on a map of the UK.
    However, if you want to develop your own software to search a database of STD codes down to sub-area codes, try http://www.rdg.ac.uk/Directs/DIR/std.list.w.html It hasn't heard of the latest round of code changes (0113 for Leeds etc.) but those would be fairly easy to add.

    29. How do I use Caller ID in my own applications?

    OK, Computer-Telephony Integration (CTI) is a buzzword, but the possibilities are endless once you start combining things like Caller ID data with your other business systems. Aside from the obvious Caller ID PIM, you can give existing customers a different set of voicemail options or allow staff to ring in and listen to their emails. Off-the-shelf software is advancing rapidly in this area, but if you want to write your own in Windows 95, then you need to find some suitable development tools or learn to write directly to TAPI (see above).
    I list suitable Visual Basic/ Delphi controls elsewhere, but if you want to learn more about TAPI go to Microsoft (includes an explanation of the different versions). This is really beyond the scope of this FAQ, so I strongly recommend you start reading microsoft.public.win32.programmer.tapi. Grant Schenk has an introduction to TAPI in Powerpoint, and Bruce Pennypacker's excellent TAPI FAQ should get you on your way; Mike Dunn's site has a good selection of links to get you started (and is more likely to keep up with where Microsoft have moved their TAPI pages this month - grrr. ;-) )
    The best book on the subject is "Windows Telephony Programming" by Chris Sells (Addison Wesley 1998, ISBN-0-201-63450-3).
    "The MAPI, SAPI & TAPI Developers Guide" by Michael C. Amundsen (Sams 1997, ISBN-0-672-30928-9) is helpful and is available online for  free. Searching on TAPI at ITKnowledge.com can also turn up useful books.
    By way of a brief introduction, there are two ways of using TAPI. In Assisted TAPI, a registered call recipient program handles all the fiddly TAPI bits, allowing you to dial a number  from another program with a single line of code, tapiRequestMakeCall(xxxxxxx) (see this example from Microsoft, doing this in Access 95). The raw TAPI equivalent would involve :
    lineInitialize(), lineOpen(), lineMakeCall(), lineDrop(), lineDeallocateCall(), lineClose() and lineShutdown()
    In general, an incoming call will make the TSP generate a LINE_CALLINFO message, then lineGetCallInfo() will lead you to the Caller ID fields. I've saved some sample Caller ID code (and another sample) that were posted on the TAPI newsgroup. I suggest you read the Microsoft introduction mentioned above, their TAPI overview, maybe track down the old MSJ article "TAP Into The Future" (which has gone?) and try the CTapiConnection tutorial. Then work through the TAPIComm sample that comes with the TAPI SDK. The SDK is 'free' to subscribers to MSDN Professional.
    You will need to use  CAPI (Common ISDN API) to talk to ISDN hardware - see the ISDN section and my ISDN page for more details.
    Once you have your program up and running, you may want to make screen shots, using dummy numbers. Oftel have issued a list of  'official' UK dummy numbers, or you can just use any that are marked as "Unusable" in their list of area codes such as  0151 692 xxxx, 0151 269 xxxx and 0151 359 xxxx or almost any 01xxx 999 xxx. In the US, all (xxx) 555-01xx numbers are reserved for fictional use. In the past, people have used anything in the 555-xxxx range, but most of these have now been allocated (555Kb!!) for future services. http://www.nanpa.com/number_resource_info/555_numbers.html has more on this. You should also be safe using the 311 area code.

    30. Links

    Here are some more links that might prove useful, although they tend to be USA-oriented :
    FAQ home Caller ID software Telephony software ISDNPIMsNon-PC software Development tools Mail me

    TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
    Site design & layout copyright © 1986-2024 AOH