Installation
Prerequisites
- CCM Admin must be installed and initialized before operation of CCM. See CCM Admin Installation.
- node
- python
- supervisor
Procedure
- Create a ccmRoot directory
mkdir ccmRoot
- cd to the ccmRoot directory
cd ccmRoot
- clone https://github.com/markfetherolf/ccm.git
git clone https://github.com/markfetherolf/ccm.git
- rename ccm to the CCM Instance Name
mv ccm demo
- build the CCM web (nodejs) app
cd demo/ccmex/ccm
npm run build
- create the supervisorConfig directory
mkdir supervisorConfig
- cd to the supervisorConfig directory
cd supervisorConfig
- create the conf.d directory
mkdir conf.d
The resulting structure should be as follows:
ccmRoot
├── supervisorConfig
│ ├── supervisord.conf
│ └── conf.d
│ └── demo.conf
└── <CCM Instance Name, e.g. *demo*>>
├── bin
├── ccmx
├── gem
├── common
└── ccmex
└── ccm
Initialization
Initialization requires that CCM Admin has been installed and that Tenants, Campaigns, Queues, and Agents have been added to the database.
The initialization process copies agent information from the CCM Admin database into the CCM Redis memory store. Modifications to (and additions of) individual agent records after initialization are automatically propagated from the database to redis.
Note:
The preceding is true for Agent and Skill data. It does not apply to Campaigns, nor to Call Center Queues. Changes to these entities requires re-executing the initialization process (with "--clear 0" so as not to affect agent or call state).
Also, campaign and queue information is exported by adminReset to .csv files which must be present in the CCM_Instance directory when the CCM processes (the router process in particular) are started. This can be accomplished either by executing adminReset from the CCM_Instance directory (e.g. ...ccmRoot/demo/) or by copying *.csv to the CCM_Instance directory (e.g. ```cp *.csv ...ccmRoot/demo/```)
usage: adminReset.py [-h] [--loglev LOGLEV] [--redisDb REDISDB]
[--gsheet GSHEET] [--clear CLEAR] [--gproject GPROJECT]
[--dbuser DBUSER] [--dbpass DBPASS] [--dbhost DBHOST]
[--dbname DBNAME]
optional arguments:
-h, --help show this help message and exit
--loglev LOGLEV log level: DEBUG, INFO, WARNING, ERROR, CRITICAL
--redisDb REDISDB redis db #
--gsheet GSHEET google spreadsheet name
--clear CLEAR --clear 1 to clear out agents and calls
--gproject GPROJECT google developer project json file
--dbuser DBUSER ccmadmin database userId
--dbpass DBPASS ccmadmin database password
--dbhost DBHOST database host address
--dbname DBNAME database host database name