[SR-Users] Modify DMQ 200OK in on_reply route

Charles Chance charles.chance at sipcentric.com
Tue Jun 18 11:33:29 CEST 2019


Hi Jan,

What happens if you set the dmq server address to the advertised address?

listen=udp:172.17.0.2:5063 advertise 10.20.8.88:5063
modparam("dmq", "server_address", "*sip:10.20.8.88:5063
<http://10.20.8.88:5063>*")

Cheers,

Charles


On Tue, 18 Jun 2019 at 07:53, <jenus at cyberchaos.nl> wrote:

> Julien,
>
> I have the following config:
>
> Host ip: 10.20.8.88  Internal container ip:  172.17.0.2
>
>
> listen=udp:172.17.0.2:5063 advertise 10.20.8.88:5063
>
>
> # ----- dmq params -----
> modparam("dmq", "server_address", "sip:172.17.0.2:5063")
> modparam("dmq", "num_workers", 4)
> modparam("dmq", "ping_interval", 90)
> modparam("dmq", "notification_address",
> "sip:sip12.voip.domain.test:5063")      (on the other node this is
> sip11.domain.test)
> modparam("dmq", "multi_notify", 1)
>
> # ----- dmq_usrloc params -----
> modparam("dmq_usrloc", "enable", 1)
> modparam("dmq_usrloc", "sync", 1)
> modparam("dmq_usrloc", "batch_msg_contacts", 50)  # 50 contacts /
> message
> modparam("dmq_usrloc", "batch_size", 10000)       # 10000 contacts /
> batch
> modparam("dmq_usrloc", "batch_usleep", 500000)    # one batch every
> 500ms
>
>
> Here is the output of the kamcmd dmq.list_nodes
>
> root at 9d81434d491f:/# kamcmd dmq.list_nodes
> {
>          host: 10.20.8.89
>          port: 5063
>          resolved_ip: 10.20.8.89
>          status: active
>          last_notification: 0
>          local: 0
> }
> {
>          host: 10.20.8.88
>          port: 5063
>          resolved_ip: 10.20.8.88
>          status: active
>          last_notification: 0
>          local: 0
> }
> {
>          host: 172.17.0.2
>          port: 5063
>          resolved_ip: 172.17.0.2
>          status: active
>          last_notification: 0
>          local: 1
> }
>
>
> I will collect some traces as well of the sync request as requested by
> Charles.
>
> Thanks,
>
> Jan
>
> Julien Chavanton schreef op 2019-06-17 21:00:
> > Can you share the settings you are using :
> >
> > modparam("dmq", "server_address", "?")
> > modparam("dmq", "notification_address", "?")
> >
> > On Mon, Jun 17, 2019 at 11:30 AM <jenus at cyberchaos.nl> wrote:
> >
> >> Hi all,
> >>
> >> Is there any other way to filter DMQ peers? I now have a issue with
> >> dmq_usrloc when running in a docker container. When the node comes
> >> online the peer is sending the KDMQ usrloc packet (with the
> >> registered
> >> contacts) to the internal container ip and not the actual external
> >> ip.
> >> Both ip's show up as DMQ peers, after a few keepalive failures the
> >> dmq
> >> peer with the internal container ip becomes inactive and no updates
> >> are
> >> sent to that peer. But the usrloc sync seems to happen before the
> >> peer
> >> is inactive.
> >>
> >> I tried to strip the peers with the internal container ip's, this
> >> works
> >> for the requests, but i'm not able to fix this for the responses.
> >>
> >> Thanks,
> >>
> >> Jan
> >>
> >> jenus at cyberchaos.nl schreef op 2019-05-02 08:59:
> >>> Hi all,
> >>>
> >>> I'm trying to run a kamailio DMQ node inside a docker container.
> >> All
> >>> works fine but i have one issue with DMQ. Since the kamailio
> >> process
> >>> inside the container is behind a nat i have set the advertise
> >> address
> >>> to the external ip, this works fine for the via headers but DMQ
> >> keeps
> >>> sending the internal interface in the KDMQ notification_peer
> >> messages.
> >>> The external ip is in there as well. Example:
> >>>
> >>> SIP/2.0 200 OK
> >>> Via: SIP/2.0/UDP
> >>> 10.10.10.13;branch=z9hG4bK2dcb.c6326de2000000000000000000000000.0
> >>> To:
> >>> <sip:notification_peer at 10.10.10.94:5060
> >> [1]>;tag=616b7acb681ed5e9cbc485b3faa09d62.0a3d
> >>> From:
> >>> <sip:notification_peer at 10.10.10.13:5060
> >> [2]>;tag=e8f29c06c4b85a188f6533f08d60feb6-ff29
> >>> CSeq: 10 KDMQ
> >>> Call-ID: 17042656602ca532-23367 at x.x.x.x
> >>> Content-Type: text/plain
> >>> Server: kamailio (5.1.4 (x86_64/linux))
> >>> Content-Length: 222
> >>>
> >>> sip:10.10.10.13:5060;status=active
> >>> sip:10.10.10.12:5060;status=active
> >>> sip:10.10.10.92:5060;status=active
> >>> sip:10.10.10.93:5060;status=active
> >>> sip:10.10.10.94:5060;status=active   <-- entry for container
> >> external
> >>> ip
> >>> sip:172.17.0.2:5060;status=disabled  <-- entry for container
> >> internal
> >>> ip
> >>>
> >>>
> >>> I tried to strip this entry using the replace_body_atonce in the
> >>> tm:local-request route. This works fine for the KDMQ request, but
> >> when
> >>> i try to remove the same line from 200OK responses that are send
> >> out
> >>> as a response to incomming KDMQ messages this seems to fail. I use
> >> the
> >>> following code:
> >>>
> >>> # Working code (for outgoing KDMQ requests):
> >>> event_route [tm:local-request]
> >>> {
> >>> if(is_method("KDMQ") && $rU == "notification_peer")
> >>> replace_body_atonce("sip:172.17.0.*:5060;status=.*", "");
> >>> }
> >>>
> >>> # Failing code (for 200OK responses):
> >>> reply_route
> >>> {
> >>> xlog("L_ALERT", "REPLY: Sending out reply, tU is $tU  rs is
> >> $rs\n");
> >>> if ($rs == "200" && $tU == "notification_peer")
> >>> {
> >>> replace_body_atonce("sip:172.17.0.*:5060;status=.*", "");
> >>> }
> >>> }
> >>>
> >>>
> >>> I'm running kamailio 5.1.4. Is there a way to strip a line from
> >> the
> >>> body of a local generated 200OK response? Or is there a way to
> >> avoid
> >>> that DMQ inserts the internal container ip in the first place.
> >>>
> >>>
> >>> Thanks,
> >>>
> >>> Jan Hazenberg
> >>>
> >>>
> >>> _______________________________________________
> >>> Kamailio (SER) - Users Mailing List
> >>> sr-users at lists.kamailio.org
> >>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> >>
> >> _______________________________________________
> >> Kamailio (SER) - Users Mailing List
> >> sr-users at lists.kamailio.org
> >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> >
> >
> > Links:
> > ------
> > [1] http://sip:notification_peer@10.10.10.94:5060
> > [2] http://sip:notification_peer@10.10.10.13:5060
> > _______________________________________________
> > Kamailio (SER) - Users Mailing List
> > sr-users at lists.kamailio.org
> > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>


-- 
*Charles Chance*
Managing Director

t. 0330 120 1200    m. 07932 063 891

-- 
Sipcentric Ltd.
                Company registered in England & Wales no. 
7365592. Registered
                office: Faraday Wharf, Innovation 
Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190618/b9489fb8/attachment.html>


More information about the sr-users mailing list