Hi Asgaroth,
I'm using dmq and I haven't seen a msg get passed this:
# Handles DMQ messages
if (is_method("KDMQ")) {
dmq_handle_message();
}
That said, just to make sure it's not some work-in-progress happening on
master branch, give it a try on latest stable release (v5.1.4) to see if
you find the same behavior. I haven't tried on master but on v5.1.4 I'm not
seeing that behavior.
Are you manually replicating stuff using dmq functions or are you taking
advantage of auto-replication using modparam enable_dmq=1 on certain
modules?
Joel.
On Tue, Jul 31, 2018 at 9:01 AM, Asgaroth <00asgaroth00(a)gmail.com> wrote:
Hi All,
I've come across and oddity whereby my is_method("KDMQ") checks are not
matching.
I'm testing with kamailio master:
version: kamailio 5.2.0-dev6 (x86_64/linux) a16272
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE,
USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC,
TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT,
USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST,
HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024,
BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: a16272
compiled on 15:27:21 Jul 31 2018 with gcc 7.3.1
Sample routing logic:
request_route {
route("InitialMessageChecks");
exit;
}
route[InitialMessageChecks] {
xlog("L_INFO", "Received message type $rm from $si:$sp on
$Ri:$Rp");
if ( is_method("KDMQ") ) { xlog("L_INFO", "KDMQ check
passed."); }
if ( is_method("OPTIONS") ) { xlog("L_INFO", "OPTIONS check
passed.");
}
if ( is_method("SUBSCRIBE") ) { xlog("L_INFO", "SUBSCRIBE
check
passed."); }
}
In the logs I am only receiving the 1st log line in the initial message
checks route for message types of KDMQ, eg:
INFO: <script>: Received message KDMQ from 1.1.1.1:5060 on 1.1.1.2:5060
INFO: <script>: Received message KDMQ from 1.1.1.3:5060 on 1.1.1.2:5060
I never seem to hit the is_method check log line when the method type is
KDMQ.
I do see the options/subscribe logs though:
INFO: <script>: OPTIONS check passed.
INFO: <script>: SUBSCRIBE check passed.
nothing for KDMQ.
Reason for asking is: this check never matches and breaks the dmq bus:
if ( is_method("KDMQ") ) {
if ( dmq_is_from_node() ) {
dmq_handle_message();
exit;
} else {
exit;
}
}
Any thoughts, or am I going crazy :)
Thanks
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users