meicd - Max Event Interface Client Daemon

From the README file:


UNIX command line run daemon that connects to Nortel Meridian MAX MEI TCP/IP ports.
Records PBX event information for use in generating reports and and tracking call flow.

meicd is a client daemon for the Meridian Max mei protocols. It
can decode mei-network and mei-observe events into comma separated value
format which are written to separate log files for each event type or to a named pipe so the
data can be processed by another program reading from the pipe. The mei protocols are
real time and meicd will write events to file or pipe within 60 seconds
of receiving them.

For those familiar with MTE and the Agent Status Display, then an example of an event is when an
agent's state changes from WAIT to ACD. meicd records the event with details such as time, queue, position,
agentid and the state they changed to. This is just one type of event of the 27 different events that can
be recorded.


Developers of Meridian Max 3rd party add-ons.
Technicians (myself) - troubleshoot callcenter problems.
                     - collect statistics.


Program does not yet support multiple queue assignment.
The Nortel MSI/MEI protocol reference manual is available at

From the INSTALL file:

So far I have only tried compiling it with the SCO Openserver compiler
and gcc on Linux and FreeBSD.
If you are using a different compiler you will have to edit the make file
to ensure your compiler packs structures.

Type "make gcc" if you run Linux, FreeBSD or a system with gcc.
Type "make sco" if you running SCO Openserver.
The make should produce a binary executable called meicd.


Create a directory for meicd to run in. Copy meicd to the directory. Log files
will be automatically created in this directory when meicd runs.

meicd -h will give help:

Usage: meicd -H host -p port -t mei_type
       -t          n (network)
                   o (observe)
       -f          write events to fifo
       -l          write events to event log files
       -F          run in foreground (non-daemon mode)
       -d          debug messages are written to file
       -h          this help file
       -L          show licensing
       -v          informational messages are written to stdout

Typically you would run it like this:

meicd -H -p 44246 -t n -l

This would connect to MAX on IP port 44246 and request
mei-network events (all events) and record events to event log files.

Port 44246 is the mei-network server. Ports 44247, 44248 and
44249 can be used as well but these serve the mei-observe protocol
which is a subset of the mei-network events. To get all the information
available then connect to an mei-network server (44246). If you connect to an
mei-observe server then specify '-t o' for the type of connection. The '-t o'
ensures that only mei-observe events are requested by meicd. If you request
mei-network events from an mei-observe port it will fail.

The mei-network and mei-observe servers will only service one client at a
time so make sure you choose one that is not being used by another CTI application.
ie. don't run two meicd programs at once connecting to the same port.

meicd should immediately record a bunch of INIQ and INIP messages which tell you
about all the queues and positions on the Max system.

You should specify -l or -f (or both) otherwise meicd will be receiving events but
not doing anything with them.

All errors and informational messages are written to special log files but if
you want them displayed to stdout as well then use -v.

It is a good idea to have the system time matched up to the PBX
because some messages (dceq) do not include a PBX timestamp so meicd
will output the dceq message with the system time of the system it is
running on. For this reason the timestamp outputted on a dceq message
can be anywhere from 0-60 seconds incorrectly ahead because it is timestamped
by meicd on write out, not on receive (meicd does not immediately write event
data to file)


LOG     informational messages
ERRORS  error messages, warnings and fatals
*.log   the CSV log file for an event type (see README for output format and field descriptions)
DROPBUF hexdump of a packet that caused a warning or error
psc.log  This and the following log files store each store their respective events.

Download / Go to summary page Logo

Valid HTML 4.01!