The data string can be, 64 characters in length, including the leading $ sign (if the "c" toggle is set), spaces, the carriage return, and line feed characters at the end of the data.
The data format for an inbound call is shown in Fig. 2, page 17. The line number always precedes the data string. In this example, data from telephone line 2 is shown.
The Inbound/Outbound and Start/End of Call Indicators use I/O and S/E respectively. Remember that the unit can be set to send data on inbound and outbound calls or only on inbound calls (toggle "O,o"). Also, the data stream can be sent at the start of the call, end of the call, or both (see toggles "A,a" and "S,s").
Since the duration of the call is sent only after the call is complete, toggles "O,o" and "S,s" must be set so the unit will send data at the end of the call. The Caller ID string sent by the telephone company always contains a checksum. The unit compares its checksum with the checksum sent by the phone company and displays either "G" (Good) if the two match or "B" (Bad) if they do not match. The application programmer may elect to ignore this indicator and determine the validity of the data after reading in the data stream.
The next field contains both the number of rings delivered by the telephone company before the call was answered and the type of ring. A service called “Distinctive Ring” or “Ring Master” is offered to customers in many areas. It allows up to 4 telephone numbers to be routed to one phone line. Each phone number dialed causes the telephone to ring differently. The unit will determine which ring pattern is delivered and mark it as A,B,C, or D. Please note the number of rings before answer is always zero except when the data is delivered at the end of an incoming call.
Figure 1. Real Time Data Format - Inbound Calls

This example shows the format delivered when the upper case “C” toggle is set.
The phone number contains dashes and a leading “$” is not sent.
The date and time information is sent by the phone company as part of the Caller ID signal on each incoming call. For each incoming call with a good checksum, the time and date information will be used to reset the internal real time clock to match the telephone company’s clock.
The phone number field is 12 characters and left justified. Dashes are inserted when the "C" toggle is set. If the "c" toggle is set the dashes are removed (and a leading $ sign is inserted in front of the data string). In some areas of the US and Canada, no area code is sent for calls within the local calling area. In this case, the unit will send the 7-digit phone number, left justified. If the application software will be used in different areas of the country, it is suggested that the local area code reside in the software to be appended to any 7 digit number delivery to make it a 10-digit number.
In many areas, the name of the caller will be delivered along with the number. This service is sometimes referred to as Caller ID Plus, Caller ID Deluxe, or Enhanced Caller ID. If delivered by the local telephone company, the name will reside in a left justified, 15 character field, following the number field. Names for private residences are usually sent last name first, space, first name, space, and then middle initial. Business names are most often sent as they are listed, but if they over 15 characters, truncation will occur. Even though most local telephone companies send all upper case names, the Bellcore and Bell Canada specification provides for the delivery of both upper and lower case characters.
Figure 3 on page 19 shows the data format for outbound calls. Unlike Fig. 2 on page 17, toggle "c" is set. (Remember toggle "c" places a $ sign before the data stream and removes dashes in the phone number field.)
The outbound indicator displays O and the Start/End indicators are the same as inbound calls. The duration of the call is only sent at the end of the call and is displayed in seconds. The checksum indicator is always "good" and the number of rings remains "zero" at all times. The date/time displayed is the date/time that the call was initiated and does not change at the end of the call.
Figure 2. Real Time Data Format - Outbound Calls

This example shows the format delivered when the upper case “C” toggle is set.
The phone number contains dashes and a leading “$” is not sent.
Dialed digits are placed in either the number or name field. The algorithm below explains that unit tries to be as "smart" as possible in determining where to place outbound dialed digits. The unit places all digits dialed within 2 seconds of each other beginning in the number field. If more than 10 digits are dialed, the additional digits will be displayed in the name field. The "start" data string for outbound calls will be sent immediately after a period of 2 seconds when no digits are dialed. Any digits dialed after this 2-second interval will be displayed in the name field and will be displayed only at the end of the call. For example the second data string shown in Fig. 3, the 800 number was originally dialed and after a few rings, an automated answering device answered the call. The caller then dialed additional digits responding to voice menu selections.
An exception to this second rule provides for 7 and 10 digit numbers to be reported in the number field on the end record, regardless of the interval between dialed digits.
Copyright © 2010 CallerID.com