home *** CD-ROM | disk | FTP | other *** search
- ==Phrack Magazine==
-
- Volume Six, Issue Forty-Seven, File 19 of 22
-
- A Guide To British Telecom's Caller ID Service
-
- By DrB0B
- (DrB0b@grex.cyberspace.org)
-
-
-
- Introduction:
-
- Whilst caller ID services are old news to American readers, to UK phone-
- phreaks they are a new and potentially exciting addition to British-
- Telecom's network services. Many people will have already read articles
- describing CNID, almost invariably these articles have been based on systems
- utilizing Bellcore's CLASS signalling requirements, it should be
- noted that while BT's Caller Display System is also based on CLASS there
- are some significant technical differences. I have tried to make the
- information in this article as comprehensible as possible, unfortunately the
- telecommunications industry is one of the most jargon-infested industries in
- the world so if you have any questions about anything in this article don't
- hesitate to contact me at the above address, I'll do my best to help.
- BT hope to have their Caller Display Service available by November 1994.
-
- LATE NEWS: Today, Nov 1st 1994, BT announce that caller ID services would
- be withheld for a while longer as the public are too stupid to understand
- what it means, I swear I'm not making this up. According to BT newsline
- (0800 500005) "The public failed to comprehend that caller display services
- meant that caller number would be transmitted with every call, nor did they
- understand that CDS could be blocked on a per call basis by using the 141
- prefix, or on a per line basis by arrangement with BT. Go figure !
- New date for service launch is towards the end of November.
-
-
- (1) What is Calling Line Identification Presentation.
-
- When BT introduce their Caller Display Service over the analogue local
- access network the first service available will be Calling Line Identification
- Presentation (CLIP), this provides for the delivery of the callers
- number when a telephone call arrives, in the near future it will also
- provide the callers name. When the callers name or number cannot be delivered
- then one of two reasons for the failure will be displayed, (1) name or number
- not available (the caller has an unlisted number), or, (2) name and number
- withheld by customer (this is done by the caller dialling 141 before dialling
- the called number, this results in the message "CLI Withheld" being displayed
- on the recipients equipment). In addition to caller identification the CLIP
- service can also deliver network messages, the time, date, and, (optionally),
- some indication of call type.
- As noted above callers can choose to withhold CLI information by using the
- prefix 141, users should be aware that this has no effect on BT's ability
- to trace a call, the 141 prefix is a service activation code whilst call
- tracing is an operator function.
-
-
- (2) Some Necessary Definitions
-
- From here it gets a bit more complex, your mileage may vary. It's probably
- best if I define some of the terms to be used before going any further.
-
- Line Reversal
- The potential difference between the two wires of the exchange line (A+B)
- will always be equal to or greater than 15 volts. An incoming Caller
- Display message will be preceded by a polarity reversal between the two wires.
-
- Idle State Tone Alert Signal
- Signals sent in the idle state will be preceded by a Tone Alert signal and
- a Channel Seizure signal. Terminal equipment may recognize the Idle State
- Tone Alert Signal by the detection of both frequencies together, or by
- detection of a single (the lower) frequency. In the case of single
- frequency detection the recognition time should be not less than 30ms,
- if both frequencies are detected the recognition time can be reduced to not
- less than 20ms.
-
- Fig 1. The Idle State Tone Alert Signal
- --------------------------------------------------------------
- |Frequencies | 2130 hz and 2750 hz +/- 1% |
- --------------------------------------------------------------
- |Received Signal Level | -2dBV to -40 dBV |
- --------------------------------------------------------------
- |AC and DC load impedance | AC load is high impedance as |
- | | required by NET4 |
- --------------------------------------------------------------
- |Unwanted Signals | Total power of extraneous signals|
- | | in the voice band (300-3400hz) is|
- | | at least 20dB below the signal |
- | | levels |
- --------------------------------------------------------------
- |Duration | 88 to 110 msec |
- --------------------------------------------------------------
- Note: NET4 is European Telecommunications Standard ETS 300 001;
- Attachments to PSTN; general technical requirements for equipment
- connected to an analogue subscriber interface in the PSTN).
-
- DC Load
- NET4 requires that the total of terminal equipment on a line shall not
- draw in excess of 120 microA in the idle state. The Caller Data Service
- terminal equipment may, as an option, draw DC of up to 0.5 mA par device
- at 50 V line voltage, but only during CDS idle state, otherwise the
- conditions of NET4 apply.
-
- DC Wetting Pulse
- In order to improve reliability of idle state data reception (by reducing
- noise), it is mandatory that the terminal equipment shall draw a short
- pulse of current from the line by applying a resistive load for a
- specified time.
-
-
- (3) Signalling
-
- For an understanding of the processes involve we need to have some under-
- standing of the four layers used in Basic Mode communication. Basic Mode
- communication covers transmission of data between network and terminal
- equipment, either before ringing is applied or without any ringing,
- transmission is either down-stream (network to terminal equipment), or
- up-stream (terminal equipment to network).
-
- Physical Layer: This defines data symbol encoding and modulation, and
- analogue line conditions.
- Datalink Layer: This defines framing of messages for transmission and a
- simple error checking procedure.
- Presentation Layer: This defines how application-related information is
- assembled into a message.
- Application Layer: This defines the application that uses the signalling.
- In this case Calling Line Identity Presentation.
-
- Now we'll go into a little more detail about each of these layers.
-
-
- Physical Layer:
-
- Signalling may occur in either the idle state or loop state. We won't
- discuss loop state signalling here, as it's not pertinent at this stage.
- An incoming CDS call is indicated by a polarity reversal on the A and B
- wires, usually followed by ringing current applied to the B wire. The
- Terminal Equipment responds to the Idle State Tone Alert by drawing a DC
- wetting pulse and applying a DC load and an AC load. The DC wetting pulse
- is applied during the idle period following the end of the Idle State
- Tone Alert signal. The AC load is applied at the same time as the DC
- wetting pulse. It is removed after the end of the V.23 signals. The DC load
- is applied and removed at the same time as the AC load impedance. On removal
- of the DC and AC loads the CPE reverts to the idle state. For some
- applications the Channel Seizure may be delayed by up to 5 seconds,
- either or both silent periods may be extended in this case.
- If a terminal equipment loop state condition is detected the CDS message
- is aborted and the call presented as a non-CDS call. All data transmitted
- by the physical layer consists of 8-bit characters transmitted asynchronously
- preceded by one start-bit and followed by one stop bit. With the exception
- of the mark signal immediately following channel seizure there should be
- no more than 10 stop bits between characters.
-
- Values for octets are given in the following format:
-
- S2 M B7 B6 B5 B4 B3 B2 L S1
- (Order of bits S1 first S2 last)
-
- where S1 = start bit
- S2 = stop bit
- M = most significant bit
- L = least significant bit
- B* = bit numbers 2 to 7
-
- Octets are transmitted with most significant octet first.
-
-
-
- Datalink Layer:
-
- The datalink layer provides framing of data into packets that can be
- distinguished from noise, and has error detection in the form of a check-
- sum.
-
- Fig 2. Datalink Packet Format
-
- -------------------------------------------------------------
- |Channel |Mark |Message |Message |Message |Check- |
- |Seizure |Signal |Type |Length | |sum | | | | | | | |
- -------------------------------------------------------------
- ^^^^^^^^^^
- Presentation
- Layer
-
-
- Analysis of the fields in a Datalink Packet:
-
- Channel Seizure
- The channel seizure consists of a continuous sequence of alternate 0 and 1
- bits at 1200 bits/s. The purpose of channel seizure is to minimize the possibility of noise mimicking a genuine carrier. The length of channel
- seizure as seen by terminal equipment is at least 96 bits (80 msec). It
- may be longer, up to 315 bits (262 msec)
-
- Mark Signal
- The mark signal seen by terminal equipment is at least 55 bits (45 msec)
- of continuous mark condition (equivalent to a series of stop bits, or no
- data being transmitted).
-
- Message Type
- The message type is a single binary byte. The value depends on the
- application.
-
- Message Length
- The message length is a single binary byte indicating the number of bytes in
- the message, excluding the message type, message length, and checksum bytes.
- This allows a message of between 0 and 255 bytes.
-
- Message
- The message consists of between 0 and 255 bytes, according to the message
- length field. This is the presentation layer message (explained later).
- Any 8-bit value may be sent, depending on the requirements of the
- presentation layer and the application.
-
- Checksum
- The checksum consists of a single byte equal to the two's complement sum
- of all bytes starting from the "message type" word up to the end of the
- message block. Carry from the most significant bit is ignored. The
- receiver must compute the 8-bit sum of all bytes starting from "message
- type" and including the checksum. The result must be zero or the message
- must be assumed to be corrupt.
-
-
-
- Presentation Layer:
-
-
- Fig 3. Presentation Layer Message format
- -------------------------------------------------------------------
- |Parameter|Parameter|Parameter| ... |Parameter|Parameter|Parameter|
- |Type |Length |Byte(s) | |Type |Length |Byte(s) |
- -------------------------------------------------------------------
-
- The fields Parameter Type, Length, and Byte, together describe one
- presentation layer parameter, and may be repeated.
- Parameter Type will be discussed more fully in the next section.
- Parameter Length is a single binary byte of a value between 0 and 255. In
- Basic Mode a complete message must be contained within a single datalink
- packet, this means that the total length of presentation layer parameters
- must not exceed 255 bytes.
- Parameter Byte(s) contains zero or more bytes of application related
- information. The information contained in this parameter should be en-
- coded in BT ISDN Character Set IA5 format.
-
-
- Parameter Type:
-
- There are eight parameter types associated with CLIP
-
-
-
-
- Fig 4. Parameter Type values
- -------------------------------------------------------------
- | Parameter Type Value | Parameter Name |
- -------------------------------------------------------------
- | 00010001 | Call Type |
- -------------------------------------------------------------
- | 00000001 | Time & Date |
- -------------------------------------------------------------
- | 00000010 | Calling line directory number (DN)|
- -------------------------------------------------------------
- | 00000011 | Called directory number |
- -------------------------------------------------------------
- | 00000100 | Reason for absence of DN |
- -------------------------------------------------------------
- | 00000111 | Caller name/text |
- -------------------------------------------------------------
- | 00001000 | Reason for absence of name |
- -------------------------------------------------------------
- | 00010011 | Network message system status |
- -------------------------------------------------------------
-
-
- The calling line directory number is the number of the line from which the
- call was made, or a substitute presentation number. The called directory
- number is the number that was called. This is of significance when the call
- has been diverted.
- There may be parameters of other types present. the call type parameter, if
- present will always be sent first, other parameters may be sent in any
- order. at least seven of these eight parameters must be recognized for the
- CLIP service (Called directory number is not necessary). Parameters may be
- sent with zero length. In such cases parameter length will be zero and the
- checksum will be correct. Parameters are usually encoded in IA5. The
- version used is a 7-bit code and is sent in 8-bit bytes with the most
- significant bit set to zero. Non-displayable characters (codes 0-32
- decimal) are not used. In the tables following byte number 1 is sent first
- followed by byte number 2 and so on.
-
-
- Call Type Parameter
-
- ------------------------------------------------------
- | Byte Number| Contents |
- ------------------------------------------------------
- | 1 | Call Type Parameter Type Code |
- | | (00010001) |
- | 2 | Parameter Length |
- | 3 | Call Type |
- ------------------------------------------------------
-
-
-
- ------------------------------------------------------
- | Call Type Encoding | Call Type |
- ------------------------------------------------------
- | 00000001 | Voice Call |
- | 00000010 | ring-back-when-free-call |
- | 10000001 | message waiting call |
- ------------------------------------------------------
-
- If the call type parameter is omitted then the call type is "voice call".
- Additional Call Types may be defined later. Other call types, ie FAX, will
- be used when they are available. The "message waiting" call type is used
- to give an indication of a new message from a specific caller.
-
-
- Time and Date Parameter
-
- The Time parameter indicates the date and time (+/- 1 minute) of the event
- associated with the supplementary information message. Where the call type
- has a value 127 (01111111) or less, then the time is the current time and
- can be used to set internal terminal equipment clocks and calendars. For
- a call of type "message waiting" the time and date refer to the time
- message was left or recovered. For other call types with value 128
- (10000000) or greater, the time and date may refer to some unspecified event
- and not necessarily current time.
-
-
-
- --------------------------------------------------------
- | Byte Number | Contents |
- --------------------------------------------------------
- | 1 | Time & Date parameter type code |
- | | (00000001) |
- | 2 | Parameter length (8) |
- | 3 | Month |
- | 4 | Month |
- | 5 | Day |
- | 6 | Day |
- | 7 | Hours |
- | 8 | Hours |
- | 9 | Minutes |
- | 10 | Minutes |
- --------------------------------------------------------
-
- Calling Line Directory Number Parameter
-
- The maximum length of number sent is 18 characters. The first digit sent is
- in byte 3. The Calling Line Directory Number is a number that may be used
- to call back the caller, or the same service. It may not be the directory
- number of the originating call, for example, an 0800 may be associated
- with the caller. Where an alternative to the directory number of the caller
- is sent this is known as a Presentation Number. There is no indication of
- which type of number is sent, this may change.
- If only a partial number is known then that partial number may be sent. This
- will be followed by a "-". For instance, where a call comes from outside the
- digital network the area code may still be sent and shown as:
-
- 0171-250-
-
- or, (under the new national code) for an international call from France;
-
- 00 33-
-
- assuming the new international access code of 00.
-
-
- ---------------------------------------------------------
- | Byte Number | Contents |
- ---------------------------------------------------------
- | 1 | Calling Line Directory Number |
- | | Parameter type code (00000010) |
- | 2 | Parameter length (n) |
- | 3 | First digit |
- | 4 | Second digit |
- | . | . |
- | . | . |
- |n+2 | nth digit |
- ---------------------------------------------------------
-
-
-
-
- Reason for Absence of Directory Number Parameter
-
- ------------------------------------------------------------
- | Byte Number | Contents |
- ------------------------------------------------------------
- | 1 | Reason for Absence of DN parameter type |
- | | code (00000100) |
- | 2 | Parameter length (1) |
- | 3 | Reason |
- ------------------------------------------------------------
- The reason will be one of the following BT IA5-encoded values
- "P" = "Number Withheld"
- "O" = "Number Unavailable"
-
-
- Called Directory Number Parameter
-
- The Called Directory Number is the telephone number used by the caller when
- making the call. The maximum length of characters sent is 18, the first digit
- of the number is sent in byte 3, the second in byte 4 and so on.
-
-
- ---------------------------------------------------------
- | Byte Number | Contents |
- ---------------------------------------------------------
- | 1 | Called Directory Number Parameter |
- | | type code (00000011) |
- | 2 | Parameter length (n) |
- | 3 | First digit |
- | 4 | Second digit |
- | . | . |
- | . | . |
- | n+2 | nth digit |
- ---------------------------------------------------------
-
-
-
- Caller Name/Text parameter
-
- At the launch of the service the Caller Name will not be available, the
- parameter will contain text only.
- The Name/Text consists of between 1 and 20 BT-IA5 characters. The parameter
- may be used for other information when no name is available.
-
-
- ---------------------------------------------------------
- | Byte Number | Contents |
- ---------------------------------------------------------
- | 1 | Caller Name/Text Parameter type code |
- | | (00000111) |
- | 2 | Parameter length (n) |
- | 3 | First digit |
- | 4 | Second digit |
- | . | . |
- | . | . |
- | n+2 | nth digit |
- ---------------------------------------------------------
-
-
-
- Reason for Absence of Name Parameter
-
- The reason will be one of the following;
-
- P "Name Withheld"; Caller has withheld delivery of name
- O "Name Unavailable"; The name is not available
-
-
-
- ---------------------------------------------------------
- | Byte Number | Contents |
- ---------------------------------------------------------
- | 1 | Reason for Absence of Name type |
- | | parameter (00001000) |
- | 2 | Parameter length (1) |
- | 3 | Reason |
- ---------------------------------------------------------
-
-
- Network Message System Status Parameter
-
- The value of the Network Message System Status parameter is a binary
- encoded value indicating the number of messages waiting in the message
- system. 0 means no messages, 1 means one or an unspecified number, other
- values, up to 255, indicate that number of messages waiting.
- This parameter is not necessarily associated with a normal phone call, and
- will probably be sent as a no ring call.
-
-
- ---------------------------------------------------------
- | Byte Number | Contents |
- ---------------------------------------------------------
- | 1 | Network System Message Status |
- | | Parameter (00010011) |
- | 2 | Parameter length (1) |
- | 3 | Network System Message Status |
- ---------------------------------------------------------
-
-
- Unless a Call Type parameter is also set, then any time parameter sent with
- the Network System Status parameter will indicate current clock time. This
- is to enable the terminal equipment to assume the time is current time and
- to set it's internal clock where no Call Type parameter is sent.
-
-
- (4) Message Length
-
-
- The longest CLIP message, excluding datalink layer information is currently
- 64 bytes. This length is expected for call types "Voice", "Ring-back-when-
- free", "Message Waiting". In future there may be additional parameters that
- could extend message length, these will be sent after the parameters Call
- Type, caller number, name/text, reason for absence of name or number, and
- Network Message System Status.
-
-
- (5)Fig 5. Received Characteristics of V.23 Signals
- ------------------------------------------------------------
- | Modulation | FSK |
- ------------------------------------------------------------
- | Mark (Logic 1) | 1300 Hz +/- 1.5% |
- ------------------------------------------------------------
- | Space (Logic 0) | 2100 Hz +/- 1.5% |
- ------------------------------------------------------------
- | Received signal level | -8dBV to -40dBV |
- | for mark | |
- ------------------------------------------------------------
- | Received signal level | -8dBV to -40dBV |
- | for space | |
- ------------------------------------------------------------
- | Signal level | The received signal levels may |
- | differential | differ by up to 6 dB |
- ------------------------------------------------------------
- | Unwanted signals | Total power of extraneous |
- | | signals in the voice band is at|
- | | least 20dB below the signal |
- | | levels |
- ------------------------------------------------------------
- | AC & DC load impedance | AC load impedance is Zss (see |
- | | below) |
- | | DC load impedance has been de- |
- | | scribed above. |
- ------------------------------------------------------------
- | Transmission rate | 1200 baud +/- 1% |
- ------------------------------------------------------------
- | Data format | Serial binary asynchronous (1 |
- | | start bit first, then 8 data |
- | | bits with least significant |
- | | bit first, followed by 1 stop |
- | | bit minimum, up to 10 stop bits|
- | | maximum. Star bit 0, stop bit 0|
- ------------------------------------------------------------
-
-
- (6)Fig 6. Zss
- Zss: a complex impedance nominally represented by the following network;
-
- 139 nF
- ----------------
- | |
- ------ -------
- | | | | ------------
- | ---------------- | | |
- O----- -------- ----------O
- | | | |
- | --------------- | ------------
- | | | | 827 Ohms
- ------ -------
- | |
- ----------------
- 1386 Ohms
-
-
- (7)Fig 7. BT IA5 alpha-numeric character set
-
- -----------------------------------------------------
- | B | b7 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 |
- -----------------------------------------------------
- | I | | | | | | | | | |
- -----------------------------------------------------
- | T | b6 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
- -----------------------------------------------------
- | S | | | | | | | | | |
- -----------------------------------------------------
- | | b5 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
- ---------------------------------------------------------
- | BITS | | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
- |b b b b | | | | | | | | | |
- |4 3 2 1 | | | | | | | | | |
- ---------------------------------------------------------
- |0 0 0 0 | 0 |NUL |TC7 |SP | 0 | @ | P | ` | p |
- ---------------------------------------------------------
- |0 0 0 1 | 1 |TC1 |DC1 | ! | 1 | A | Q | a | q |
- ---------------------------------------------------------
- |0 0 1 0 | 2 |TC2 |DC2 | " | 2 | B | R | b | r |
- ---------------------------------------------------------
- |0 0 1 1 | 3 |TC3 |DC3 | # | 3 | C | S | c | s |
- ---------------------------------------------------------
- |0 1 0 0 | 4 |TC4 |DC4 | £ | 4 | D | T | d | t |
- ---------------------------------------------------------
- |0 1 0 1 | 5 |TC5 |TC8 | % | 5 | E | U | e | u |
- ---------------------------------------------------------
- |0 1 1 0 | 6 |TC6 |TC9 | & | 6 | F | V | f | v |
- ---------------------------------------------------------
- |0 1 1 1 | 7 |BEL |TC10| ' | 7 | G | W | g | w |
- ---------------------------------------------------------
- |1 0 0 0 | 8 |FE0 |CAN | ( | 8 | H | X | h | x |
- ---------------------------------------------------------
- |1 0 0 1 | 9 |FE1 |EM | ) | 9 | I | Y | i | y |
- ---------------------------------------------------------
- |1 0 1 0 | 10 |FE2 |SUB | * | : | J | Z | j | z |
- ---------------------------------------------------------
- |1 0 1 1 | 11 |FE3 |ESC | + | ; | K | [ | k | { |
- ---------------------------------------------------------
- |1 1 0 0 | 12 |FE4 |IS4 | , | < | L | \ | l | | |
- ---------------------------------------------------------
- |1 1 0 1 | 13 |FE5 |IS3 | - | = | M | ] | m | } |
- ---------------------------------------------------------
- |1 1 1 0 | 14 |SO |IS2 | . | > | N | ^ | n | ~ |
- ---------------------------------------------------------
- |1 1 1 1 | 15 |SI |IS1 | / | ? | O | _ | o |DEL |
- ---------------------------------------------------------
-
- Where;
-
- BEL = Bell
- CAN = Cancel
- DC = Device Control
- EM = End of Medium
- ESC = Escape
- FE = Format Effectors
- IS = Information Separator
- NUL = Null
- SI = Shift In
- SO = Shift Out
- SP = Space
- SUB = Substitute Character
- TC = Transmission Control
-
-
-
-
-
-
- Conclusion:
-
- My head hurts, I've been in front of this screen for eight hours, I started
- this because I was chucked out of the cinema for being drunk and disorderly
- and I'd nothing else to do, I've got through 2 packs of Marlboros, 1 bottle
- mad dog and a stack of telco manuals. Most of this has been lifted whole-
- sale from those manuals (in the great tradition of all p/h g-philes). I'm
- currently working on a round up of ISDN2 and ISDN30, a glossary for European
- phone phreaks (almost ready), and a technical description of British and
- Irish cellular communication systems. If anybody has any info to share on any
- of these things, or any questions they'd like answered (stick to the subject
- though, I don't know who killed Kennedy, #8^)), then get in touch with me at
- the above address or at any of a variety of boards.
-