Plugin: Caller ID
Launch Data (ActiveX Classname): PH_CID.phcid
Initialization Data: The full path and filename pointing to the phcid.ini configuration file.  The phcid.ini file will need to be edited to set the proper configuration.  The first section to configure is the [config] section.  Set the "port" value to the COM port your CID modem is listening to.  The default settings of "9600,N,8,1" should be fine for most modems.  There will be several "CIDInit" parameters with all but one commented out (preceeded with a semicolon).  Select the CID Initialization parameter for your modem and make sure it is the only uncommented one.  For a caller ID modem, set the "format" to 1.  For a NetCallerID box, set the "format" to 2.  "Lookupnames" can be set to 1 to have CID supplied names substituted with names of your choosing as defined in the [Names] section.  A value of 0 will use CID supplied names.  The [HangUp] section can be configured to optionally automatically hang up on user defined numbers.
This plugin provides Caller ID support within PowerHome.  With a properly configured Caller ID modem or NetCallerID box, PowerHome will fire triggers when the phone rings based upon caller ID information.  When a call comes in, the plugin will fire a generic plugin trigger on command 1, option 1 for all calls.  The CID number will be in [TEMP5] and the CID name will be in [TEMP10].  If you have configured the CID plugin to hang up on certain numbers, calls that are hung up on will ALSO fire a generic plugin trigger on command 1, option 2.  The same information will be available in the [TEMP] variables.  In addition to the triggers, the plugin also provides support for directly communicating with the modem via the ph_picmd function.  Command 1 and 2 are available in the CID plugin.  Command 1 will send the string in data3 direct to the modem. This string can contain binary characters by escaping them with the "\" character followed by 3 digits for a decimal representation of the ASCII code or followed by an "x" and 2 digits for a hexadecimal representation of the ASCII code. Command 2 will send the string in data3 to the modem with no interpretation and will automatically embed a carriage return at the end.