elCID V2.2 · Documentation ©1997-98 by Carsten Scholling ----------------------------------------------------------------------------  Now it is done! After many month of hard work, I now present you the result:  _/_/_/ _/_/_/ _/_/_/_/ _/ _/ _/ _/ _/  Copyright  _/_/ _/ _/ _/ _/ _/ (C)1997-1998 by _/ _/ _/ _/ _/ _/ _/  Carsten Scholling  _/_/_/ _/ _/ _/ _/ _/ All rights reserved. _/ _/ _/ _/ _/ _/ _/_/ _/ _/_/_/ _/_/_/ _/_/_/_/ V2.2 e l C I D V2.2 A new multifunctional module based communication environment including ISDN monitor, caller ID logger for ISDN and analog connections, chat module (chat for free over D-Channel), environment controlling module, ...  !!PLEASE READ THIS FIRST!! (Changes)  !!THEN READ THIS!! (Known Bugs)  Now go on and read the documentation carefully...  » ============================================================================ elCID V2.2 · Jump'n Run Table ---------------------------------------------------------------------------- JUMP'N RUN  !!Changes!!  What you should know about this release!  Introduction  What the hell is THIS?  Concept  Which concepts are behind elCID?  Features  What is possible yet and what is not?  System Requirements  elCID's needings...  Installation  Should i use Installer or make my life hard?  Getting started  How to start this thing?  elCIDWatch  The controlling module.  elCIDISDN  ISDN data collecor module.  elCIDSerial  Serial device data collector.  elCIDSerPatch  Serial device data collector using system patches.  elCIDISDNMon  ISDN monitor.  elCIDProcess  Data processing module.  elCIDDisplay  Caller ID logger.  elCIDRapChat (n/a)  Chat module (free of charge over D-channel).  elCIDStateMon (n/a)  Status module for easy ISDN status overview.  elCIDPrefs  Preferences module for the whole elCID.  C-style formatting codes  Formatting codes.  Placeholder  Placeholder overview.  Registering  What can you do for me?  Updates  Where to find the updates and bugfixes??  Support  About the author and support.  Acknowledgements  Thanks to all who helped making elCID possible  Frequently Asked Questions  Frequently asked questions!  History  What was done until now?  Future  What will be done in future?  Known Bugs  Momentary problems and curious things.  Disclaimer  Warranty? None!  Copyright and Distribtion  What do you think?  About VMC (ISDN-Blaster)  Why VMC primary??  About ITH (ISDN-Master2)  What's with ISDN-Master2?  About BSC (ISDN-Master1)  What's with ISDN-Master1? ============================================================================ elCID V2.2 · Changes ---------------------------------------------------------------------------- CHANGES · Added "elCIDSerial" and "elCIDSerPatch" modules for analog device watching. · Added "StateMon" checkmark to devices part of elCIDPrefs (for use in future versions). · Added "Use device" checkmark to devices config. If you are updating, you MUST check this checkmark for all devices which should be watched and then save the preferences back to disk. If you do not, NOTHING will be watched. ============================================================================ elCID V2.2 · Introduction ---------------------------------------------------------------------------- INTRODUCTION elCID, in short, is a module based program system for watching EVERY serial device. It is not necessary to own or open the device. You have full control over the watched devices. elCID in general supports every ISDN-card, modem and/or similar which is controlled over devices. Special features (like ISDN monitor and chat free of charge over D-channel) are included for  VMC-ISDN  driven ISDN cards (all currently available ISDN-cards for Amiga are supported by VMC-ISDN). And now it is clear! elCID, in future, will support the capi20.device from ITH (or who ever is programming and supporting the CAPI interface currently [Chris?? Mr. K.?]). And why? See  About ITH  for further information. For information about supporting the => VERY OLD <= BSC driver, see  About BSC  first, then contact me. ============================================================================ elCID V2.2 · Concept ---------------------------------------------------------------------------- CONCEPT The concept behind elCID is, to provide full control over all communication which is done over and through various ISDN-cards, modems and devices. The main elCID part is for controlling the whole communication in your home and on your computer, reacting on vaious events like rejecting a call or saving the call data to a logfile for later analysing. You are able to simply configure which devices, modems or ISDN-cards should be watched and which type (normal serial, serial with OwnDevUnit support, serial patch or direct ISDN) should be used. There are no limits! Using the analog parts of elCID will provide you a simple to use configuration for all possible and impossible events which may occur. You are able to get some information out of the serial data stream such as "ATDxxxx", "CONNECT", "NO CARRIER", "RING" and so on... More about the possible event handling and configuration you will find in the preferences part. Because you don't want to waste any memory, elCID is based on various independant modules you can start and stop as you like. It is not necessary to have the ISDN part of elCID in memory if you only want to watch an analog device. For watching the ISDN device, you simply have to start elCIDISDN. It will collect all needed information for later use. Then, if you start the processing module, the data will be prepared for use with the display module. The communication between the modules is made through the elCID own communication ports. All modules are able to send data to and receive data from another module. ============================================================================ elCID V2.2 · Features ---------------------------------------------------------------------------- FEATURES · Compared with the old versions, only the name is the same (yes, that is a feature) · Is based on various modules instead of just one single overloaded program. Currently there are three data collecting modules including ISDN-, Serial- and SerPatch-Module, an ISDN monitor, one data processing module, a data displaying module (caller ID logger), a watch module for easy controlling the whole elCID environment and a preferences program which is a little bit overloaded ;-) · There are two other modules still under construction: elCIDRapChat (free of charge chat module) currently for VMC-ISDN only, but in future i will support CAPI too. And elCIDStateMon a status module for an easy overview about the current state of a device and unit. · All modules are completely independant. If you are running the ISDN-Module for example, it will collect all incoming data for you. And if you later start an other module like ISDN monitor too, all collected information will show up. Is that great? Another example: If you run the display module without one of the data collecting modules it is independant too, but you can wait for data until you are old and gray... Funny, isn't it? · elCID now supports the D-channel protocol layer 3 and 2 when using VMC device driver (thank you Harald ;-) In future I support the ITH CAPI driver and maybe BSC device driver too, but this is based on your needings and the acknowledgement of my work. · All modules (only those with a graphical interface, of course) using MUI. · You are not limited to only catch the telephone number out of the data stream. There are several methods for processing the data including direction, type of call, type of supplied number and so on. · It is supported. Currently and in future (I think that is an important point). That means, that there are several new modules planned. ============================================================================ elCID V2.2 · Requirements ---------------------------------------------------------------------------- REQUIREMENTS elCID works fine with AmigaOS 3.0 or higher, but should work with AmigaOS 2.0 as well. A minimum of OS2.1 is required for locale support. elCID is programmed to work with all future OS version too. If you want to use the sound feature, a minimum os OS 3.0 is required, because the sound files are decoded and played via datatypes. elCID uses MagicUserInterface copyright by Stefan Stuntz. A minimum version of 3.3 is required to run elCID. Because some MUI features need OS3.0 or higher, not all feeatures may be usable in older versions. You should use a harddisk (anyone out there without a hd?). It is possible to run elCID from floppy, but not recommented. Due to the module concept, it may take some seconds to startup elCID from floppy. No special processor is required, but a 68020 is recommented for MUI. You should have at least 1MB of free memory when starting elCID, because MUI needs some memory too and there are a "few" bytes elCID requires for storing the preferences and the saved events data in memory. In short: · AmigaOS 2.0 (2.1 for locale support) (hope it works, not tested) · AmigaOS 3.0 or higher for datatype support (sound) · MagicUserInterface (MUI) 3.3 or higher ============================================================================ elCID V2.2 · Installation ---------------------------------------------------------------------------- INSTALLATION To install elCID, use the supplied installer script. Simply click on "Install_elCID" after unpacking the archive. The script requires Installer V42.9 or higher installed and in the path. If you want to install elCID manually, simply copy the elCID drawer whereever you want and add an "ASSIGN elCID: " to your "user-startup" file. ============================================================================ elCID V2.2 · Starting ---------------------------------------------------------------------------- GETTING STARTED After installation, you will find a directory called "elCID" in the destination directory. Simply open it by doubleclick and see the result. At first, you should start  elCIDPrefs  and take a look into the supplied default-configurations. You may change this upon your needings (see  elCIDPrefs  for further information). Then, after adjusting the preferences, you should look inside the tooltypes of  elCIDWatch  and adjust them upon your needings (ISDN, serial, serial patch and so on...). After that, start  elCIDWatch  and see what happens. After some seconds, two windows should appear on Workbench. At first a window called  elCID watch module  and at second  elCID display module . In the elCIDWatch window you should see a minimum of three checked checkmarks ( Process  and  Display  and a data collecting module) after some seconds. Now you have to wait for any events to appear. That's all. ============================================================================ elCID V2.2 · elCIDWatch ---------------------------------------------------------------------------- elCIDWatch ========== Bill Gates would call this CCC98 (Communication Command Center). Here you can start and stop all other modules and in future show a status window for an easy module status overview. After starting elCIDWatch, you see a window with eight checkmarks as follows: ___________________________ | elCIDWatch | Some checkmarks maybe checked, depending on your |___________________________| Tooltypes or command line options. | ___ | | ISDN |___| | Each checkmark controls the state of the named | ___ | module. If you change the state of a checkmark, | Serial |___| | the corresponding modules will be activated or | ___ | deactivated, depending on the old state. | Serial Patch |___| | | ___ | Maybe you see only a short check-flashing after | ISDNMon |___| | selecting a checkmark. That is for internal | ___ | reasons: elCIDWatch checks the state of each | Process |___| | module right after changing the state of a | ___ | checkmark. Normally the selected module is not | Display |___| | activated just in this microsecond and need a | ___ | moment to startup. After signalling elCIDWatch | StateMon |___| | the module is up and running, the checkmark will | ___ | be shown in selected state. | RapChat |___| | |___________________________| ____________ |Project | elCIDWatch has one menu called "Project". Here you can open an |------------| "About"-window, hide the module as selected in the MUI-Prefs, or | | simply quit the module. |About A ?| |------------| |Iconify A I| |------------| |Quit A Q| |____________| The following command line options and tooltypes are supported in elCIDWatch: I=ISDN/S,S=SERIAL/S,SP=SERPATCH/S,IM=ISDNMON/S,P=PROCESS/S,D=DISPLAY/S, SM=STATEMON/S,RC=RAPCHAT/S,QA=QUITALL/S,QS=QUITSTARTED/S Usage: elCIDWatch [ISDN] [SERIAL] [SERPATCH] [ISDNMON] [PROCESS] [DISPLAY] [STATEMON] [RAPCHAT] [QUITALL] [QUITSTARTED] ISDN · Activate ISDN-Module at startup SERIAL · Activate Serial-Module at startup SERPATCH · Activate SerPatch-Module at startup ISDNMON · Activate ISDNMon-Module at startup PROCESS · Activate Process-Module at startup DISPLAY · Activate Display-Module at startup STATEMON · Activate UnitStatus-Module at startup RAPCHAT · Activate RapChat-Module at startup QUITALL · Quit all modules when leaving elCIDWatch QUITSTARTED · Quit started modules when leaving elCIDWatch All options are implemented as switches. If you specify one of these options, the corresponding module will be started or, if QUITALL or QUITSTARTED is specified the corresponding modules will be disposed after quitting elCIDWatch. ============================================================================ elCID V2.2 · elCIDISDN ---------------------------------------------------------------------------- elCIDISDN ========= The first of three data collecting modules. This module is designed for getting data from an ISDN device like  VMC ,  BSC  or  ITH  device as configured in  elCIDPrefs . The device must NOT be opened by elCIDISDN for this. Therefore the device is free for other purposes. All D-Channel data received from the device will be send to  elCIDProcess  and  elCIDISDNMon  if they are up and running. If not, all data will be saved until the configured  limit  is reached. ============================================================================ elCID V2.2 · elCIDSerial ---------------------------------------------------------------------------- elCIDSerial =========== Used to collect data from any analog serial device. This is the way, the old versions received their data for processing and analysing. The device is opened the very normal way and is NOT usable for other programs, except OwnDevUnit support is activated. Then, a request is send to elCIDSerial by the other program and the device is handled as configured in  elCIDPrefs . For debugging purposes, elCIDSerial now has two command line options. If you are not sure which data the modem sends exactly (is it a or a at the end of line), you now can specify the following debug switches at the CLI command line only: D_BUG/S,D_HEX/S D_BUG · Activate the debugging mode D_HEX · Show all debug information in hex All output is done to the current default output (stdout). This means, all information is displayed in the shell window elCIDSerial was started from. Bit you can simply redirect the output to any file by specifiing ">t:D_BUG.out" after elCIDSerial for example. This redirects the output to a file called "D_BUG.out" which is saved in drawer "t:". For normal hex output to the current shell window, you can start elCIDSerial with following options: elCIDSerial D_BUG D_HEX If you want to redirect it to a file (for sending it to the author (me) for example if you have any questions or problems setting up the events) you can simply write elCIDSerial >t:debug.hex D_BUG D_HEX and then add the file to your email. ============================================================================ elCID V2.2 · elCIDSerPatch ---------------------------------------------------------------------------- elCIDSerPatch ============= Collects data from serial devices like  elCIDSerial , but in a completely different way: When starting elCIDSerPatch, some system patches are installed in a most "system-friendly" manner and as secure as possible (you only have 100% security without ANY patches!!). Then all data sent through this device will be collected by elCIDSerPatch and sent to  elCIDProcess  for further analysing. Following system functions are patched: OpenDevice() · For checking if the opened device has to be watched CloseDevice() · Stop watching of closed device. SendIO() · All data sent or received via these three functions will DoIO() be saved to a local buffer and then sent to  elCIDProcess  WaitIO() for analysing. ============================================================================ elCID V2.2 · elCIDISDNMon ---------------------------------------------------------------------------- elCIDISDNMon ============ Phu! Now it will be more difficult. elCIDISDNMon is a very complex piece of software. The ISDN monitor is a little bit outside the module concept of elCID. It receives it's data directly from the ISDN-Module without passing it through the Process-Module. All layer 3 messages are supported. In future, layer 2 should be supported too. Decoding of facility-packets is currently in work. Layer 3 messages can be watched a little bit closer by doubleclicking the selected entry. Sometimes 7 description lines for 1 byte d-channel data. That IS a little bit closer, isn't it? The messages (about 50k) are never and really NEVER translated! Be sure! But let's see how the ISDN monitor looks like: ______________________________________________________________________________________ | elCID ISDN monitor | |______________________________________________________________________________________| | ____________________________________________________________________________________ | ||Date |Time |CRV |Offs |I/O |Data |Description || ||---- |---- |--- |---- |--- |---- |----------- || ||28.01.98 |15:35:02 |01 |[03] |-O- |%00000101 |L3: SETUP || ||28.01.98 |15:35:02 |81 |[03] |-I- |%00001101 |L3: SETUP ACKNOWLEDGE || ||28.01.98 |15:35:03 |81 |[03] |-I- |%00000010 |L3: CALL PROCEEDING || || | | | | | | || || · | · | · | · | · | · | · || || · | · | · | · | · | · | · || || · | · | · | · | · | · | · || ||_________|_________|____|_____|____|__________|_____________________________________|| |______________________________________________________________________________________| In the window above, you see the plain layer 3 message header (message type) packets. There are several fields: · Date: Date, the D-channel packet has arrived · Time: Time, the D-channel packet has arrived · CRV: "Call Reference Value" sent with each packet · Offs: Offset of layer 3 message header · I/O: Specifies an incoming or outgoing packet · Data: Binary header data · Descr.: Description of the header message When doubleclicking an message type entry in the window above, the following window with the information inside the message packet called "Information Elements" will be shown. This look is a little bit closer than the simple header format in the first window. ____________________________________________________________________________________________________ | elCID ISDN monitor IE | |____________________________________________________________________________________________________| | __________________________________________________________________________________________________ | ||Offs |Oct |Data |Description || ||---- |--- |---- |----------- || ||[04] | 1 |%00000100 |IE: BEARER CAPABILITY || ||[05] | 2 |%00000010 |IE length: 02 octets. || ||[06] | | |IE Data: 88 90 || ||---- |--- |--------- |----------------------------------------------------------------------------|| ||[08] | 1 |%01101100 |IE: CALLING PARTY NUMBER || ||[09] | 2 |%00000111 |IE length: 07 octets. || ||[0A] | 3 |%0------- |Extension bit: continued || ||[0A] | |%-100---- |Type of number: subscriber number || ||[0A] | |%----0001 |Numbering plan: ISDN/Telephony numbering plan (CCITT Rec. E.164/E.163)|| ||[0B] | 4 |%1------- |Extension bit: not continued || ||[0B] | |%-00----- |Presentation indic.: presentation allowed || ||[0B] | |%---000-- |Spare || ||[0B] | |%------00 |Screening indicator: user-provided, not screened || ||[0C] | 5 |********* |Number: [96053] || ||---- |--- |--------- |----------------------------------------------------------------------------|| ||[11] | 1 |%00011000 |IE: CHANNEL IDENTIFICATION || ||[12] | 2 |%00000001 |IE length: 01 octet. || ||[13] | 3 |%1------- |Extension bit: not continued || ||[13] | |%-0------ |Interface identific.: interface implicitily identified || ||[13] | |%--0----- |Interface type: basic interface || ||[13] | |%---0---- |Spare || ||[13] | |%----0--- |Preferred/exclusive: indicated channel is prefered || ||[13] | |%-----0-- |D-channel indicator: the channel identified is not the D-channel || ||[13] | |%------11 |Info. chan. sel.: any channel || ||---- |--- |--------- |----------------------------------------------------------------------------|| ||[14] | 1 |%01110000 |IE: CALLED PARTY NUMBER || ||[15] | 2 |%00001011 |IE length: 11 octets. || ||[16] | 3 |%1------- |Extension bit: not continued || ||[16] | |%-000---- |Type of number: unknown || ||[16] | |%----0001 |Numbering plan: ISDN/Telephony numbering plan (CCITT Rec. E.164/E.163)|| ||[17] | 4 |********* |Number: [0526599054] || || | | | || || · | · | · | · || || · | · | · | · || || · | · | · | · || ||_____|____|__________|____________________________________________________________________________|| |____________________________________________________________________________________________________| · Offs: Offset of each information element inside the packet · Oct: The octett number inside the information element blocks · Data: Binary data · Description: Description of the information element Now the menus: _____________ |Project | With "Open..." you can load previously saved |-------------| D-Channel packets. | __________ |Open... |New A O| "New" clears the listview and loads the entries. |Save |Merge | "Merge" adds the entries to the and of the listview. |SaveAs... |__________| |-------------| |Clear list »| All manually loaded entries will be shown in |-------------| "italic" state and with "fillpen" color. |About A ?| |-------------| |Iconify A I| |-------------| |Quit A Q| |_____________| _____________ |Project | Write D-Channel packets to disk. |-------------| | | |Open... _____________ |Save |All A S| Save all packets to disk using name "elCIDISDN.pkt". |SaveAs... |Selected | Save selected packets to disk ("elCIDISDN.pkt") |-----------|_____________| |Clear list | |-------------| |About A ?| |-------------| |Iconify A I| |-------------| |Quit A Q| |_____________| _____________ |Project | Write D-Channel packets to disk, opening a file- |-------------| requester to select the name. | | |Open... »| |Save _____________ |SaveAs... |All | Save all packets to disk, selecting a name first. |-----------|Selected | Save selected packets to disk, selecting name. |Clear list |_____________| |-------------| |About A ?| |-------------| |Iconify A I| |-------------| |Quit A Q| |_____________| _____________ |Project | Delete ISDN packets from listview. |-------------| | | |Open... »| |Save »| |SaveAs... »| |------------_____________ |Clear list |All A C| Deletes all entries. |-----------|Selected | Deletes only selected entries. |About A|_____________| |-------------| |Iconify A I| |-------------| |Quit A Q| |_____________| _____________ |Project | |-------------| | | |Open... »| |Save »| |SaveAs... »| |-------------| |Clear list »| |-------------| |About A ?| The rest is simple: You can open an "About"-window, hide the |-------------| module as selected in the MUI-Prefs, or simply quit the module. |Iconify A I| |-------------| |Quit A Q| |_____________| ============================================================================ elCID V2.2 · elCIDProcess ---------------------------------------------------------------------------- elCIDProcess ============ Analysing, converting and processing of data packets send by  elCIDISDN ,  elCIDSerial  and  elCIDSerPatch . Data will be converted into an internal format for easier use and then send to  elCIDDisplay  to cause actions configured for this event. ============================================================================ elCID V2.2 · elCIDDisplay ---------------------------------------------------------------------------- elCIDDisplay ============ A very important part of elCID is the display module. But elCIDDisplay is not only for displaying events. It also does all other actions as configured for each event. The information displayed and all other actions can be configured inside  elCIDPrefs . See there for more information. All calls will be added to the listview as and if configured. The entries will be updated every time the state of the call changes or more information is available. This includes the detail requester. The used B-Channel for outgoing calls for example is "ANY" first and will be updated to the real used channel. For the analog parts: It is impossible to get any reference between the sent data packets and the already processed and displayed ones. Therefore it is needed to collect all needed data in one run, sorry. For devices which support any call reference, a field "VAR_CallReferenceValue" is supported by elCID. If this field is set, the already processed packets will be updated according to this reference value. For further information see  elCIDPrefs/Events . The elCIDDisplay window only consists of one listview: ______________________________________________________________________________________ | elCID display module | |______________________________________________________________________________________| | ____________________________________________________________________________________ | || || || This listview is splitted into several columns, based on the configuration. || || (see  elCIDPrefs ) || || || || || ||____________________________________________________________________________________|| |______________________________________________________________________________________| ____________ |Project | elCIDDisplay has one menu called "Project". Here you can open an |------------| "About"-window, hide the module as selected in the MUI-Prefs, or | | simply quit the module. |About A ?| |------------| |Iconify A I| |------------| |Quit A Q| |____________| ============================================================================ elCID V2.2 · elCIDRapChat ---------------------------------------------------------------------------- elCIDRapChat (n/a) $$$ ============ !!!elCIDRapChat is not available in this release!!! The elCIDRapChat module is a goodie you will never miss after you have used it the first time. Chat for free! A dream? NOPE! With VMC-ISDN and elCIDRapChat you are able to chat with other people over the ISDN D-channel for nothing (except the shareware fee ;-). With VMC-ISDN you are able to simply chat with ONE other people. But elCIDRapChat is able to handle up to 5 connections at one time (limited to five, because of the high traffic caused by more people). It is possible to have a IRC like connection through the D-channel for free. Fantastic? NOTE: This program is designed for internal use only. You are not allowed to use elCIDRapChat in an official telephone net. Check your local provider for further information. ============================================================================ elCID V2.2 · elCIDStateMon ---------------------------------------------------------------------------- elCIDStateMon (n/a) $$$ ============= !!!elCIDStateMon is not available in this release!!! ============================================================================ elCID V2.2 · elCIDPrefs ---------------------------------------------------------------------------- elCIDPrefs ========== elCIDPrefs currently consists of 10 sections, where 8 are used for configuration purposes. Because elCIDPrefs is a little bit overloaded, it may be a litte bit complicated to get a fast overview over all configuration possibilities. These are the available sections: · About · General · Paths · Devices · DeviceInit · Events · MSNs · Phonebook · DisplayFormat · Miscellaneous The window looks something like this: ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | || ||General | | || ||Paths | | || ||Devices | | Different configuration stuff || ||DeviceInit | | || ||Events | | || ||MSNs | | || ||Phonebook | | || ||DisplayFormat| | || ||Miscellaneous| | || || | | || || | | || ||_____________| |____________________________________________________________________|| | ____________________________________________________________________________________ | || || || || ||____________________________________________________________________________________|| | _______________________ _______________________ | || Save | | Cancel || ||_______________________| |_______________________|| |______________________________________________________________________________________| And a bit closer:  elCIDPrefsAbout  The "About" part.  elCIDPrefsGeneral  General prefs.  elCIDPrefsPaths  Path settings.  elCIDPrefsDevices  Device setup.  elCIDPrefsDeviceInit  Device initialization.  elCIDPrefsEvents  Configuring the events.  elCIDPrefsMSNs  MSN setup.  elCIDPrefsPhonebook  Your phonebook.  elCIDPrefsDisplayFormat  Select the display format.  elCIDPrefsMiscellaneous  The rest. ============================================================================ elCID V2.2 · elCIDPrefsAbout ---------------------------------------------------------------------------- About: Here you only see a nice picture and some copyright stuff. At the bottom of this virtual group there is a button called "Key info". Pressing this button will cause a window to appear with information about the person who is registred with this file. That should be your name, address and your key number or "UNREGISTERED", if your copy is not registered. (No picture. Make your own experience ;-) ============================================================================ elCID V2.2 · elCIDPrefsGeneral ---------------------------------------------------------------------------- General: The General-page is for configuring some "Display" and "ISDNMon" related things. Inside the General-page there are two other pages for "Display" and "ISDNMon" and the "Display" page is also splitted into two different pages. Normally, all events are supressed if the corresponding GUI module is iconified. The following options force the module to wake up or do the configured actions even if iconified. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ _________________________________ __________________________________ | ||About | | Display | ISDNMon || ||General | | |__________________________________|| ||Paths | | Page 1 | Page 2 || ||Devices | | |__________________________________|| ||DeviceInit | | ________Incoming_________ _________Outgoing________ || ||Events | | | __ | | __ | || ||MSNs | | |Uniconify on events |__|| |Uniconify on events |__|| || ||Phonebook | | | __ | | __ | || ||DisplayFormat| | |Detail req. if icon. |__|| |Detail req. if icon. |__|| || ||Miscellaneous| | | __ | | __ | || || | | |Play sound if icon. |__|| |Play sound if icon. |__|| || || | | | __ | | __ | || || | | |Exec. prg. if icon. |__|| |Exec. prg. if icon. |__|| || || | | |_________________________| |_________________________| || || | | || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ General/Display/Page1/Incoming: · Uniconify on events - If checked, tells elCIDDisplay to uniconify on any incoming event even if iconified. · Detail requester if iconified - If activated, elCIDDisplay shows the incoming detail requesters, even if iconified. · Play sound if iconified - Forces elCIDDisplay to play the confi- gured incoming soundfile even if iconified. · Execute program if iconified - The configured incoming program is executed, even if elCIDDisplay is iconified. General/Display/Page1/Outgoing: · Uniconify on events - If checked, tells elCIDDisplay to uniconify on any outgoing event even if iconified. · Detail requester if iconified - If activated, elCIDDisplay shows the outgoing detail requesters, even if iconified. · Play sound if iconified - Forces elCIDDisplay to play the confi- gured outgoing soundfile even if iconified. · Execute program if iconified - The configured outgoing program is executed, even if elCIDDisplay is iconified. The following options are for memory saving purposes: ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ _________________________________ | ||About | | Display | ISDNMon | ||General | | |__________________________________ | ||Paths | | Page 1 | Page 2 || ||Devices | |_________________________________| || ||DeviceInit | | || ||Events | | ___________________________Display______________________________ || ||MSNs | | | __ | || ||Phonebook | | |Show old queued at startup |__| | || ||DisplayFormat| | | ___________________________________ | || ||Miscellaneous| | |Maximum queue size |______|100|________________________|| || || | | |________________________________________________________________| || || | | || || | | _____________________________Log________________________________ || || | | | __ | || || | | |Write log after disconnect |__| | || || | | | ___________________________________ | || || | | |Log buffer size (kB) |___|2|_____________________________|| || || | | |________________________________________________________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ General/Display/Page2/Display: · Show old queued at startup - Suppose you have started a data collect module without the display module. This checkmark let you select, if you want all queued events to show up with all configured actions at startup of elCIDDisplay or not. · Maximum queue size - Is the maximum number of entries which will be hold in memory, before deleting the oldest. General/Display/Page2/Log: · Write log after disconnect - Normally elCIDDisplay writes the logfile right after a call has been recognised. This means, that the end of call is not available when writing the log. Activating this switch tells elCID to only log finished calls with end date/time set. · Log buffer size - This is the size in kB elCIDDisplay should use for buffering the logfile. If the configured size is reached, all log data is written to disk. On the ISDNMon page, the config part is (of course) not splitted into incoming and outgoing blocks. If you start the ISDN monitor, you want to look at ALL information elements, not only incoming or outgoing. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ _________________________________ __________________________________ | ||About | | Display | ISDNMon || ||General | |_________________________________| || ||Paths | | || ||Devices | | || ||DeviceInit | | _________Events__________ || ||Events | | | __ | || ||MSNs | | |Uniconify on events |__|| || ||Phonebook | | |_________________________| || ||DisplayFormat| | || ||Miscellaneous| | ___________________________Display______________________________ || || | | | __ | || || | | |Show old queued at startup |__| | || || | | | ___________________________________ | || || | | |Maximum queue size |______|100|________________________|| || || | | |________________________________________________________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ General/ISDNMon/Events: · Uniconify on events - If checked, this tells elCIDISDNMon to uniconify on any event even if iconified. General/ISDNMon/Display: · Show old queued at startup - This is the same as in elCIDDisplay: This checkmark let you select, if you want all queued events to show up with all configured actions at startup of elCIDISDNMon or not. · Maximum queue size - Is the maximum number of entries which will be hold in memory, before deleting the oldest. ============================================================================ elCID V2.2 · elCIDPrefsPaths ---------------------------------------------------------------------------- Paths: Here you specify all paths used by elCID. Currently there is only the logfile path changeable, because for now the phonebook is included in the normal preferences file. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | || ||General | | || ||Paths | | _____________________________________________________ || ||Devices | | Log file: | Sys:Logs/elCID.log | || ||DeviceInit | | |_____________________________________________________| || ||Events | | || ||MSNs | | || ||Phonebook | | || ||DisplayFormat| | || ||Miscellaneous| | || || | | || || | | || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ Paths: · Log file - Here you specify the name of the logfile. If this string is empty, no logfile will be written. ============================================================================ elCID V2.2 · elCIDPrefsDevices ---------------------------------------------------------------------------- Devices: A very important part! Here, all device setups will be done. You are not limited to only one device or one device category. Feel free to add all devices you want to be watched. The only problem may appear, if you have dozends of devices configured for example. This may be a problem with your processor when there are actions on all devices together. ;-) You have several options for watching a device: Simple device watch by opening and owning the device (OwnDevUnit support) and reacting on several configured events, patching a device or use ISDN trace to get the information. This depends on you. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | ________________________________________ _____Device flags_____ || ||General | ||Name Device Unit Type | | __________ | || ||Paths | ||---- ------ ---- ---- | | Type: |§|VMC-ISDN| | || ||Devices | ||VMC-DEV vmcisdn0.device 0 VMC-ISDN | | |_|________| | || ||DeviceInit | ||________________________________________| | ___ | || ||Events | ||VMC-DEV | | StateMon: |___| | || ||MSNs | || | | ___ | || ||Phonebook | || | | Use device: |___| | || ||DisplayFormat| ||________________________________________| |______________________| || ||Miscellaneous| | ____________________________Device_______________________________ || || | || _______________________ ______________________ | || || | ||Device: |vmcisdn0.device |#| Unit: |_|0|__________________|| || || | || |_____________________|_| | || || | ||_________________________________________________________________| || || | | ___________________ ___________________ ___________________ || || | || Add | | Del | | Sort | || || | ||___________________| |___________________| |___________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ Devices: · Listview - In the listview above, you have a short overview over the configured devices. This includes the choosen name for the device, the device name itself, unit number and selected type (see there). · Name - In the name field below the listview you can choose a name for the device. Normally you should use the default name "/" that is automatically set when selecting a device and unit. Devices/DeviceFlags: · Type - You are able to choose the watch type with this cycle- gadget. The following types are supported: · VMC-ISDN - VMC ISDN driver support · BSC-ISDN - BSC ISDN driver support (n/a) $$$ · ITH-ISDN - ITH ISDN driver support (n/a) $$$ · OwnDevUnit - Normal device handling with OwnDevUnit support · Device patch - Using sys-patches for collecting data. · Normal - Fully normal device handling. · StateMon - With this checkmark you specify, that this device/ unit should be watched inside StateMon. (n/a) $$$ · Use device - Here you can select, if a device should be used (watched) or not. Devices/Device: · Device - There are two ways to tell elCIDPrefs which device should be used: You can type in the name directly or use the pop- up gadget to get a list of all available devices. · Unit - This slider is for changing the unit number of the device. You can change it in the range from 0 to 100. · Add - Pressing this button will add a "» New «" entry to the list. · Del - Deletes an old entry without warning. · Sort - You can sort the device list by pressing this button. ============================================================================ elCID V2.2 · elCIDPrefsDeviceInit ---------------------------------------------------------------------------- DeviceInit: The name "DeviceInit" is a little misused. Here you specify not only the initialization sequences but also the several reject strings and some flags relating the OwnDevUnit handling and special debug flags. Most of this settings (all settings on pages 1 and 2) are for use with device mode "Normal" and "OwnDevUnit" only. On page 3 there are settings for "OwnDevUnit" and "ISDN". ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | _________________________________________________________________ || ||General | ||VMC-DEV | || ||Paths | || | || ||Devices | || | || ||DeviceInit | ||_________________________________________________________________| || ||Events | | _____________________ _____________________ _____________________ || ||MSNs | || Page 1 | Page 2 | Page 3 | || ||Phonebook | || |_____________________|_____________________| || ||DisplayFormat| || __________________________________________________ | || ||Miscellaneous| ||Init string: |ATZ || || || | || |__________________________________________________|| || || | || __________________________________________________ | || || | ||Out string: |ATZ || || || | || |__________________________________________________|| || || | || __________________________________________________ | || || | ||Dial string: |ATD || || || | || |__________________________________________________|| || || | ||_________________________________________________________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ DeviceInit: · Listview - This listview only shows the device name without further information. This is only for orientation in a bulk of devices. DeviceInit/Page1: · Init string - The string that should be sent to the device at startup. · Out string - The string sent to the modem when shuting down elCID (elCIDSerial). · Dial string - Not used in this release. In future you specify the dial prefix. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | _________________________________________________________________ || ||General | ||VMC-DEV | || ||Paths | || | || ||Devices | || | || ||DeviceInit | ||_________________________________________________________________| || ||Events | | _____________________ _____________________ _____________________ || ||MSNs | || Page 1 | Page 2 | Page 3 | || ||Phonebook | ||_____________________| |_____________________| || ||DisplayFormat| || _____________________________________ | || ||Miscellaneous| ||Reject string: |ATH || || || | || |_____________________________________|| || || | || _____________________________________ | || || | ||Global reject string: |ATH1 || || || | || |_____________________________________|| || || | || _____________________________________ | || || | ||Global reject off string: |ATH0 || || || | || |_____________________________________|| || || | ||_________________________________________________________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ DeviceInit/Page2: · Reject string - The string that causes the device to reject a call. · Global reject string - String that causes the device to reject ALL calls. (n/a) $$$ · Global reject off string - The string that turns off global call rejecting. (n/a) $$$ ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | _________________________________________________________________ || ||General | ||VMC-DEV | || ||Paths | || | || ||Devices | || | || ||DeviceInit | ||_________________________________________________________________| || ||Events | | _____________________ _____________________ _____________________ || ||MSNs | || Page 1 | Page 2 | Page 3 | || ||Phonebook | ||_____________________|_____________________| | || ||DisplayFormat| || | || ||Miscellaneous| || | || || | || _____________________________________ | || || | ||OwnDevUnit request: |# | Release || || || | || |__|__________________________________|| || || | || _____________________________________ | || || | ||Set ISDN debug flag: |# | Auto || || || | || |__|__________________________________|| || || | || | || || | ||_________________________________________________________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ DeviceInit/Page3: · OwnDevUnit request - An unit request from another program through OwnDevUnit can cause several actions in elCID. Currently there are only the first 3 entries valid: · Release - Immediately release the device. This opens a re- quester, waiting for the user to select "Go back" or "Quit". · Keep open - Keep the device open. · Close - Close the device (no re- quester). · Auto reown - Reown device automatically after freeing by the other program. · Ask - Ask the user what to do. · Set ISDN debug flag - This is a bit special: Currently for VMC only you can specify here how to handle the debug flag. This is based on the state of the VMC driver and the debug fields: · Auto - Do automatic debug-flag and -task related changes and actions. · Man - Let the user manually set the de- bug flag. · Force - Forces the debug flag and task to be set to elCID. Further information: · If the VMC device driver is not activated, it will be activated by opening and closing it right after if "Auto" or "Force" is selected. · If the device is up and running and no valid debug task is selected, elCID makes itself the debug task and sets the debug flag if "Auto" is selected. If you have specified "Force", elCID does no further checking and overwrites the old debug task and flag. · After quitting elCIDISDN, the old state will be restored to it's original values if "Man" or "Force" is selected. ============================================================================ elCID V2.2 · elCIDPrefsEvents ---------------------------------------------------------------------------- EVENTS This is the main part of elCID. Because elCID is designed for ALL possible devices, ISDN-cards/modems and similar, we need an allround solution for that. Because each device sends a little bit different strings for all the events which may occur, this events handling is a main part of elCID. The events section offers you an easy to use and GUI driven kind of programming language. This language consists of a small set of commands and variables which are described some lines below. But now see the events main window. This may be a little bit confusing the first time you see it, but if you look a little bit closer (below), you will see, that all is fully easy: ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ___________________________Events___________________________________ | ||About | | ___Devices___ _____________________Events______________________ || ||General | ||device1 | | CMD_StartMon("RING\\r\\n") | || ||Paths | ||device2 | | CMD_SetStartTime() | || ||Devices | || | |IF(CMD_FindEmbedded("FM:", "TO:")) | || ||DeviceInit | || · | | CMD_ConvHexToASCII() | || ||Events | || · | | CMD_SetCondVar(VAR_CallingPartyNumber) | || ||MSNs | || · | |ENDIF() | || ||Phonebook | || | | CMD_StopMon("\\r\\n") | || ||DisplayFormat| || | | | || ||Miscellaneous| || | | | || || | || | | | || || | || | | | || || | || | | | || || | || | | | || || | || | |_________________________________________________| || || | || | _______ ______ ______ ______ _______ _______ || || | || | | Add ||Insert|| Edit || Del || Up || Down | || || | ||_____________| |_______||______||______||______||_______||_______| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ Events: · Devices listview - Here you select the device for which your following "program" is to be used. · Events listview - Here you can see your device specific "program". Each line consists of one or two commands, vars and/or strings. These are described below. · Add - Add a new entry to the events listview and open the events edit window. · Insert - Insert a new entry into the events listview and open the events edit window. · Edit - Edit the selected events entry (opens window too). · Del - Delete the selected events entry without asking you. · Up - Push the selected line one line up. · Down - Same, but other direction, namely down. Some of the above buttons open an so called "Events edit window". This window has to be explained closer. But before we start, we should talk about the background of commands, data types and internal data type format: If you are not familiar with programming a database or in BASIC, Rexx or similar, take a piece of paper and write down the following line: "ALL THIS IS EASY FOR ME !" Now take the paper and pin it to your monitor. What are you thinking now? All easy? O.K. Let's go... All commands using a simple format. To wait for a string to appear in the serial data stream, you only have to select the command and to type one string. There is no need to set any var. If you want to set any var with CMD_SetVar() for example, you have to specify the var first and then type a string with the value the var shoud be set to. The commands ELSE and ENDIF are single and stand alone commands, but IF may have it's parameter (command) in the same line or one line below. See the examples. The last found string is saved in an internal var called condition var. This var you can manipulate (strip spaces for exaple) like you want. After you are finished with preparing this var, you can set it to another var using the command CMD_SetCondVar(). This allows you to find an embedded hex string, strip the spaces, convert it to ASCII and set it to the var VAR_CalledPartyNumber as the calling number for example. All used vars are simple ASCII vars which will be converted internally into the needed format. Setting a var will allways set the corresponding ASCII value first and later, if this var is used, it will be converted into the needed format. You see, all this is very easy! If this was a little bit confusing for you and you are not ready to take off now, please look into the example section. There are several examples with info lines on the right that should be very easy to understand even if you are a expert or beginner. But if you have any questions, don't wait and simply contact  me . NOTICE: When setting up the events, NO logical error checking is done. But a logical error at execution time will NOT crash your machine of course. But you have to take care and read the examples below carefully before starting to make you own events program. If not, this may have various results but not what you wanted! So! Now take a look into the events edit window: ______________________________________________________________________________________ | Events edit | |______________________________________________________________________________________| | ____________________________________________________________________________________ | || device1 || ||____________________________________________________________________________________|| | _Cond_ ______________Command_______________ _________________Var__________________ | || || || || ||IF ||CMD_StartMon ||VAR_CallReferenceValue || ||ELSE ||CMD_StopMon ||VAR_CallingPartyNumber || ||ENDIF ||CMD_Find ||VAR_CalledPartyNumber || || ||CMD_FindEmbedded ||VAR_Direction || || || || || || || · || · || || || · || · || || || · || · || ||______||____________________________________||______________________________________|| | _______________________________________String1______________________________________ | || || ||____________________________________________________________________________________|| | _______________________________________String2______________________________________ | || || ||____________________________________________________________________________________|| | | | ____________________________________________________________________________________ | || || ||____________________________________________________________________________________|| | ____________________________________________________________________________________ | || Use || ||____________________________________________________________________________________|| |______________________________________________________________________________________| · Device text - The field with "device1" in it. Here you see, to which device the current event belongs to. · Cond listview - These "commands" are for controlling the program. · Cmd listview - Inside this listview you can select the command to be executed at this program-position. · Var listview - Here you specify the used var for the selected command. · String1 field - The first string gadget used by several commands. · String2 field - This is the second string gadget where you can type the second string if needed by the command. · Current event - Below "string2". Here you see the complete event line. · Use button - Only for closing the window, because all changes made are executed immediately and will be shown in the overview listview in the main window.  CONDS   COMMANDS   VARS   EXAMPLES  ============================================================================ elCID V2.2 · elCIDPrefsEventsCond ---------------------------------------------------------------------------- COND · IF - IF the specified condition is TRUE (CMD_Find has found the specified string for example) all following lines until ELSE or ENDIF are executed. IF can be a stand alone command or can be paired with an other command in the same line, including all parameters used by this command. · ELSE - If the IF condition was FALSE (searched string NOT found for example) and this command is set, all commands between ELSE and ENDIF are executed. ELSE is stand alone, but only valid if an IF command is specified before! · ENDIF - This marks the end of an IF block or of an IF/ELSE construct. You MUST specify this after you have inserted an IF command (not right after, of course). ============================================================================ elCID V2.2 · elCIDPrefsEventsCommands ---------------------------------------------------------------------------- COMMAND · CMD_StartMon - This command tells elCID to start the monitoring when the string specified in "String1" is found. All other commands which are between this and the CMD_StopMon command are only executed, if the string was found and the corresponding CMD_StopMon string was found too (see there). · CMD_StopMon - Together with CMD_StartMon, this command acts like an IF command: If the CMD_StartMon string was found and this string too, then all commands between these two commands are executed. In all other cases, nothing will be done. All commands outside of these two statements are not affected. · CMD_Find - Search for a string inside the serial data stream. If found, this string will be set to the internal condition string and can be referred later. Together with IF, you can set other vars depending on the occurence of the searched string. · CMD_FindEmbedded - CMD_FindEmbedded requires two strings in "String1" and "String2" fields. If the string specified in "String1" was found, the data stream will be searched for the second string. If also found, the string between these two strings will be set to the internal condition string and can be referred later. · CMD_SetStartTime - This command don't needs any parameters. Together with IF and CMD_Find for example, it can be used to set the call starting time depending on a found string ("CONNECT" for example). · CMD_SetEndTime - Same as above, but sets the call ending time. · CMD_SetBool - With this command you can set any var to TRUE (for some vars it might not be usefull, but possible). TRUE means, that the var will be set to "1". · CMD_UnsetBool - Same as above, but the reverse command: The speci- fied var will be set to FALSE which results in "0". · CMD_SetVar - This sets a var to the specified string "String1". Of course yo can set "0" or "1" to a var too, but better use CMD_SetBool and CMD_UnsetBool. · CMD_UnsetVar - The referred var will be set to an empty string (""). · CMD_SetCondVar - Refers to the internal condition var: If set before (or not), you can set any var to the contents of this condition var (should be set via CMD_Find or CMD_FindEmbedded. · CMD_SendModemString - Sends the specified command to the current device. Note that this works only for "Normal" and "Own- DevUnit" and NOT for patched devices. · CMD_RejectCall - Reject the current active call (with the configured reject string. Note that this works only for "Normal" and "OwnDevUnit" and NOT for patched devices. · CMD_ConvHexToASCII - This command only affects the condition string. If the condition string set by CMD_FindEmbedded is an hex string like "39 36 30 35 32" and this is your called number, you must convert the string to ASCII ("96052") and then set it to the called party number using CMD_SetCondVar. · CMD_StripSpaces - This command if for manipulating the condition string too: If you have a condition string like "96 0 52" you can execute this command and the resulting string will be "96052". Now this can be easy compared by elCID against the called party number for example. · CMD_StripNonNumeric - Similar to CMD_StripSpaces, but this command re- moves every non numeric char from the condition string. If the string was "1 2 3-test-456 " before we have "123456" after this command. ============================================================================ elCID V2.2 · elCIDPrefsEventsVars ---------------------------------------------------------------------------- VAR · VAR_CallReferenceValue - This var holds the call reference value (CRV). The CRV is a value which is unique for each call at a time. · VAR_CallingPartyNumber - Holds the calling number. · VAR_CalledPartyNumber - The called number. · VAR_Direction - If "1", the call is an incoming call, "0" for an outgoing call. · VAR_Channel - "0" for unknown, "1" and "2" for channel B1 or B2 and "3" for ANY channel. · VAR_TypeOfCallerNumber - These two vars can be one of the following VAR_TypeOfCalledNumber values: 0x00 ( 0) - Unknown 0x10 ( 16) - International number 0x20 ( 32) - National number 0x30 ( 48) - Network specific number 0x40 ( 64) - Subscriber number 0x60 ( 96) - Abbreviated number 0x70 (112) - Reserved for extension · VAR_TypeOfCall - The type of call can be one of the following: 0x01 ( 1) - Telephony 0x04 ( 4) - Facsimile Group 2/3 (REC. F.182) 0x11 ( 17) - Slow Scan Video 0x21 ( 33) - Facsimile Group 4 Class 1 (REC. F.184) 0x24 ( 36) - Teletex service, basic and mixed mode 0x28 ( 40) - Teletex service, basic and processable mode 0x31 ( 49) - Teletex service, basic mode of operation 0x32 ( 50) - International interworking for Videotex services 0x35 ( 53) - Telex service (REC. F.60) 0x38 ( 56) - Message Handling Systems (REC. X.400) 0x41 ( 65) - OSI application (REC. X.200) 0x5e ( 94) - Reserved for Maintenance 0x5f ( 95) - Reserved for Management 0x7f (127) - Reserved · VAR_DisconectReason - The reason for disconnecting this call: 0x81 (129) - Unallocated (unassigned) number 0x82 (130) - No route to specified transit network 0x83 (131) - No route to destination 0x86 (134) - Channel unacceptable 0x87 (135) - Call awarded and being delivered in an established channel 0x90 (144) - Normal call clearing 0x91 (145) - User busy 0x92 (146) - No user responding 0x93 (147) - No answer from user (alerted) 0x95 (149) - Call rejected 0x96 (150) - Number changed 0x9a (154) - Non-selected user clearing 0x9b (155) - Destination out of order 0x9c (156) - Invalid number format 0x9d (157) - Facility rejected 0x9e (158) - Response to STATUS ENQUIRY 0x9f (159) - Normal, unspecified 0xa2 (162) - No circuit/channel available 0xa6 (166) - Network out of order 0xa9 (169) - Temporary failure 0xaa (170) - Switching equipment congestion 0xab (171) - Access information discarded 0xac (172) - Requested circuit/channel not available 0xaf (175) - Resources unavailable, unspe- cified 0xb1 (177) - Quality of service unavailable 0xb2 (178) - Requested facility not sub- scribed 0xb9 (185) - Bearer capability not authorized 0xba (186) - Bearer capability not presently available 0xbf (191) - Service or option not avail., unspecified 0xc1 (193) - Bearer capability not imple- mented 0xc2 (194) - Channel type not implemented 0xc5 (197) - Requested facility not imple- mented 0xc6 (198) - Only restricted digital infor- mation bearer capability is available 0xcf (207) - Service or option not imple- mented, unspecified 0xd1 (209) - Invalid call reference value 0xd2 (210) - Identified channel does not exist 0xd3 (211) - A suspended call exists, but this call identity does not 0xd4 (212) - Call identity in use 0xd5 (213) - No call suspended 0xd6 (214) - Call having the requested call identity has been cleared 0xd8 (216) - Incompatible destination 0xdb (219) - Invalid transit network selec- tion 0xdf (223) - Invalid message, unspecified 0xe0 (224) - Mandatory information element is missing 0xe1 (225) - Message type non-existent or not implemented 0xe2 (226) - Message not compatible with call state or message type non- existent or not implemented 0xe3 (227) - Information element non-exis- tent or not implemented 0xe4 (228) - Invalid information element contents 0xe5 (229) - Message not compatible with call state 0xe6 (230) - Recovery on timer expiry 0xef (239) - Protocol error, unspecified 0xff (255) - Interworking, unspecified · VAR_Rejected - This is a boolean value. Set to TRUE if rejec- ted or to FALSE is not. ============================================================================ elCID V2.2 · elCIDPrefsEventsExamples ---------------------------------------------------------------------------- EXAMPLES The following examples describing the use of the events part of elCID. They should make clear, how to set up elCID for specific events which may occur. Use this as a starting point for your own config: This is an example setup for the old vmcisdn0.device V2.2. elCID 1.x sample VMC config worked in the same manner: CMD_StartMon("[08 ##] 05 \\tSETUP\\r\\n") - If the specified string is found, monitoring of the device will start. Because the second hex value is not the same each time, we use the placeholder "#". CMD_SetStartTime() - If we have found the "start monitor"-string, we are setting the current date and time to the start-time var. CMD_SetVar(VAR_Direction, "1") - We know, this is an incoming call. Therefore we can set the direction to "incoming" ("1"). IF(CMD_Find("B1-Channel")) - IF the string "B1-Channel" will be found in the data stream, the used channel is the B1 channel CMD_SetVar(VAR_Channel, "1") - and we can set the channel var to this value. ENDIF() - This only marks the end of the IF block. IF(CMD_Find("B2-Channel")) - The same for channel B2: IF this string found, set the channel var CMD_SetVar(VAR_Channel, "2") - to B2 ("2") ENDIF() - and mark the end of the IF block. IF(CMD_FindEmbedded("6c\\t## ## ", "\\r\\n")) - Now a new command: we are sear- ching for a string which is bet- ween these two strings. In this case, it is the calling party number as a hex string. Therefore, CMD_ConvHexToASCII() - we convert the string (now inside the condition string) to ASCII. A space strip will be done automati- cally. CMD_SetCondVar(VAR_CallingPartyNumber) - After converting, we can set the resulting value to the calling party number and ENDIF() - end this IF-block. IF(CMD_FindEmbedded("70\\tc1 ", "\\r\\n")) - The same procedure for the called party number: Getting the embedded hex coded number, CMD_ConvHexToASCII() - converting it to ASCII and CMD_SetCondVar(VAR_CalledPartyNumber) - setting the resulting string to the called party number var. ENDIF() - And - surprise, we again end the IF-block with ENDIF. CMD_StopMon("\\r\\n\\r\\n") - If, as a last condition, this string is found at the end, all the collected data is valid and will be send to the process module now. THAT'S ALL!! EASY?? Another example (usable for many analog modems): CMD_StartMon("RING\\r\\n") - Wait for the "RING" string to appear. If so, all other commands between CMD_StartMon and CMD_StopMon will be executued. CMD_SetStartTime() - We are setting the call start time like in the other example above. CMD_SetVar(VAR_Direction, "1") - Also, we are setting this call to incoming. IF(CMD_FindEmbedded("FM:", "TO:")) - Now it may be clearer, as in the example above: We are waiting for something like RING FM: 0515396052 TO: 96053 Now also the last person should know, what we are talking about. CMD_StripSpaces() - Because the resulting string in- cludes spaces (" 0515396052 ") we strip all spaces out of the con- dition var and then CMD_SetCondVar(VAR_CallingPartyNumber) - setting the result to the calling party number. ENDIF() - And here we have (again) the IF- block end. IF(CMD_FindEmbedded("TO:", "\\r\\n")) - Because we also want the called number, we do the same as above with some other strings. CMD_StripSpaces() - Because the resulting string in- cludes spaces again (" 96053") we strip all spaces out of the con- dition var and then, CMD_SetCondVar(VAR_CalledPartyNumber) - of course, we set this to the called party number. ENDIF() - And again our nice IF-end. CMD_StopMon("\\r\\n") - Until this point, not more. NOW REALLY ALL SHOULD BE CLEAR!! The last example (bscisdn.device config when in debug mode "ATS9=1"): CMD_StartMon("08 ## ## 05\\r\\nA1") - Wait for this string to appear to start monitor. CMD_SetStartTime() - Again set the call start time. Same as in the other examples. CMD_SetVar(VAR_Direction, "1") - Set to "incoming". IF(CMD_Find("18 <##> 89 ")) - So. This is the channel indi- cator. If found, the call is on channel B1 and CMD_SetVar(VAR_Channel, "1") - we set the channel to "1". ENDIF() - IF-end IF(CMD_Find("18 <##> 8A ")) - Same for channel B2... CMD_SetVar(VAR_Channel, "2") - Set channel to "2" ENDIF() - IF-end (again and again) IF(CMD_FindEmbedded("6C <##> ## ## ", "\\r\\n")) - Let's look, if we find a con- struct like this. It is the calling party number pre and post string. CMD_ConvHexToASCII() - If found, convert the value to ASCII and CMD_SetCondVar(VAR_CallingPartyNumber) - save it in the corresponding var. ENDIF() - IF end IF(CMD_FindEmbedded("70 <##> ## ", "\\r\\n")) - Same as above, but for the called number. CMD_ConvHexToASCII() - Again and again we convert the string into an ASCII value. CMD_SetCondVar(VAR_CalledPartyNumber) - Save result-string to the var. ENDIF() - IF-block end CMD_StopMon("7D <##> 91 81") - If we find this string, all is done and the data is valid. So, hope you understand the concept behind these wild looking commands ;-) If you having any problems finding out, how this part of elCID works, feel free to ask  me . ============================================================================ elCID V2.2 · elCIDPrefsMSNs ---------------------------------------------------------------------------- MSNs Here you specify your MSNs (Multi Subscriber Number). If you only have an analog connection, you have to add your telephone number here. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | _________________________________________________________________ || ||General | ||Name MSN Location | || ||Paths | ||---- --- -------- | || ||Devices | ||Bath 12345 Bathroom, Fax | || ||DeviceInit | ||Kitchen 54321 Kitchen, Internet | || ||Events | || | || ||MSNs | || | || ||Phonebook | ||_________________________________________________________________| || ||DisplayFormat| ||Bath | || ||Miscellaneous| ||_________________________________________________________________| || || | | _________ ___________________________________ || || | |MSN: | | Location: | | || || | | |_________| |___________________________________| || || | | || || | | ___________________ ___________________ ___________________ || || | || Add | | Del | | Sort | || || | ||___________________| |___________________| |___________________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ MSNs: · Listview - Here you see an overview of your configured MSNs. · Name - The name of the selected entry. · MSN - The configured MultiSubscriberNumber. · Location - The location the MSN is configured for. · Add - Pressing this button will add a "» New «" entry to the list. · Del - Deletes an old entry without warning. · Sort - You can sort the MSN list by pressing this button. ============================================================================ elCID V2.2 · elCIDPrefsPhonebook ---------------------------------------------------------------------------- Phonebook: This is the place where you configure the name, address and phone number of all your friends and others. There are two entries called "» Anonymous «" and "» Unknown «". These entries used for calls which are not recognised by number (anonymous) or currently unknown to the phonebook. All other calls will be processed according to the extracted phonenumber. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ ____________________________________________________________________ | ||About | | _________________________________________________________________ || ||General | ||Name City Phone | || ||Paths | ||---- ---- ----- | || ||Devices | ||» Anonymous « | || ||DeviceInit | ||» Unknown « | || ||Events | ||Carsten Scholling Salzhemmendorf 05153-96052 | || ||MSNs | ||VMC St. Leon-Rot 06227-880460 | || ||Phonebook | ||_________________________________________________________________| || ||DisplayFormat| ||Carsten Scholling | || ||Miscellaneous| ||_________________________________________________________________| || || | | ______________ ______________ ______________ ______________ || || | || Edit | | Add | | Del | | Sort | || || | ||______________| |______________| |______________| |______________| || ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ Phonebook: · Listview - Here you see an overview of your configured phonebook entries. · Name - The name of the selected entry. · Edit - Pressing this button let you edit the selected entry. · Add - Pressing this button will add a "» New «" entry to the list. · Del - Deletes an old entry without warning. · Sort - You can sort the phonebook list by pressing this button. When adding or editing (doubleclick) entries, another window called "Phonebook edit" will be opened. If you select one of the special entries, the "Action" page will be shown and the "General" page is disabled. ______________________________________________________________________________________ | Phonebook edit | |______________________________________________________________________________________| | _________________________________________ __________________________________________ | || General | Action || || |__________________________________________|| || _______________________________________________________________________ || ||Forename: | | || || |_______________________________________________________________________| || || _______________________________________________________________________ || ||Surname: | | || || |_______________________________________________________________________| || || _______________________________________________________________________ || ||Street: | | || || |_______________________________________________________________________| || || _________ _____________________________________________________ || ||ZIP: | | City: | | || || |_________| |_____________________________________________________| || || _______________________________________________________________________ || ||Phone: | | || || |_______________________________________________________________________| || || _______________________________________________________________________ || ||Info: | | || || |_______________________________________________________________________| || ||____________________________________________________________________________________|| | ________________________________________ _______________________________________ | || Use | | Cancel | | ||________________________________________| |_______________________________________| | |______________________________________________________________________________________| Phonebook/Edit/General: Should i explain these?? Ok! · Forename - The forename of the person. · Surname - The last name of the person. · Street - The street the person lives in. · ZIP - The ZIP code. · City - The city the person lives in. · Phone - Phone number of that person. · Info - Some information about this person. ______________________________________________________________________________________ | Phonebook edit | |______________________________________________________________________________________| | _________________________________________ __________________________________________ | || General | Action || || | || ||_________________________________________ || || Incoming | Outgoing || || |__________________________________________|| || ______________________________ || || | __ | || || |Show listview text: |__| | _____________________________________________ || || | | | __________________ _______ | || || | __ | | Play sound: |InSound.aiff |#| | Play || || || |Show detail requester: |__| | | |________________|_| |_______|| || || | | | __________________ _______ | || || | __ | | Execute: |InProgram |#| |Execute|| || || |Add logfile text: |__| | | |________________|_| |_______|| || || | | | ____________________________ | || || | __ | | Modem string: | || || || |Reject call: |__| | | |____________________________|| || || | | |_____________________________________________| || || |______________________________| || ||____________________________________________________________________________________|| | ________________________________________ _______________________________________ | || Use | | Cancel | | ||________________________________________| |_______________________________________| | |______________________________________________________________________________________| Phonebook/Edit/Action/Incoming: · Show listview text - If a call occurs, an entry will be added to the listview (elCIDDisplay) if this checkmark is selected. · Show detail requester - Same for the detail requester. If checked, a detail requester is opened and the configured information is shown. · Add logfile text - Adds the call information to the logfile if checked. · Reject call - Reject this call if checked. · Play sound - By pressing the popup button or simply type the name of the soundfile, you select the name of the file to be played when a call comes in. You can use all the  Placeholder  here. · Play (button) - With this button you can check the soundfile by playing it. · Execute (string) - This is the program that is executed when an incoming call is recognised.  Placeholder  are supported too. · Execute (button) - Check the program. · Modem string - here you specify the string that should be sent to the modem when an incoming call is de- tected. ______________________________________________________________________________________ | Phonebook edit | |______________________________________________________________________________________| | _________________________________________ __________________________________________ | || General | Action || || | || | _________________________________________| || || Incoming | Outgoing || ||_________________________________________| || || ______________________________ || || | __ | || || |Show listview text: |__| | _____________________________________________ || || | | | __________________ _______ | || || | __ | | Play sound: |OutSound.aiff |#| | Play || || || |Show detail requester: |__| | | |________________|_| |_______|| || || | | | __________________ _______ | || || | __ | | Execute: |OutProgram |#| |Execute|| || || |Add logfile text: |__| | | |________________|_| |_______|| || || | | | ____________________________ | || || | __ | | Modem string: | || || || |Reject call: |__| | | |____________________________|| || || | | |_____________________________________________| || || |______________________________| || ||____________________________________________________________________________________|| | ________________________________________ _______________________________________ | || Use | | Cancel | | ||________________________________________| |_______________________________________| | |______________________________________________________________________________________| Phonebook/Edit/Action/Outgoing: · Show listview text - If a call occurs, an entry will be added to the listview (elCIDDisplay) if this checkmark is selected. · Show detail requester - Same for the detail requester. If checked, a detail requester is opened and the configured information is shown. · Add logfile text - Adds the call information to the logfile if checked. · Reject call - Reject this call if checked. · Play sound - By pressing the popup button or simply type the name of the soundfile, you select the name of the file to be played when a call goes out. You can use all the  Placeholder  here. · Play (button) - With this button you can check the soundfile by playing it. · Execute (string) - This is the program that is executed when an outgoing call is recognised.  Placeholder  are supported too. · Execute (button) - Check the program. · Modem string - here you specify the string that should be sent to the modem when an outgoing call is de- tected. ============================================================================ elCID V2.2 · elCIDPrefsDisplayFormat ---------------------------------------------------------------------------- DisplayFormat: Here you specify how to display each type of call in elCIDDisplay. All  Placeholder  can be used. In "Detail" and "Logfile" you can specify  Format Codes  too. This window is only an example. You should play with the preferences to see how it works. It is really simple. ______________________________________________________________________________________ | elCIDPrefs - Preferences editor for elCID | |______________________________________________________________________________________| | _____________ _________________________________ __________________________________ | ||About | | Incoming | Outgoing || ||General | | | || ||Paths | | _____________________ _____________________ ______________________ || ||Devices | || Listview | Detail | Logfile ||| ||DeviceInit | || |_____________________|______________________||| ||Events | || ________________________________________________________________ ||| ||MSNs | |||{ccp}|,{cdp} | ##|||| ||Phonebook | |||____________________________________________________________|___|||| ||DispFormat | || ________________________________________________________________ ||| ||Miscellaneous| |||555-STARWARS|,YOUR-NUMBER |||| || | ||| |||| || | ||| |||| || | ||| |||| || | ||| |||| || | ||| |||| || | ||| |||| || | |||________________________________________________________________|||| || | ||__________________________________________________________________||| ||_____________| |____________________________________________________________________|| | | \\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/\\/ The pages are the following: · Incoming - For incoming calls. · Outgoing - For outgoing calls. Both pages offering the following secondary pages: · Listview - Here you specify the listview format for incoming and outgoing calls. · Detail - This is the same for detail requesters. · Logfile - The logfile format. ============================================================================ elCID V2.2 · elCIDPrefsMiscellaneous ---------------------------------------------------------------------------- Miscellaneous: (n/a) $$$ ============================================================================ elCID V2.2 · Format codes ---------------------------------------------------------------------------- FORMAT CODES It is possible to use several formatting codes inside of some preferences fields. Here is an overview: ESC in the following text means '\\033'. This is the octal escape code. '\\n' Start a new line. ESC - Disable text engine, following chars will be printed without further parsing. ESC u Set the soft style to underline. ESC b Set the soft style to bold. ESC i Set the soft style to italic. ESC n Set the soft style back to normal. ESC Use pen number "n" (2..9) as front pen. "n" must be a valid DrawInfo pen. ESC c Center current (and following) line(s). This sequence is only valid at the beginning of a string or after a newline character. ESC r Right justify current (and following) line(s). This sequence is only valid at the beginning of a string or after a newline character. ESC l Left justify current (and following) line(s). This sequence is only valid at the beginning of a string or after a newline character. ============================================================================ elCID V2.2 · Placeholder ---------------------------------------------------------------------------- PLACEHOLDER !!Entries marked with (n/a) are not available currently!! First, two special listview only placeholders: , - Split two entries | - Insert bar into the listview The following placeholders are useable in the whole elCID system: {csd} - Call start date {cst} - Call start time {ced} - Call end date {cet} - Call end time {csw} - Call start weekday {cew} - Call end weekday {ccp} - Calling party number {cdp} - Called party number {cui} - Used channel value (0=unknown, 1, 2, 3=any) {cut} - Used channel text {cdi} - Incoming/outgoing call (0=outgoing, 1=incoming) {cdt} - Incoming/outgoing text {cri} - Rejected value (0=not rejected, 1=rejected) {crt} - Rejected text (if rejected) {cti} - Type of caller numbervalue {ctt} - Type of caller numbertext (n/a) $$$ {cyi} - Type of called numbervalue {cyt} - Type of called numbertext (n/a) $$$ {cpi} - Type of call value {cpt} - Type of call text (n/a) $$$ {cii} - Disconnect reason value {cit} - Disconnect reason text (n/a) $$$ {crv} - Call reference value Now for some listview placeholders: {ucf} - External party forename {ucs} - External party surname {ucn} - External party full name {uct} - External party street {ucz} - External party zip code {ucc} - External party city {uci} - External party info {ucp} - External party sound {uce} - External party execute {ucm} - External party modem string {udf} - Internal party name {uds} - Internal party location The following placeholders are splitted into "incoming" and "outgoing": In: {ucf} - Calling party forename {ucs} - Calling party surname {ucn} - Calling party full name {uct} - Calling party street {ucz} - Calling party zip code {ucc} - Calling party city {uci} - Calling party info {ucp} - Calling party sound {uce} - Calling party execute {ucm} - Calling party modem string {udf} - Called MSN name {uds} - Called MSN location Out: {ucf} - Called party forename {ucs} - Called party surname {ucn} - Called party full name {uct} - Called party street {ucz} - Called party zip code {ucc} - Called party city {uci} - Called party info {ucp} - Called party sound {uce} - Called party execute {ucm} - Called party modem string {udf} - Calling MSN name {uds} - Calling MSN location # - The number-sign can be used in the events part of elCID. It represents a character which is always TRUE (always found). ============================================================================ elCID V2.2 · Register ---------------------------------------------------------------------------- REGISTER elCID is SHAREWARE. Everybody using this program for longer than 3 weeks has to register it  here  by email or snail-mail or must delete the whole installation. For registration, fill out the  registration form , send it to the author and pay the shareware fee of DM 30.- ($20 or same amount in other currency). The keyfile will be send to you by email or snail-mail. Address: see  Support . ============================================================================ elCID V2.2 · Updates ---------------------------------------------------------------------------- UPDATES Updates are available on the elCID support page at http://home.t-online.de/home/cscholling/, VMC support BBS (+49-6227-880464) and on Aminet (comm/misc) one or two days later. ============================================================================ elCID V2.2 · Support ---------------------------------------------------------------------------- SUPPORT I attempt to reply to all elCID related mails as fast as possible. But due to my job and programming and some other things ;-), i'm very busy sometimes. Please don't be angry when not receiving an answer next day. Your mail will be read and replied, be sure. You can reach me in the following ways: email1: elcid@galaxy5.com email2: cscholling@t-online.de fidonet: 2:2432/1110.18@fidonet amiganet: 39:170/101.18@amiganet www: http://home.t-online.de/home/cscholling/ snail-mail: Carsten Scholling Großer Lahweg 34 31020 Salzhemmendorf Deutschland Phone: +49-5153-96052 (only weekends) D2: +49-172-8611033 (Normally from 15:00 to 23:00) email to elcid@galaxy5.com is prefered but not necessary. Bank account: Kreissparkasse Hameln-Pyrmont Zweigstelle Salzhemmendorf bank code number: 254 501 10 account number: 101 033 157 ============================================================================ elCID V2.2 · Thanks ---------------------------------------------------------------------------- THANKS · Mainly i have to thank Harald Frank (VMC) for developing the ISDN-Master/Blaster and for his support, helpfull sourcecodes, new devices and so on... · Thanks also go to Frederic Steinfels for the information about CAPI and for the ISDN-Master2 card. Yes Frederic! TELme is in work now... · Many thanks to all the programmers and users who still work with this great machine. They let the Amiga still life on even the time is hard. ============================================================================ elCID V2.2 · FAQ ---------------------------------------------------------------------------- FREQUENTLY ASKED QUESTIONS Not available yet. $$$ ============================================================================ elCID V2.2 · History ---------------------------------------------------------------------------- HISTORY Install_elCID history ===================== - Initial release (01.02.98) - Fixed little bug in "P_Delete" function (caused break) (08.02.98) - Some minor changes (13.02.98) elCID.library history ===================== - Initial release (01.02.98) - Changed ecSendMsg function (19.02.98) elCIDPrefs history ================== - Initial release (01.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Added "StateMon" checkmark inside DeviceFlags (10.02.98) - Changed events handling and internal events format (15.02.98) - Not used device init entries are disabled now (19.02.98) - Added "Use device" checkmark to device part (20.02.98) - Fixed a bug in the device part: Sometimes the device name could be overwritten (24.02.98) - Now opens window after adding listview entries. This avoid some GUI jumping at startup. (24.02.98) - Default entries could be deleted. Oups! (24.02.98) elCIDWatch history ================== - Initial release (01.02.98) - Added StateMon (04.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) elCIDISDN history ================= - Initial release (01.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Fixed some internal data structures (19.02.98) - Added "Use device" check (20.02.98) elCIDSerial history =================== - Initial release (01.02.98) - Rewritten serial code (03.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Some minor changes in buffer handling (14.02.98) - Added "Use device" check (20.02.98) - Added two debug command line options D_BUG and D_HEX (21.02.98) elCIDSerPatch history ===================== - Initial release (01.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Some minor changes in buffer handling (14.02.98) - Added "Use device" check (20.02.98) - Fixed bug in device handling that causes omitting of data. (21.02.98) - With unit 0, device patch was not activated. Fixed (24.02.98) elCIDISDNMon history ==================== - Initial release (01.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) elCIDProcess history ==================== - Initial release (01.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Added serial and serial patch code (15.02.98) - Removed enforcer hit (15.02.98) - Fixed serial events handling and added call reject for analog (19.02.98) elCIDDisplay history ==================== - Initial release (01.02.98) - Only logfile header written. Fixed (06.02.98) - Fixed startup code. Stacksize now 16k (06.02.98) - Fixed a bug that causes an enforcer hit when phonebook or msn are empty (15.02.98) ============================================================================ elCID V2.2 · Future ---------------------------------------------------------------------------- FUTURE I have many ideas for future expansions to elCID. Currently the chat-module and a status monitor are under construction. They will be available soon. · Bubble help in all GUI modules · Module-Status window for elCIDWatch · External address support (use external database for call recognition) · ARexx interfaces for some modules Some other ideas are: · Direct BSC and ITH support (read  About ITH  and  About BSC  for further information) · Telephone module · PatchTerm module for observation of patched devices and normal terminal functions · Fax module · SMS module (Short Message System) like EZPager or alike. ============================================================================ elCID V2.2 · Bugs ---------------------------------------------------------------------------- KNOWN BUGS · Sometimes, elCIDDisplay does no normal call clearing (a call remains active). This is a problem with some analog/audio calls: In this case, only a SETUP message is sent over the D-Channel and elCID is unable to recognise the end of this call. I have done a workaround for these cases. If a new call occurs, the old entries are scanned for a not yet finnished call on the same channel. If found, the old call will be manually cleared and the new one will be added to the list. · When you specify the same placeholder two or more times, you may see some curious results. This is a bug in AmigaOS and not my fault. In future i may include a workaround for these cases, but for now, you should not use the same placeholder more than one time. Some restrictions for this release: · elCIDRapChat is not included · elCIDStateMon is not included · Rejecting a call for direct ISDN (single or global) is not supported yet · Rejecting global for analog part is not supported yet ============================================================================ elCID V2.2 · Disclaimer ---------------------------------------------------------------------------- DISCLAIMER THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ============================================================================ elCID V2.2 · Copyright ---------------------------------------------------------------------------- COPYRIGHT elCID is copyright ©1997-1998 by  Carsten Scholling . All rights reserved. elCID is shareware. This means, that you need a personal keyfile to use the full functionallity of elCID. Details about registration you will find in  Register . After a test period of 3 weeks you MUST register if you want to use it continuously or you have to delete the complete installation. The user (you) will receive a keyfile from me, after registration. This keyfile is for private use only. It must not be shared with other users. Sharing of keyfiles is software piracy! So, please don't do something like that. It is not allowed to sell, change or buy keyfiles from other users without a written permission from the author. All keyfiles are personalized. Only the registered user has the permission to use the keyfile. All executables and the documentation must not be changed in any way, reassembled, patched or something similar, except this is an official patch or update direct from the author. The use of patched or changed executables and documentation is software piracy! YOU ARE NOT ALLOWED to translate the documentation or any executable of elCID, except you are an official translator named by the author. Any changes are a copyright violation!! No profit has to be made by passing on the software. For example a disc containing the package has to cost not more than DM 5.- or same amount in another currency. ============================================================================ elCID V2.2 · AboutVMC ---------------------------------------------------------------------------- ABOUT VMC VMC supports every Amiga ISDN card on the market. This is the reason for primary writing software for the vmcisdnX.device. VMC software will be improved and updated frequently and it is easy to use. All ISDN-Master I user should think about changing to VMC-ISDN, because BSC is not longer supported. ============================================================================ elCID V2.2 · AboutITH ---------------------------------------------------------------------------- ABOUT ITH I am doing a new project since today. A new telephone software for the ISDN-Master II. Therefore i'm doing some CAPI programming that is usefull for elCID too. This means, that elCID will be able to use the CAPI too in future. ============================================================================ elCID V2.2 · AboutBSC ---------------------------------------------------------------------------- ABOUT BSC Because the old BSC software will be no more supported, i think there is no future for the bscisdn.device. This is the reason for me to think about dropping the idea of supporting BSC in future. I'm not sure yet, but the bscisdn.device has no future. So what? Maybe you are able to change my opinion by writing me some email, but i'm not doing such things for two or three people. But let's see... ============================================================================ Hate ---------------------------------------------------------------------------- Hi! Welcome on my secret page ;-) Please note, that i really HATE writing docs! The reason is, that i could do the universe and all around in six days, but for the documentation i need at least the rest of my life... Where the shit is the PI key??? ============================================================================ elCID V2.2 · Index ---------------------------------------------------------------------------- INDEX (n/a) ============================================================================