Page tree

Applies to VoipNow 3.X.X, 4.X.X!

RabbitMQ is an enterprise messaging system based on the AMQP application layer protocol that provides reliable queuing and routing of messages. VoipNow uses the AMQP standard to pass messages between different components.

This article explains how to work with RabbitMQ.

How to check the server status

To check the status of the RabbitMQ server, take the following steps: 

STEP 1: Connect to your VoipNow server as root using a SSH client (e.g.0 Putty).

STEP 2: Run the following command:

/etc/init.d/rabbitmq status

The output will look like this:

Status of node rabbit@localhost ...
[{pid,4981},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.6.6"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.6"},
      {webmachine,"webmachine","1.10.3"},
      {mochiweb,"MochiMedia Web Server","2.13.1"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.6"},
      {rabbit,"RabbitMQ","3.6.6"},
      {os_mon,"CPO  CXC 138 46","2.3.1"},
      {ssl,"Erlang/OTP SSL application","6.0"},
      {public_key,"Public key infrastructure","0.23"},
      {crypto,"CRYPTO","3.5"},
      {amqp_client,"RabbitMQ AMQP Client","3.6.6"},
      {rabbit_common,[],"3.6.6"},
      {inets,"INETS  CXC 138 49","5.10.6"},
      {mnesia,"MNESIA  CXC 138 12","4.12.5"},
      {compiler,"ERTS  CXC 138 10","5.0.4"},
      {xmerl,"XML parser","1.3.7"},
      {syntax_tools,"Syntax tools","1.6.18"},
      {asn1,"The Erlang ASN1 compiler version 3.0.4","3.0.4"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.2.1"},
      {sasl,"SASL  CXC 138 11","2.4.1"},
      {stdlib,"ERTS  CXC 138 10","2.4"},
      {kernel,"ERTS  CXC 138 10","3.2"}]},
 {os,{unix,linux}},
 {erlang_version,
     "Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:2:2] [async-threads:64] [kernel-poll:true]\n"},
 {memory,
     [{total,87815064},
      {connection_readers,99192},
      {connection_writers,78416},
      {connection_channels,144872},
      {connection_other,493584},
      {queue_procs,77680},
      {queue_slave_procs,0},
      {plugins,220048},
      {other_proc,18529104},
      {mnesia,136560},
      {mgmt_db,1162280},
      {msg_index,51784},
      {other_ets,1612840},
      {binary,26689544},
      {code,27632120},
      {atom,992409},
      {other_system,9894631}]},
 {alarms,[]},
 {listeners,[{clustering,25672,"::"},{amqp,5672,"10.150.12.43"}]},
 {vm_memory_high_watermark,0.4},
 {vm_memory_limit,1590090137},
 {disk_free_limit,250000000},
 {disk_free,6200078336},
 {file_descriptors,
     [{total_limit,63900},
      {total_used,14},
      {sockets_limit,57508},
      {sockets_used,11}]},
 {processes,[{limit,1048576},{used,425}]},
 {run_queue,0},
 {uptime,86267},
 {kernel,{net_ticktime,60}}]

STEP 3: Check if it is listening on the correct port by running the following command:

#> netstat -nlp | grep 5672
tcp        0      0 0.0.0.0:15672           0.0.0.0:*               LISTEN      4981/beam.smp
tcp        0      0 10.150.12.43:5672       0.0.0.0:*               LISTEN      4981/beam.smp
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      4981/beam.smp

How to change the default password

Currently, during installation, VoipNow generates a new username and password to access the RabbitMQ server and save the credentials along with the virutalhost to the /etc/voipnow/main.conf.

To find out these credentials, take the following steps: 

STEP 1: Connect to your VoipNow server as root using a SSH client (e.g.: Putty).

STEP 2: Run cat /etc/voipnow/main.conf as shown below. 

#>cat /etc/voipnow/main.conf | grep AMQP_CRED
AMQP_CREDENTIALS main:3a3a450a98:a80aaa2c6b:voipnow

If, for some reason, you are forced to create the AMQP user and set the password, you can do with the help of the following command:

#> /usr/local/voipnow/bin/amqpconf.sh
Should be executed as /usr/local/voipnow/bin/amqpconf.sh <username> <password> <vhost>

Taking into account the credentials in STEP 2, the command would be:

/usr/local/voipnow/bin/amqpconf.sh 3a3a450a98 a80aaa2c6b voipnow

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))

Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.