Hi Jan,
What happens if you set the dmq server address to the advertised
address?
listen=udp:172.17.0.2:5063 [1] advertise 10.20.8.88:5063 [2]
modparam("dmq", "server_address", "SIP:10.20.8.88:5063
[2]")
Cheers,
Charles
On Tue, 18 Jun 2019 at 07:53, <jenus(a)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 [1] advertise 10.20.8.88:5063 [2]
# ----- dmq params -----
modparam("dmq", "server_address", "sip:172.17.0.2:5063
[1]")
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 [3]
> [1]>;tag=616b7acb681ed5e9cbc485b3faa09d62.0a3d
>> From:
>> <sip:notification_peer@10.10.10.13:5060 [4]
> [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
--
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.
Links:
------
[1]
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org