jamhed / kazoo-docker Goto Github PK
View Code? Open in Web Editor NEWKazoo Docker Deployment
Kazoo Docker Deployment
Hi, just wondering if this project is still maintained? I'm trying to run the script and most of the 2600hz repositories don't exist.
In the current monster-ui image there is a sort function missing from monster.util.js. Since more screens want to use it, this is probably a regression in monster-ui and it breaks quite a few things. If there is a fix for it in monster-ui then would it be possible to update the image ? Thanks in advance.
Thanks for working on these docker images! It makes it really easy to have everything installed, very useful.
I'm running the minimal images on a PC for testing/experimenting purposes. I have problems with calls getting disconnected after 30 sec, due to ACK timeout, and also with not having voice.
I believe that the cause of these issues is that the docker setup implies the scenario of having kazoo behind NAT. Kamailio and Freeswitch however do not seem to be configured for this in the images. In the traces I see that the adresses/ports of the kazoo docker network bridge are communicated to the clients on SIP/SDP. This is a problem e.g. when clients want to send an ACK after receiving a 200 OK with the Freeswitch IP/Port in the SIP contact header.
Would it be possible to have Kamailio/Freeswitch configured by default for this "behind NAT" scenario to modify the relevant SIP headers and communicate the RTP endpoints with a "public" IP? Or is this already taken care of and I have missed something completely obvious ?
the GH repos in monster-ui/build/setup-private.sh no longer exist.
from setup-private.sh
for app in conferences fax debug callqueues operator websockets dialplans voicemails pivot userportal mobile provisioner cluster branding reporting port migration carriers
do
git clone --depth 1 --no-single-branch https://github.com/2600hz/monster-ui-$app $app
done
this is the error I'm getting.
Setup private apps
Cloning into 'conferences'...
Warning: Permanently added the RSA host key for IP address '192.30.253.112' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'fax'...
Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'debug'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'callqueues'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'operator'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'websockets'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'dialplans'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'voicemails'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'pivot'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'userportal'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'mobile'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'provisioner'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'cluster'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'branding'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'reporting'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'port'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'migration'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Cloning into 'carriers'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
The command '/bin/sh -c build/setup-private.sh' returned a non-zero code: 128
the build runs through but when I try to run.sh all containers, kamilio instantly crashes:
$ sudo docker logs a3dcffaa0a8c
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_HOSTNAME!kamailio.kazoo!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_IP_ADDRESS!172.18.0.4!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_AMQP_URL!kazoo://guest:[email protected]:5672!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MY_WEBSOCKET_DOMAIN!2600hz.com!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !UDP_SIP!udp:172.18.0.4:5060!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TCP_SIP!tcp:172.18.0.4:5060!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TLS_SIP!tls:172.18.0.4:5061!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !UDP_ALG_SIP!udp:172.18.0.4:7000!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TCP_ALG_SIP!tcp:172.18.0.4:7000!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TLS_ALG_SIP!tls:172.18.0.4:7001!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TCP_WS!tcp:172.18.0.4:5064!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !UDP_WS_SIP!udp:172.18.0.4:5064!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !TLS_WSS!tls:172.18.0.4:5065!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !UDP_WSS_SIP!udp:172.18.0.4:5065!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !KAZOO_DB_URL!text:///etc/kamailio/dbtext!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !MAX_WHILE_LOOPS!500!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !OPENBTS_AUTH_SECRET!b3a54fa8317c7d9cb1d89d8970947b30eda273124d97fc3a079ccc98ecc2569b!g
0(1) INFO: <core> [core/ppcfg.c:82]: pp_subst_add(): ### added subst expression: !ANTIFLOOD_CACHE_PERIOD!600!g
0(1) WARNING: <core> [core/cfg.y:3387]: warn_at(): warning in config file /etc/kamailio/default.cfg, line 63, column 13: raw socket support not compiled in
0(1) ERROR: <core> [core/sr_module.c:571]: load_module(): could not find module <outbound> in </usr/local/lib64/kamailio/modules>
0(1) : <core> [core/cfg.y:3407]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 90, column 12-24: failed to load module
0(1) ERROR: <core> [core/sr_module.c:571]: load_module(): could not find module <uuid> in </usr/local/lib64/kamailio/modules>
0(1) : <core> [core/cfg.y:3407]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 99, column 12-20: failed to load module
0(1) ERROR: <core> [core/sr_module.c:571]: load_module(): could not find module <kazoo> in </usr/local/lib64/kamailio/modules>
0(1) : <core> [core/cfg.y:3407]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 166, column 12-21: failed to load module
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 167, column 50: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 168, column 51: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 178, column 43: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 180, column 63: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 181, column 47: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 182, column 46: Can't set module parameter
0(1) ERROR: <core> [core/modparam.c:152]: set_mod_param_regex(): No module matching <kazoo> found
0(1) : <core> [core/cfg.y:3410]: yyerror_at(): parse error in config file /etc/kamailio/default.cfg, line 183, column 39: Can't set module parameter
0(1) ERROR: <core> [core/pvapi.c:828]: pv_parse_spec2(): error searching pvar "uuid"
0(1) ERROR: <core> [core/pvapi.c:1032]: pv_parse_spec2(): wrong char [g/103] in [$(uuid(g){s.rm,-})] at [7 (2)]
0(1) : <core> [core/cfg.y:3407]: yyerror_at(): parse error in config file /etc/kamailio/registrar-role.cfg, line 111, column 19-36: Can't get from cache: $(uuid(g){s.rm,-})
ERROR: bad config file (11 errors)
0(1) WARNING: <core> [core/ppcfg.c:221]: pp_ifdef_level_check(): different number of preprocessor directives: N(#!IF[N]DEF) - N(#!ENDIF) = 1
0(1) INFO: <core> [core/sctp_core.c:53]: sctp_core_destroy(): SCTP API not initialized
Hi
I am running run.sh and I am getting this error:
wait for kazoo.kazoo to start (you may check docker logs if impatient)
create master account: failed to validate account properties(error): '{}'
failed
how can i revolve it
perhaps problem is in nsq module
install -m 755 evbuffsock.h /usr/local/include/evbuffsock.h
cc -o command.o -c command.c -g -Wall -O2 -DDEBUG -fPIC
cc -o reader.o -c reader.c -g -Wall -O2 -DDEBUG -fPIC
reader.c: In function 'new_nsq_reader':
reader.c:112:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
ev_timer_init(&rdr->lookupd_poll_timer, nsq_reader_lookupd_poll_cb, 0., 5.);
^
reader.c:112:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reader.c:112:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
reader.c:112:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
cc -o nsqd_connection.o -c nsqd_connection.c -g -Wall -O2 -DDEBUG -fPIC
nsqd_connection.c: In function 'new_nsqd_connection':
nsqd_connection.c:117:9: warning: passing argument 4 of 'new_buffered_socket' makes integer from pointer without a cast
nsqd_connection_connect_cb, nsqd_connection_close_cb,
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: expected 'size_t' but argument is of type 'void ()(struct BufferedSocket *, void *)'
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
nsqd_connection.c:117:37: warning: passing argument 5 of 'new_buffered_socket' makes integer from pointer without a cast
nsqd_connection_connect_cb, nsqd_connection_close_cb,
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: expected 'size_t' but argument is of type 'void ()(struct BufferedSocket , void *)'
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
nsqd_connection.c:118:9: warning: passing argument 6 of 'new_buffered_socket' makes integer from pointer without a cast
NULL, NULL, nsqd_connection_error_cb,
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: expected 'size_t' but argument is of type 'void *'
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
nsqd_connection.c:118:15: warning: passing argument 7 of 'new_buffered_socket' makes integer from pointer without a cast
NULL, NULL, nsqd_connection_error_cb,
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: expected 'size_t' but argument is of type 'void *'
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
nsqd_connection.c:119:9: warning: passing argument 9 of 'new_buffered_socket' from incompatible pointer type
conn);
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: expected 'void ()(struct BufferedSocket , void *)' but argument is of type 'struct NSQDConnection *'
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
nsqd_connection.c:116:16: error: too few arguments to function 'new_buffered_socket'
conn->bs = new_buffered_socket(loop, address, port,
^
In file included from nsq.h:9:0,
from nsqd_connection.c:1:
/usr/local/include/evbuffsock.h:69:24: note: declared here
struct BufferedSocket *new_buffered_socket(struct ev_loop *loop, const char *address, int port,
^
make: ** [nsqd_connection.o] Error 1
Makefile:17: recipe for target 'nsqd_connection.o' failed
install -m 755 -d /usr/local/include
install -m 755 -d /usr/local/lib
install -m 755 libnsq.a /usr/local/lib/libnsq.a
install: cannot stat 'libnsq.a': No such file or directory
Makefile:32: recipe for target 'install' failed
make: *** [install] Error 1
Makefile:107: config.mak: No such file or directory
Best Regards
Robert
This is probably my own lack of knowledge but i was wondering if i could get some pointers.
I set up everything form your script.
I cant hear any audio in the calls both ways.
i think its a free switch port thing. i might be wrong
i installed centos 7 and then converted from firewalld to ip-tables services
then i installed docker and ran your script.
Could you tell me the manual way to set up the RTP ports.
Something's amiss with the new 2600hz/freeswitch:latest
Status: Downloaded newer image for 2600hz/freeswitch:latest
37539677796e983a52ceb67a2416675b608247a1880a427aa13eb4124961fd6f
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"./run-deploy.sh\": stat ./run-deploy.sh: no such file or directory".
@jamhed The image builds of 2600hz/couchdb
of Feb 17 uses couchdb 1.6 which broke the run.sh process as kazoo.kazoo config was pointing to couchdb2's port 5984, resulting in the following error when running ./run.sh:
([email protected])1> 11:37:24.938 info kz_dataconnection.161 trying to connect kazoo_couch
([email protected])1> 11:37:24.940 warning kz_couch_util.338 connection to http://couchdb.kazoo:5984 failed: econnrefused
([email protected])1> 11:37:24.940 info kz_dataconnection.171 failed to connect with kazoo_couch : {error,econnrefused} : #{admin_port => 5986,compact_automatically => true,cookie => change_me,driver => kazoo_couch,ip => "couchdb.kazoo",port => 5984,tag => local}
I built couchdb2 locally and it is working fine. FYI.
is there a possibilitie this could be done with docker-compose....? i see no compose file? other then that
I would also be curious about rancher or DC/OS as an app
Hello,
When we launch containers per given instructions I see this error : in kamailio container logs:
17(31) ERROR: kazoo [kz_amqp.h:299]: kz_amqp_error(): Logging in: (end-of-stream)
17(31) ERROR: kazoo [kz_amqp.c:878]: kz_amqp_connection_open(): Login to AMQP broker failed!
17(31) ERROR: kazoo [kz_amqp.h:299]: kz_amqp_error(): closing connection: (end-of-stream)
9(23) INFO: <script>: connection to rabbitmq.kazoo closed
Also Repeated error in rabbitmq container logs:
failed to negotiate connection parameters: negotiated channel_max = 0 (no limit) is higher than the maximum allowed value (2047)
Also this command (inside rabbitmq container) rabbitmq-diagnostics environment | grep 'channel_max' shows
{channel_max,2047},
Using docker 19.x on CentOS 7.
Below is the output of : sudo docker exec kazoo.kazoo sup kz_nodes status where kamailio is now shown at all:
[centos@ip-172-31-2-82 docker]$ sudo docker exec kazoo.kazoo sup kz_nodes status
Node : [email protected]
md5 : ArGJA-d4jQ8D82HNFBDt7A
Version : 4.0.0 - 19
Memory Usage : 150.00MB
Processes : 1754
Ports : 35
Zone : local
Broker : amqp://rabbitmq.kazoo:5672
Globals : local (1)
Node Info : kz_amqp_pool: 150/0/0 (ready)
WhApps : blackhole(50m51s) callflow(50m50s) cdr(50m50s) conference(50m50s)
crossbar(50m50s) ecallmgr(50m43s) fax(50m48s) hangups(50m48s)
media_mgr(50m48s) milliwatt(50m48s) omnipresence(50m48s) pivot(50m48s)
registrar(50m48s) reorder(50m48s) stepswitch(50m48s) sysconf(50m51s)
teletype(50m48s) trunkstore(50m43s) webhooks(50m43s)
Channels : 0
Registrations : 0
Media Servers : [email protected] (43m43s)
[centos@ip-172-31-2-82 docker]$
Perhaps Kamailio use channel_max as '0' while connecting to rabbitmq?
Please suggest how to fix this problem.
Thanks
Amit
@jamhed, On README.md
, host.sh is missing from the production repo, although referenced in the the README file.
I am thoroughly enthused by the efforts done with 2600hz on kazoo + docker, and the quality of the project thus far! Also if I may, I can contrib the couchdb persistency listed in the TODO. Sending a PR your way once I am able.
EDIT: Also along with host.sh
, get-ip
Great docker work overall! A+
krull
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.