All
Here the KDMQ reqest from the node that comes online:
------------------
Kamailio start on 10.20.8.89, sends a request to the active node
10.20.8.88
------------------
KDMQ sip:usrloc@10.20.8.88:5063 SIP/2.0
Via: SIP/2.0/UDP
10.20.8.89:5063;branch=z9hG4bKd5bb.c2abf9b4000000000000000000000000.0
To: <sip:usrloc@10.20.8.88:5063>
From:
<sip:usrloc@172.17.0.2:5063>;tag=eeb67b6ee91998d3c4ad015de5249b76-7d61
CSeq: 10 KDMQ
Call-ID: 58f8ada547fd5ba0-225(a)172.17.0.2
Content-Length: 12
User-Agent: kamailio (5.1.8 (x86_64/linux))
Max-Forwards: 1
Content-Type: application/json
{"action":3}
SIP/2.0 200 OK
Via: SIP/2.0/UDP
10.20.8.89:5063;branch=z9hG4bKd5bb.c2abf9b4000000000000000000000000.0
To:
<sip:usrloc@10.20.8.88:5063>;tag=616b7acb681ed5e9cbc485b3faa09d62.f2b6
From:
<sip:usrloc@172.17.0.2:5063>;tag=eeb67b6ee91998d3c4ad015de5249b76-7d61
CSeq: 10 KDMQ
Call-ID: 58f8ada547fd5ba0-225(a)172.17.0.2
Server: kamailio (5.1.8 (x86_64/linux))
Content-Length: 0
-----------------
But after this to response from 10.20.8.88 back to 10.20.8.89 with the
usrloc data. If i replace the primary node that should send the usrloc
info with the original kamailio server that is not running in docker i
see a KDMQ usrloc@... back to the server that is starting with all the
usrloc data in the body.
Let me know if you need more details or debug logs.
Thanks,
Jan
jenus(a)cyberchaos.nl schreef op 2019-06-18 08:51:
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@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(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
[1]>;tag=616b7acb681ed5e9cbc485b3faa09d62.0a3d
> From:
> <sip:notification_peer@10.10.10.13:5060
[2]>;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
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(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
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org