[SR-Users] dmq_is_from_node() issue

Asgaroth 00asgaroth00 at gmail.com
Wed Jul 22 17:00:05 CEST 2015


Hi Robert,

Thanks for the suggestion, however, I already have that module parameter 
enabled as described in the original post :-) :

modparam("dmq", "server_address", DMQ_ADDRESS)
modparam("dmq", "notification_address", "sip:lb.domain.com:5060")
*modparam("dmq", "multi_notify", 1) *
modparam("dmq", "num_workers", 4)

Thanks

On 22/07/2015 15:49, Robert Boisvert wrote:
> You might want to consider this function: 
> http://kamailio.org/docs/modules/4.3.x/modules/dmq.html#dmq.p.multi_notify
>
> On Wed, Jul 22, 2015 at 10:25 AM, Asgaroth <00asgaroth00 at gmail.com 
> <mailto:00asgaroth00 at gmail.com>> wrote:
>
>     sorry, I forgot to mention, this is with Kamailio v4.3.1:
>
>     # kamailio -V
>     version: kamailio 4.3.1 (x86_64/linux) f38e67
>     flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS,
>     USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM,
>     SHM_MMAP, PKG_MALLOC, F_MALLOC, DBG_F_MALLOC, 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_LISTEN
>     16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
>     poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>     id: f38e67
>     compiled on 18:15:23 Jul 20 2015 with gcc 4.4.7
>
>     Thanks
>
>
>     On 22/07/2015 15:22, Asgaroth wrote:
>
>         Hi All,
>
>         I have an issue with the dmq_is_from_node() function, whereby
>         it does not detect a node is on the bus if it has been removed
>         from its "table" due to previously failed, i presume, ping
>         requests.
>
>         I have the following snippet in my main routing block:
>
>         if(is_method("KDMQ")) {
>                 if (dmq_is_from_node()) {
>                     dmq_handle_message();
>                     exit;
>                 } else {
>                     xlog("L_INFO", "KDMQ message recieved from node
>         not on our bus!! ($si:$sp) Dropping.");
>                     exit;
>                 }
>             }
>
>         I have the following dmq module parameters enabled for dmq:
>
>         modparam("dmq", "server_address", DMQ_ADDRESS)
>         modparam("dmq", "notification_address",
>         "sip:lb.domain.com:5060 <http://lb.domain.com:5060>")
>         modparam("dmq", "multi_notify", 1)
>         modparam("dmq", "num_workers", 4)
>
>         DMQ_ADDRESS is set to each of the addresses in the
>         lb.domain.com <http://lb.domain.com> for each local kamailio
>         instance
>
>         lb.domain.com <http://lb.domain.com> resolves to the following
>         addresses:
>             10.6.0.109
>             10.6.0.110
>             10.6.0.111
>
>         If I start up the 1st instance of kamailio and do not start
>         the other 2 within the default ping timout then I get the
>         expected log message of dmq removing the nodes from its table,
>         for example:
>
>         kamailio[26657]: ERROR: dmq [notification_peer.c:588]:
>         notification_resp_callback_f(): deleting server
>         sip:10.6.0.111:5060 <http://10.6.0.111:5060> because of failed
>         request
>         kamailio[26657]: ERROR: dmq [notification_peer.c:588]:
>         notification_resp_callback_f(): deleting server
>         sip:10.6.0.110:5060 <http://10.6.0.110:5060> because of failed
>         request
>
>         However, if I then start one, or both, of the other nodes,
>         then the KDMQ requests are dropped due to my snippet above, I
>         presume, because dmq_is_from_node() checks its "active" table.
>         See messages below as an example of the above snippet in action:
>
>         kamailio[26656]: INFO: <script>: KDMQ message recieved from
>         node not on our bus!! (10.6.0.110:5060
>         <http://10.6.0.110:5060>) Dropping.
>         kamailio[26656]: INFO: <script>: KDMQ message recieved from
>         node not on our bus!! (10.6.0.111:5060
>         <http://10.6.0.111:5060>) Dropping.
>
>         Is this expected behaviour from the dmq_is_from_node()
>         function? I would have expected it to always check the
>         addresses resolved in the notification address, or am I using
>         this function in a manner not intended.
>
>         Any suggestions/tips would be greatly appreciated.
>
>         Thanks
>
>
>
>     _______________________________________________
>     SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>     list
>     sr-users at lists.sip-router.org <mailto:sr-users at lists.sip-router.org>
>     http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150722/d5f1729a/attachment.html>


More information about the sr-users mailing list