Hello,

you have to provide the version of kamailio for each reported kamailio issue, otherwise is hard to match with the source code. Use 'kamailio -v' to get version details.

Cheers,
Daniel

On 23.04.20 23:36, SamyGo wrote:
Hi,

Is there a way to broadcast KDMQ to the cluster but not expect a reply back !?as far as I've read the source code dmq_bcast_message is exactly like dmq_send_message in a way that it expects a callback to be executed on response i.e expects a reply.

So, the situation I'm facing is I'm broadcasting message to cluster and I do not want a reply back. The following two options result in crash & core dump.

1 - If my script doesn't respond back, by use of dmq_handle_message, it marks the destined servers as "inactive" and stops usrloc sync process which isn't desirable.
2 - If I respond back with the dmq_handle_message it crashes the Kamailio which just received this broadcasted message.

Here is how its done in script:

broadcasting message to cluster:
        dmq_bcast_message("userOnline", "$fu", "text/plain");

Receiving and handling a broadcast message:
route[DMQ_HANDLE] {
    if(!(is_method("KDMQ") || $rm == "KDMQ")) return;
   
    if(is_method("KDMQ") || $rm == "KDMQ"){
            if($rU =~ "userOnline"){
                    //user came online in cluster, resume transactions if-any suspended
                    $avp(remoteUser) = $rb;    
            }
            dmq_handle_message();
            exit;
    }
}

Related log lines:
Apr 23 21:15:48  kamailio[916]: ALERT: <script>: [da2c1-2f499] ------ DMQ_HANDLE: UserOnline Event Received ------
Apr 23 21:15:48  kamailio[916]: DEBUG: dmq [message.c:53]: ki_dmq_handle_message_rc(): dmq_handle_message [KDMQ sip:userOnline@9.8.7.123:5060]
Apr 23 21:15:48  kamailio[916]: DEBUG: dmq [message.c:66]: ki_dmq_handle_message_rc(): dmq_handle_message peer found: userOnline
Apr 23 21:15:48  kamailio[916]: DEBUG: <core> [core/receive.c:437]: receive_msg(): request-route executed in: 401461 usec
Apr 23 21:15:48  kamailio[935]: DEBUG: dmq [worker.c:87]: worker_loop(): dmq_worker [2 935] lock acquired
and crash/segfault..

Core dump: https://pastebin.com/S7ekCPfF

Any help or pointers to solve this would be really appreciated.

Best Regards,
Sammy

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda