<p>It's a nice idea, but to implement would be quite complex/involved. Firstly, there would likely need to be the concept of a master node along with some mechanism for voting/election. Also, there would need to be changes across all 4 modules (dmq, dmq_usrloc, usrloc and nathelper) to make it work. On top of that, we'd need to consider what happens when a node is restored and takes back its IP.</p>
<p>In any case, to select the correct node to take over keepalives, we'd need to know where the IP had been (re)assigned. In your current setup, how do you decide which host takes over the IP (if at all) in the event of a failure?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/1299#issuecomment-341771689">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZT_qHWPIWH00dXHms7jpUuzaBwkPks5sy0xJgaJpZM4QPgdU">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZY4I4DvnGzh5z4qcSIowJGhcDkUAks5sy0xJgaJpZM4QPgdU.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/issues/1299#issuecomment-341771689"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"PERSON","message":"@charlesrchance in #1299: It's a nice idea, but to implement would be quite complex/involved. Firstly, there would likely need to be the concept of a master node along with some mechanism for voting/election. Also, there would need to be changes across all 4 modules (dmq, dmq_usrloc, usrloc and nathelper) to make it work. On top of that, we'd need to consider what happens when a node is restored and takes back its IP.\r\n\r\nIn any case, to select the correct node to take over keepalives, we'd need to know where the IP had been (re)assigned. In your current setup, how do you decide which host takes over the IP (if at all) in the event of a failure?"}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1299#issuecomment-341771689"}}}</script>