[sr-dev] git:master:f87a6311: kazoo : federation tweaks
Luis Azedo
luis.azedo at factorlusitano.com
Tue Jun 23 10:47:35 CEST 2015
Module: kamailio
Branch: master
Commit: f87a631146c50a3c6e0ef843c5f85120957cb101
URL: https://github.com/kamailio/kamailio/commit/f87a631146c50a3c6e0ef843c5f85120957cb101
Author: Luis Azedo <luis.azedo at factorlusitano.com>
Committer: Luis Azedo <luis.azedo at factorlusitano.com>
Date: 2015-06-23T09:47:14+01:00
kazoo : federation tweaks
---
Modified: modules/kazoo/kazoo.c
Modified: modules/kazoo/kz_amqp.c
---
Diff: https://github.com/kamailio/kamailio/commit/f87a631146c50a3c6e0ef843c5f85120957cb101.diff
Patch: https://github.com/kamailio/kamailio/commit/f87a631146c50a3c6e0ef843c5f85120957cb101.patch
---
diff --git a/modules/kazoo/kazoo.c b/modules/kazoo/kazoo.c
index 4d3b8e9..6366d3b 100644
--- a/modules/kazoo/kazoo.c
+++ b/modules/kazoo/kazoo.c
@@ -59,7 +59,7 @@ int dbk_reconn_retries = 8;
int dbk_presentity_phtable_size = 4096;
int dbk_use_federated_exchange = 1;
-str dbk_federated_exchange = str_init("federate");
+str dbk_federated_exchange = str_init("federation");
str dbk_primary_zone_name = str_init("local");
//int dbk_dialog_expires = 30;
diff --git a/modules/kazoo/kz_amqp.c b/modules/kazoo/kz_amqp.c
index 3894cc8..4b3d6fb 100644
--- a/modules/kazoo/kz_amqp.c
+++ b/modules/kazoo/kz_amqp.c
@@ -1480,14 +1480,16 @@ int kz_amqp_bind_consumer(kz_amqp_conn_ptr kz_conn, kz_amqp_bind_ptr bind, int i
amqp_bytes_t federated_routing_key = {0, 0};
char _federated[100];
- amqp_exchange_declare(kz_conn->conn, chan[idx].channel, bind->exchange, bind->exchange_type, 0, 0, kz_amqp_empty_table);
- if (kz_amqp_error("Declaring exchange", amqp_get_rpc_reply(kz_conn->conn)))
- {
- ret = -RET_AMQP_ERROR;
- goto error;
- }
+ if(bind->federate == 0 || dbk_use_federated_exchange == 0) {
+ amqp_exchange_declare(kz_conn->conn, chan[idx].channel, bind->exchange, bind->exchange_type, 0, 0, kz_amqp_empty_table);
+ if (kz_amqp_error("Declaring exchange", amqp_get_rpc_reply(kz_conn->conn)))
+ {
+ ret = -RET_AMQP_ERROR;
+ goto error;
+ }
+ }
- if(bind->federate == 1 && dbk_use_federated_exchange == 1) {
+ if(bind->federate == 1 && dbk_use_federated_exchange == 1) {
federated_exchange = kz_local_amqp_bytes_dup_from_string(dbk_federated_exchange.s);
amqp_exchange_declare(kz_conn->conn, chan[idx].channel, federated_exchange, bind->exchange_type, 0, 0, kz_amqp_empty_table);
if (kz_amqp_error("Declaring federated exchange", amqp_get_rpc_reply(kz_conn->conn)))
@@ -1504,13 +1506,15 @@ int kz_amqp_bind_consumer(kz_amqp_conn_ptr kz_conn, kz_amqp_bind_ptr bind, int i
goto error;
}
- LM_DBG("QUEUE BIND\n");
- if (amqp_queue_bind(kz_conn->conn, chan[idx].channel, bind->queue, bind->exchange, bind->routing_key, kz_amqp_empty_table) < 0
- || kz_amqp_error("Binding queue", amqp_get_rpc_reply(kz_conn->conn)))
- {
- ret = -RET_AMQP_ERROR;
- goto error;
- }
+ if(bind->federate == 0 || dbk_use_federated_exchange == 0) {
+ LM_DBG("QUEUE BIND\n");
+ if (amqp_queue_bind(kz_conn->conn, chan[idx].channel, bind->queue, bind->exchange, bind->routing_key, kz_amqp_empty_table) < 0
+ || kz_amqp_error("Binding queue", amqp_get_rpc_reply(kz_conn->conn)))
+ {
+ ret = -RET_AMQP_ERROR;
+ goto error;
+ }
+ }
if(bind->federate == 1 && dbk_use_federated_exchange == 1) {
sprintf(_federated, "%.*s%s%.*s", (int)bind->exchange.len, (char*)bind->exchange.bytes,
More information about the sr-dev
mailing list