logo image - link to home page

Products | Support | Resources | PurchaseContact  | Basket  | Checkout

  Home
  What's New
  Products
  Distributors
  Purchasing Info
  Developer Resources
  Support
  Upgrades
  Site Index
  Contact Us
  Pb-Free Info (RoHS)
 

 

keyword search:
 


 

Home:
  Developer Resources:

Programming Help
    Sample Programs
    Search the
PICBASIC™ List
    PICBASIC PRO™
Compiler Manual
    PICBASIC™ Compiler
Manual
    Serin2/Serout2 Modes
    ASCII Character Set
    Number Conversion
    Floating Point
Routines
    PBP Debug Monitor
    Articles and Tutorials

Hardware Help
    PICmicro® MCU
Selection Guide
    PIC16F62x Datasheet
    PIC16F84A Datasheet
    PIC16F87x Datasheet
    Parts / Vendor List
    PICPROTO™ Boards
    LAB-X1 Docs
    LAB-X2 Docs
    LAB-X20 Docs
    LAB-X3 Docs
    LAB-X4 Docs
    LAB-XUSB Docs
    LAB-XT Docs
     

 Other Resources
    MicroCode Studio
IDE for Windows
    melabs Loader
HEX files
    Links to other sites

Caller ID

Format

The following 2 formats are used in the United States to send the CID information:
  • SDMF - Single Data Message Format
  • MDMF - Multiple Data Message Format

SDMF supports a single data type and is used to send the phone number for number only service.

MDMF supports multiple data types and is used to send name and number information. It is structured so that new types of data can be added easily (address?, city?, state?, etc).

Both formats include a value to determine the type of data to follow (data type word), a value to indicate the length of the data (data length word), and a checksum. See below for an example of each format.


SDMF Example

Here is an example of a SDMF message. Each byte is in HEX.

04 12 30 39 33 30 31 32 32 34 36 30 39 35 35 35 31 32 31 32 51

04 - message type word - 4 indicates SDMF 12 - 18 decimal, number of bytes in date, time and phone number 30,39 - 09, September (ASCII) 33,30 - 30, 30th day (ASCII) 31,32 - 12, 12 hour (ASCII) 32,34 - 24, 24 minutes (12:24 PM) (ASCII) 36,30,39 - 609, Area code (ASCII) 35,35,35 - 555, prefix (ASCII) 31,32,31,32 - 1212, sufix (ASCII) 51h = Checksum Word

Thus, the CID string can be summarized as follows:

    The message is in SDMF format, consisting of 18 bytes of information, not including the checksum. The call was made on September 30 at 12:24pm. The calling party's phone number was (609)555-1212.

If the calling party's directory number is not available to the terminating central office, the phone number field contains an ASCII 'O'. If the calling party invokes the privacy capability (blocking), the phone number field contains an ASCII 'P'.

The following SDMF string is an example of a call that was blocked. The 50 just before the checksum is the ASCII code for a 'P'.

04 09 30 39 33 30 31 32 32 34 50 12

 


MDMF Example

Here is an example of a MDMF message. Each byte is in HEX.

80 20 01 08 30 33 32 34 30 39 30 32 07 08 4A 4F 48 4E 20 44 4F 45 02 0A 38 30 30 35 35 35 31 32 31 32 7D

  • 80 - Message type word, 80 indicates MDMF
  • 20 - Length of data, 32 bytes in date,time,name and number
  • 01 - data type, 1 = date & time
  • 08 - length of date and time, 8 bytes
  • 30,33 - 03, March
  • 32,34 - 24, 24th day
  • 30,39 - 09, hour
  • 30,32 - 02, minutes (9:02am)
  • 07 - data type, 7 = name
  • 08 - length of name, 8 bytes
  • 4A - 'J'
  • 4F - 'O'
  • 48 - 'H'
  • 4E - 'N'
  • 20 - ' ' (space)
  • 44 - 'D'
  • 4F - 'O'
  • 45 - 'E'
  • 02 - data type, 2 = phone number
  • 0A - length of phone number, 10 bytes
  • 38 - 8
  • 30 - 0
  • 30 - 0
  • 35 - 5
  • 35 - 5
  • 35 - 5
  • 31 - 1
  • 32 - 2
  • 31 - 1
  • 32 - 2
  • 7D - Checksum

    The following is a list of possible data types:

  • 1 - date & time
  • 2 - phone number
  • 4 - number not present
  • 7 - name
  • 8 - name not present

    If the calling party's directory number is not available to the terminating central office, the phone number and name fields contain an ASCII 'O'. If the calling party invokes the privacy capability (blocking), the phone number and name fields contain an ASCII 'P'.

    From what I have seen, the types 4 and 8 are always followed by a length value of 1 and then either a 'P' or an 'O' to indicate unavailable or blocked, respectively.


    Checksum

    The checksum value contains the twos complement of the modulo 256 sum of the other words in the data message (i.e., message type, message length, and data words). The receiving equipment may calculate the modulo 256 sum of the received words and add this sum to the received checksum word. A result of zero generally indicates that the message was correctly received. Message retransmission is not supported.
 

Copyright 2008
microEngineering Labs, Inc.
Box 60039
Colorado Springs CO 80960
(719) 520-5323
(719) 520-1867 fax
email: support@melabs.com

Last Updated: 01/04/2008

Home | What's New | Products | Support
Resources
| Purchase | Index Contact

PIC, PICmicro, dsPIC, and  MPLAB are registered trademarks of Microchip Technology Inc. in the USA and other countries.  PICBASIC, PICBASIC PRO, PICPROTO, and EPIC are trademarks of Microchip Technology Inc. in the USA and other countries.   BASIC Stamp is a trademark of Parallax, Inc.

Microchip third-party partner  Microchip Consultant Program Member