Hi all!
I am having some difficulties/doubts on what would be the best approach to let multiple Kamailio servers share their SIP sessions between each other. The goal is to have HA on Kamailio cluster such that if a call is received and initiated on Kamailio #1, and during any moment of the call (before or while established) if the server #1 goes down or Kamailio stops working for any reason, the call can be processed by Kamailio server #n available in the cluster. I do not want to mess with Virtual IPs or DNS, that is not the point, but instead need to get a proper way to share SIP sessions between Kamailio servers such that any server could continue the call without issue.
I have checked the Dialog and DMQ module, but I am not sure if that is the way to go....
Could any one share a solution for this?
Greatly appreciated.
Cheers,
*Sérgio Charrua*
*www.voip.pt http://www.voip.pt/*
That would require transaction replication, which Kamailio doesn't have.
Most messages can be processed statelessly, so this isn't a huge obstacle. However, CANCELs won't work.
On 27 Feb 2024, at 06:49, Sergio Charrua via sr-users sr-users@lists.kamailio.org wrote:
Hi all!
I am having some difficulties/doubts on what would be the best approach to let multiple Kamailio servers share their SIP sessions between each other. The goal is to have HA on Kamailio cluster such that if a call is received and initiated on Kamailio #1, and during any moment of the call (before or while established) if the server #1 goes down or Kamailio stops working for any reason, the call can be processed by Kamailio server #n available in the cluster. I do not want to mess with Virtual IPs or DNS, that is not the point, but instead need to get a proper way to share SIP sessions between Kamailio servers such that any server could continue the call without issue.
I have checked the Dialog and DMQ module, but I am not sure if that is the way to go....
Could any one share a solution for this?
Greatly appreciated.
Cheers,
Sérgio Charrua www.voip.pt
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
In theory if you set the record-route to a DNS name and not an Ip address, then endpoints should be able to failover within a dialog - but as Alex says - transactions may fail. In many cases there are retry timers to restart transactions that fail.
This means that if a call starts with an INVITE transaction on one server, it should in theory be able to find another server for the BYE. Whether this DNS srv based fail over is implemented in end-points is up to testing to prove. If not, then virtual IP failover is your best friend.
/O
On 27 Feb 2024, at 13:33, Alex Balashov via sr-users sr-users@lists.kamailio.org wrote:
That would require transaction replication, which Kamailio doesn't have.
Most messages can be processed statelessly, so this isn't a huge obstacle. However, CANCELs won't work.
On 27 Feb 2024, at 06:49, Sergio Charrua via sr-users sr-users@lists.kamailio.org wrote:
Hi all!
I am having some difficulties/doubts on what would be the best approach to let multiple Kamailio servers share their SIP sessions between each other. The goal is to have HA on Kamailio cluster such that if a call is received and initiated on Kamailio #1, and during any moment of the call (before or while established) if the server #1 goes down or Kamailio stops working for any reason, the call can be processed by Kamailio server #n available in the cluster. I do not want to mess with Virtual IPs or DNS, that is not the point, but instead need to get a proper way to share SIP sessions between Kamailio servers such that any server could continue the call without issue.
I have checked the Dialog and DMQ module, but I am not sure if that is the way to go....
Could any one share a solution for this?
Greatly appreciated.
Cheers,
Sérgio Charrua www.voip.pt
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Thanks Alex & Olle! I've done some tests with Keepalived for Virtual IP failover, and I found that it works more or less as you mentioned, Olle: if an Invite comes from Server #1, and that server gets offline, the BYE will indeed be correctly processed by Server #2.
Isn't DMQ supposed to handle this? as i understand, DMQ sends the SIP messages to other servers, so wouldn't it be enough? (I assume, I haven't tested DMQ yet.... )
*Sérgio Charrua*
*www.voip.pt http://www.voip.pt/* Tel.: +351 callto:+351+91+104+12+6691 631 11 44
Email : *sergio.charrua@voip.pt sergio.charrua@voip.pt*
This message and any files or documents attached are strictly confidential or otherwise legally protected.
It is intended only for the individual or entity named. If you are not the named addressee or have received this email in error, please inform the sender immediately, delete it from your system and do not copy or disclose it or its contents or use it for any purpose. Please also note that transmission cannot be guaranteed to be secure or error-free.
On Tue, Feb 27, 2024 at 2:20 PM Olle E. Johansson via sr-users < sr-users@lists.kamailio.org> wrote:
In theory if you set the record-route to a DNS name and not an Ip address, then endpoints should be able to failover within a dialog - but as Alex says - transactions may fail. In many cases there are retry timers to restart transactions that fail.
This means that if a call starts with an INVITE transaction on one server, it should in theory be able to find another server for the BYE. Whether this DNS srv based fail over is implemented in end-points is up to testing to prove. If not, then virtual IP failover is your best friend.
/O
On 27 Feb 2024, at 13:33, Alex Balashov via sr-users <
sr-users@lists.kamailio.org> wrote:
That would require transaction replication, which Kamailio doesn't have.
Most messages can be processed statelessly, so this isn't a huge
obstacle. However, CANCELs won't work.
On 27 Feb 2024, at 06:49, Sergio Charrua via sr-users <
sr-users@lists.kamailio.org> wrote:
Hi all!
I am having some difficulties/doubts on what would be the best approach
to let multiple Kamailio servers share their SIP sessions between each other.
The goal is to have HA on Kamailio cluster such that if a call is
received and initiated on Kamailio #1, and during any moment of the call (before or while established) if the server #1 goes down or Kamailio stops working for any reason, the call can be processed by Kamailio server #n available in the cluster.
I do not want to mess with Virtual IPs or DNS, that is not the point,
but instead need to get a proper way to share SIP sessions between Kamailio servers such that any server could continue the call without issue.
I have checked the Dialog and DMQ module, but I am not sure if that is
the way to go....
Could any one share a solution for this?
Greatly appreciated.
Cheers,
Sérgio Charrua www.voip.pt
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only
to the sender!
Edit mailing list options or unsubscribe:
-- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to
the sender!
Edit mailing list options or unsubscribe:
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
On Tue, Feb 27, 2024 at 3:36 PM Sergio Charrua via sr-users < sr-users@lists.kamailio.org> wrote:
Thanks Alex & Olle! I've done some tests with Keepalived for Virtual IP failover, and I found that it works more or less as you mentioned, Olle: if an Invite comes from Server #1, and that server gets offline, the BYE will indeed be correctly processed by Server #2.
Isn't DMQ supposed to handle this? as i understand, DMQ sends the SIP messages to other servers, so wouldn't it be enough? (I assume, I haven't tested DMQ yet.... )
nope
the dialog must be processed by the same (ip address) server, only reliable way for multiple kamailios is virtual ip moved by keepalived (etc)
-giovanni
Better use corosync and pacemaker to keeep call audio flow during moving virtual IP using master-slave redis
--- I'm SoCIaL, MayBe
El 27/02/2024 a las 9:07 a. m., Sergio Charrua via sr-users escribió:
Thanks Alex & Olle! I've done some tests with Keepalived for Virtual IP failover, and I found that it works more or less as you mentioned, Olle: if an Invite comes from Server #1, and that server gets offline, the BYE will indeed be correctly processed by Server #2.
Isn't DMQ supposed to handle this? as i understand, DMQ sends the SIP messages to other servers, so wouldn't it be enough? (I assume, I haven't tested DMQ yet.... )
*Sérgio Charrua*
*www.voip.pt http://www.voip.pt/* Tel.: +351 callto:+351+91+104+12+6691 631 11 44
Email : *sergio.charrua@voip.pt*
This message and any files or documents attached are strictly confidential or otherwise legally protected.
It is intended only for the individual or entity named. If you are not the named addressee or have received this email in error, please inform the sender immediately, delete it from your system and do not copy or disclose it or its contents or use it for any purpose. Please also note that transmission cannot be guaranteed to be secure or error-free.
On Tue, Feb 27, 2024 at 2:20 PM Olle E. Johansson via sr-users sr-users@lists.kamailio.org wrote:
In theory if you set the record-route to a DNS name and not an Ip address, then endpoints should be able to failover within a dialog - but as Alex says - transactions may fail. In many cases there are retry timers to restart transactions that fail. This means that if a call starts with an INVITE transaction on one server, it should in theory be able to find another server for the BYE. Whether this DNS srv based fail over is implemented in end-points is up to testing to prove. If not, then virtual IP failover is your best friend. /O > On 27 Feb 2024, at 13:33, Alex Balashov via sr-users <sr-users@lists.kamailio.org> wrote: > > That would require transaction replication, which Kamailio doesn't have. > > Most messages can be processed statelessly, so this isn't a huge obstacle. However, CANCELs won't work. > >> On 27 Feb 2024, at 06:49, Sergio Charrua via sr-users <sr-users@lists.kamailio.org> wrote: >> >> Hi all! >> >> I am having some difficulties/doubts on what would be the best approach to let multiple Kamailio servers share their SIP sessions between each other. >> The goal is to have HA on Kamailio cluster such that if a call is received and initiated on Kamailio #1, and during any moment of the call (before or while established) if the server #1 goes down or Kamailio stops working for any reason, the call can be processed by Kamailio server #n available in the cluster. >> I do not want to mess with Virtual IPs or DNS, that is not the point, but instead need to get a proper way to share SIP sessions between Kamailio servers such that any server could continue the call without issue. >> >> I have checked the Dialog and DMQ module, but I am not sure if that is the way to go.... >> >> Could any one share a solution for this? >> >> Greatly appreciated. >> >> Cheers, >> >> >> Sérgio Charrua >> www.voip.pt <http://www.voip.pt> >> >> >> __________________________________________________________ >> Kamailio - Users Mailing List - Non Commercial Discussions >> To unsubscribe send an email to sr-users-leave@lists.kamailio.org >> Important: keep the mailing list in the recipients, do not reply only to the sender! >> Edit mailing list options or unsubscribe: > > -- > Alex Balashov > Principal Consultant > Evariste Systems LLC > Web: https://evaristesys.com > Tel: +1-706-510-6800 > > __________________________________________________________ > Kamailio - Users Mailing List - Non Commercial Discussions > To unsubscribe send an email to sr-users-leave@lists.kamailio.org > Important: keep the mailing list in the recipients, do not reply only to the sender! > Edit mailing list options or unsubscribe: __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email tosr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Maybe. It's another one of those things where you might spend 99% of your effort for that 0.1% marginal gain...
On 27 Feb 2024, at 14:58, Social Boh via sr-users sr-users@lists.kamailio.org wrote:
Better use corosync and pacemaker to keeep call audio flow during moving virtual IP using master-slave redis
I'm SoCIaL, MayBe El 27/02/2024 a las 9:07 a. m., Sergio Charrua via sr-users escribió:
That’s a huge marginal gain! Most of the time is 0.01% or less. :-)
High availability is for hardware failures, not for software failures. If there’s an issue in one node in the cluster and that node goes down, the next node in the cluster will have the same issue and it will go down the same way.
-ovidiu
On Tue, Feb 27, 2024 at 17:04 Alex Balashov via sr-users < sr-users@lists.kamailio.org> wrote:
Maybe. It's another one of those things where you might spend 99% of your effort for that 0.1% marginal gain...
On 27 Feb 2024, at 14:58, Social Boh via sr-users <
sr-users@lists.kamailio.org> wrote:
Better use corosync and pacemaker to keeep call audio flow during
moving virtual IP using master-slave redis
I'm SoCIaL, MayBe El 27/02/2024 a las 9:07 a. m., Sergio Charrua via sr-users escribió:
-- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
On 27 Feb 2024, at 18:34, Ovidiu Sas osas@voipembedded.com wrote:
That’s a huge marginal gain! Most of the time is 0.01% or less. :-)
High availability is for hardware failures, not for software failures. If there’s an issue in one node in the cluster and that node goes down, the next node in the cluster will have the same issue and it will go down the same way.
I strongly agree with all of that. It's rare that someone truly gets this, and I salute you, sir.
A 3rd category of downtime exists with unplanned maintenance and human error. While there are plenty of best practices to avoid these, in practice they do happen (e.g. early in lifecycle of projects) and you may be grateful for failover capabilities.
On Tue, Feb 27, 2024 at 8:10 PM Alex Balashov via sr-users < sr-users@lists.kamailio.org> wrote:
On 27 Feb 2024, at 18:34, Ovidiu Sas osas@voipembedded.com wrote:
That’s a huge marginal gain! Most of the time is 0.01% or less. :-)
High availability is for hardware failures, not for software failures.
If there’s an issue in one node in the cluster and that node goes down, the next node in the cluster will have the same issue and it will go down the same way.
I strongly agree with all of that. It's rare that someone truly gets this, and I salute you, sir.
-- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Then to find out in those 0.1% that Corosync replicates the issue to the node it replaces in 60% of the cases where you would have utilised it.
On 28 Feb 2024, at 8:16 am, Alex Balashov via sr-users sr-users@lists.kamailio.org wrote:
Maybe. It's another one of those things where you might spend 99% of your effort for that 0.1% marginal gain...
On 27 Feb 2024, at 14:58, Social Boh via sr-users sr-users@lists.kamailio.org wrote:
Better use corosync and pacemaker to keeep call audio flow during moving virtual IP using master-slave redis
I'm SoCIaL, MayBe El 27/02/2024 a las 9:07 a. m., Sergio Charrua via sr-users escribió:
-- Alex Balashov Principal Consultant Evariste Systems LLC Web: https://evaristesys.com Tel: +1-706-510-6800
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
On 27 Feb 2024, at 18:50, Richard Edmands thesirdmz@gmail.com wrote:
Then to find out in those 0.1% that Corosync replicates the issue to the node it replaces in 60% of the cases where you would have utilised it.
And the other 40% are outages caused by some bug or malfunction in the fancy HA gewgaws -- outages that wouldn't have happened at all if not for your HA stuff.
It's not worth it.