---
# System prepended metadata

title: RabbitMQ description

---

# RabbitMQ description

> We used only one instance of RabbitMQ event on schema apear more then one.

## Configuration
### Before v1.4.10.1
![](https://i.imgur.com/pF0LHtx.png)
### After v1.4.10.2
![](https://i.imgur.com/BBGjBlI.png)

### Plugins
1 Check status of RabbitMQ: ```sudo rabbitmqctl status```
2 Check what plugin already enabled: ```sudo rabbitmq-plugins list```
![](https://i.imgur.com/SMfatEk.png)

#### Enable Stomp 

1 Run: ```sudo rabbitmq-plugins enable rabbitmq_stomp```
2 Check if plugin is enabled: ```sudo rabbitmq-plugins list```

#### Enable WebStomp 

1 Run: ```sudo rabbitmq-plugins enable rabbitmq_web_stomp```
2 Check if plugin is enabled: ```sudo rabbitmq-plugins list```

#### Enable Event exchange

1 Run: ```sudo rabbitmq-plugins enable rabbitmq_event_exchange```
2 Check if plugin is enabled: ```sudo rabbitmq-plugins list```

#### Enable wss connetion on Stomp

We need to change ngnix configuration on instance. Then string for connect will be lokked "wss://sockets.rake.ai:3031/ws"

Step 1 Open ssh to instance
![](https://i.imgur.com/Cjm1MFr.png)

Step 2 Change user to SuperUser. Run command ```sudo su```
![](https://i.imgur.com/XMWW4kr.png)

Step 3 Go to folder with nginx configuration. Run command ``` cd /etc/nginx/sites-enabled/```
![](https://i.imgur.com/lOA9Ts4.png)

Step 4 There is one file(commnad ```ls```). 
![](https://i.imgur.com/mcMBNLs.png)

Step 5 Need edit it.Run commnad ```nano sockets-test.rake.ai.con```.
    - Edit value of row ```127.0.0.1:3030``` to ```127.0.0.1:15674```
    - Edit value of row ```location /``` to ```location /ws```
![](https://i.imgur.com/IWhVqzv.png)
Result must be
![](https://i.imgur.com/3DcDKzf.png)

Step 6 Save file. 
    - ctrl+x
    - shift+y
    - enter
Step 7 check of configuration correct. Run command ```nginx -t```
Step 8 If configuration correct then run command ```service nginx reload```

Step 9 Check result on [WebSocket tester](https://websocket.org/echo.html) with value : wss://sockets-test.rake.ai:3031/ws

## List of queues in RabbitMQ
* Rake live chat
    * rakeLiveChat
    * events
* Twilio SMS
    * twilioSms
* Rake Direct
    * rakeDirect
* Rake User Application
    * rakeUserApp
    * inboundRakeUserApp
    * outboundRakeUserApp
* NICE inContact
    * inContact
* Facebook Messenger
    * facebookMessenger
### Base delayed messages flow

![](https://i.imgur.com/fqJQdLO.png)

### Facebook messenger

Queue name: facebookMessenger

Description: Used for sending internal message from core to worker

Queue name: facebookDelayed

Description: 

![](https://i.imgur.com/Sy34Ybn.png)



### Twilio SMS

Queue name: twilioSms

Description: Used for sending internal message from core to worker

Queue name: twilioDelayed

Description: 

![](https://i.imgur.com/sm3TRFS.png)




### NICE inContact

Queue name: inContact

Description: Used for sending internal message from core to worker

Queue name: inContactDelayed

Description: 

![](https://i.imgur.com/Ax4JA94.png)




### Rake User Application

Queue names: rakeUserApp
Description: Used for sending internal message from core to worker

Queue names: inboundRakeUserApp
Description: Used for getting message from rake user application

Queue names: outboundRakeUserApp
Description: Used for sending message to rake user application

Queue name: rakeUserAppDelayed
Description:

![](https://i.imgur.com/CjK2go7.png)




### Rake Live Chat

Queue names: rakeLiveChat
Description: Used for sending internal message from core to worker

![](https://i.imgur.com/bgIbrVs.png)




Queue names: events
Description: Used for getting event 'binding.deleted'

Queue names: rakeLiveChatEvents
Description: 
Specification: https://www.cloudamqp.com/docs/delayed-messages.html

Queue name: rlcEventsDelayed
Description: Used for message with status fail. It waits 10 seconds in delayed queue and then returns to platform queue again

![](https://i.imgur.com/SlfQOsM.png)


### Rake Direct

Queue name: rakeDirect
Description: Used for sending internal message from core to worker



Queue name: rakeDirectDelayed
Description: Used for message with status fail. It waits 10 seconds in delayed queue and then returns to platform queue again

![](https://i.imgur.com/vuosvp8.png)


