if I call dmq_handle_message() all kamailio will dead beacause of loop.


2017-11-20 14:08 GMT+03:00 José Seabra <joseseabra4@gmail.com>:
The 7 dmq messages that the node receives seems that are re-transmissions.
I think that you must call the dmq_handle_message() function within your REDIS route in order to stop re-transmissions, but i'm not sure, make a test please.

Regarding to that ERROR msg that you sent, it seems that your servers have network problems, because  if the DMQ server doesn't receives the 200OK to the DMQ Options the nodes will be removed from the list.

BR
José


2017-11-20 10:56 GMT+00:00 Aidar Kamalov <aidar.kamalov@gmail.com>:
Redis replication is not about multi-master. All kamailio has same dmq settings (except server_address). And I see that ERROR message not always and not only to 192.168.150.225. And it is very strange that kamailio receive 7 sip messages if only one sent.


So, this way to usage dmq right?
    if(is_method("KDMQ")) {
        if($rU == 'redis') {
            route(REDIS);
        } else {
            dmq_handle_message();
        }
    }

I'm no understand this in documentaion "Handles a DMQ message by passing it to the appropriate local peer (module)." What is peer and how to handle it. (in my case I use "redis" and  if($rU == 'redis') )

2017-11-20 13:41 GMT+03:00 José Seabra <joseseabra4@gmail.com>:
You can use Redis replication for that propose(https://redis.io/topics/replication).

Anyway, regarding to the ERROR messages sent, seems that the 192.168.150.225:5060 is with troubles, check if the DMQ options are being transmitted between all nodes.

BR
José

2017-11-20 10:34 GMT+00:00 Aidar Kamalov <aidar.kamalov@gmail.com>:
because (as I know) redis cluster sharding all data over all redis node. by I need all data at all nodes.

2017-11-20 13:24 GMT+03:00 José Seabra <joseseabra4@gmail.com>:
Hello,
Why do you are using DMQ to replicate data across your redis servers since  redis has its own replication mechanisms?

BR
José

2017-11-20 10:12 GMT+00:00 Aidar Kamalov <aidar.kamalov@gmail.com>:
Hello, I want to distribute some messages-actions for redis to my kamailio servers. 
I use this code:
For send:
dmq_bcast_message("redis", "set early:$fU", "text/plain");

For recieve:
request_route {
    xnotice("ROOT: $rm $rU [$ci]");
    if(is_method("KDMQ")) {
        if($rU == 'redis') {
            route(REDIS);
        } else {
            dmq_handle_message();
        }
    }
......
route[REDIS] {
    xnotice("REDIS: $rb");
    redis_cmd("redis", "$rb", "r");
    return;
}

When dmq_bcast_message starts - other node recieve 7 KDMQ sip packets. And not always it executed.
Is it right way to use dmq?

Dmq user locations are ok.

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Cumprimentos
José Seabra

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Aydar A. Kamalov

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Cumprimentos
José Seabra

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Aydar A. Kamalov

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Cumprimentos
José Seabra

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users




--
Aydar A. Kamalov