Skip to content
lordnull edited this page Jul 13, 2011 · 2 revisions

oacd_hop is a plugin for OpenACD. It takes the events generated by OpenACD for agent state changes and media state changes, converts them to protobuf format, and puts them a a given RabbitMQ queue.

If you already have the plugin running without errors, you are ready to checkout the Event Feed.

Installation

This assumes you have OpenACD's plugin folder at /opt/OpenACD/plugins.d.

$ git clone https://github.com/OpenACD/oacd_hop
$ cd oacd_hop
$ ./rebar get-deps compile
$ cp -R plugin/* /opt/OpenACD/plugins.d

If OpenACD is running, attach the shell and have it load the new plugin:

1> cpx:load_plugin(oacd_hop).
ok

Configuration

oacd_hop reads it's configuration from the application env settings. Application env settings are usually set in the config file used when starting the erlang vm. In the case of OpenACD started using devboot, this is usually single.config. When using a full install, it's usually rel/openacd/etc/app.config. The following instructions assume a minimum of editing to the config file.

All the settings are optional, but for obvious reasons you'll want to set username, password, and host at least.

Look for the following two lines:

]},
{sasl, [

Between them put the oacd_hop configuration, so it looks similar to:

]},
{oacd_hop, [
    {username, <<"username_for_rabbitmq">>},
    {password, <<"password_for_rabbitmq">>},
    {virtual_host, <<"virtual/host/path/for/rabbitmq">>},
    {host, <<"rabbitmq.example.com">>},
    {port, 2000},
    {channel_max, 0},
    {frame_max, 0},
    {heartbeat, 0},
    {ssl_options, none},
    {client_properties, []}
]},
{sasl, [

If you've already started and loaded the application in OpenACD, you and unload and reload it:

1> cpx:unload_plugin(oacd_hop).
ok
2> cpx:load_plugin(oacd_hop).
Clone this wiki locally