Hi Guys,
I have a quick question wondered if anyone could provide some suggestions please?!
We have a setup of two registrars in EC2 (kamailio 4.4 running on debian VMs) which act in an active/active fashion with a number of devices behind NAT where we use the DMQ dmq_t_replicate function to send the registration details between each server and append the PATH parameter so the registrar the device registered with is always associated with the client device.
This all works fine, the only issue is persistency should we have a failure of one of the registrars, be it process or server and recovering the correct PATH detail so the end device can still be reached.
I have tried this with separate databases with each registrar, which works when using cache and db but I ideally want the same database for the two servers and not change the architecture at this time unless it is a necessary.
I have also tested with dmq_usrloc but this again provides the usrlocation details of the notification servers in the group(not path), again which I understand but I wondered if there is anything else I could try or its just a question of in the event of a failure half the registrations will be effected until it recovers and they re-register again if I dont want to have separate databases (location tables) or I add more network elements into the flow, such as HA pair or load balancer but just want to make sure I have exhausted all options or consider the risk before I look to do this.
Many thanks!
Jon
Hello,
I didn't spent time on understanding the exact issue, but from database point of view, do you want to avoid having two different tables for specific reasons, like external applications accessing it?
Have you looked at setting the server_id, maybe that can help to have the records grouped by each server.
Cheers, Daniel
On 19.02.20 09:40, Jonathan Hunter wrote:
Hi Guys,
I have a quick question wondered if anyone could provide some suggestions please?!
We have a setup of two registrars in EC2 (kamailio 4.4 running on debian VMs) which act in an active/active fashion with a number of devices behind NAT where we use the DMQ dmq_t_replicate function to send the registration details between each server and append the PATH parameter so the registrar the device registered with is always associated with the client device.
This all works fine, the only issue is persistency should we have a failure of one of the registrars, be it process or server and recovering the correct PATH detail so the end device can still be reached.
I have tried this with separate databases with each registrar, which works when using cache and db but I ideally want the same database for the two servers and not change the architecture at this time unless it is a necessary.
I have also tested with dmq_usrloc but this again provides the usrlocation details of the notification servers in the group(not path), again which I understand but I wondered if there is anything else I could try or its just a question of in the event of a failure half the registrations will be effected until it recovers and they re-register again if I dont want to have separate databases (location tables) or I add more network elements into the flow, such as HA pair or load balancer but just want to make sure I have exhausted all options or consider the risk before I look to do this.
Many thanks!
Jon
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Daniel,
Thanks for the reply, I will use the server_id method that should work for changes required.
Many thanks!
Jon
________________________________ From: Daniel-Constantin Mierla miconda@gmail.com Sent: 19 February 2020 12:28 To: Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org; Jonathan Hunter hunterj91@hotmail.com; Kamailio (SER) - Users Mailing List sr-users@lists.sip-router.org Subject: Re: [SR-Users] Active-Active Registrar setup with users behind NAT persistence in event of server failure
Hello,
I didn't spent time on understanding the exact issue, but from database point of view, do you want to avoid having two different tables for specific reasons, like external applications accessing it?
Have you looked at setting the server_id, maybe that can help to have the records grouped by each server.
Cheers, Daniel
On 19.02.20 09:40, Jonathan Hunter wrote: Hi Guys,
I have a quick question wondered if anyone could provide some suggestions please?!
We have a setup of two registrars in EC2 (kamailio 4.4 running on debian VMs) which act in an active/active fashion with a number of devices behind NAT where we use the DMQ dmq_t_replicate function to send the registration details between each server and append the PATH parameter so the registrar the device registered with is always associated with the client device.
This all works fine, the only issue is persistency should we have a failure of one of the registrars, be it process or server and recovering the correct PATH detail so the end device can still be reached.
I have tried this with separate databases with each registrar, which works when using cache and db but I ideally want the same database for the two servers and not change the architecture at this time unless it is a necessary.
I have also tested with dmq_usrloc but this again provides the usrlocation details of the notification servers in the group(not path), again which I understand but I wondered if there is anything else I could try or its just a question of in the event of a failure half the registrations will be effected until it recovers and they re-register again if I dont want to have separate databases (location tables) or I add more network elements into the flow, such as HA pair or load balancer but just want to make sure I have exhausted all options or consider the risk before I look to do this.
Many thanks!
Jon
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-usershttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086897335&sdata=w9rHzQKqhC2XONZjxAEI5rxxw11NwZyl8JT2lg61BpE%3D&reserved=0
-- Daniel-Constantin Mierla -- www.asipto.comhttps://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086907333&sdata=hFrLqAo2sA5yOqHxkgWwWxO%2F4FdxsAPvBSbOkQvX3Jg%3D&reserved=0 www.twitter.com/micondahttps://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086907333&sdata=32OjIMQsM7l3BE6SN4S0F9mrNQ%2ByvqyV2sVJV7MJLgg%3D&reserved=0 -- www.linkedin.com/in/micondahttps://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086917328&sdata=wWFKPE8YJdyhBezzI6uDsD8EMYiiDltpTyNWjh1d%2BDE%3D&reserved=0 Kamailio Advanced Training - March 9-11, 2020, Berlin - www.asipto.comhttps://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086927320&sdata=ClIGG7IEw9xt5gD%2BEYzIG6l%2Byyp1kuEeBVXpMfBDSWQ%3D&reserved=0 Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.comhttps://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kamailioworld.com%2F&data=02%7C01%7C%7C35aeb316e5724148274008d7b53738f1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637177121086937316&sdata=Aj8vXwikpl1MKBp6hMkxZBGbxOii1Y87Bc4GoUWbRHw%3D&reserved=0