Hi,
I can take a look at this although I’ll be travelling until next week so
may not get to it until then.
In the meantime, can you send the KDMQ sync request which is sent by the
node which is coming online, along with your DMQ related config and also
the set advertise address line.
Cheers,
Charles
On Mon, 17 Jun 2019 at 19:31, <jenus(a)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(a)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@10.10.10.94:5060
;tag=616b7acb681ed5e9cbc485b3faa09d62.0a3d
From:
<sip:notification_peer@10.10.10.13:5060
;tag=e8f29c06c4b85a188f6533f08d60feb6-ff29
CSeq: 10 KDMQ
Call-ID: 17042656602ca532-23367(a)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(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)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.