<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 27 Jul 2016, at 14:01, Jonathan Hunter <<a href="mailto:hunterj91@hotmail.com" class="">hunterj91@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Calibri; font-size: 16px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class=""><div class=""><br class="Apple-interchange-newline">Hi Guys,</div><div class=""><br class=""></div><div class="">So currently on our network we have a kamailio server which users register against, we then replicate the register messages to 2 Asterisk boxes sat behind it so that all entities are aware of the registration state of the users.</div><div class=""><br class=""></div><div class="">REGISTER--->KAMAILIO---->ASTERISK A</div><div class="">                    ---->ASTERISK B</div><div class=""><br class=""></div><div class="">With a REGISTER---200OK exchange between Kamailio and Asterisk.</div><div class=""><br class=""></div><div class="">We have an issue where at some points the Asterisk servers when under load dont respond with a 200 ok(something being investigated)  to the register messages sent to kamailio, so I am just working on some logic for the register message to be resent using the t_replicate and t_set_fr functions.</div><div class=""><br class=""></div><div class="">This works well should both Asterisk servers not respond, however, as I am using replicate and it is parallel forking, if say Asterisk A answers first and is available with a 200ok then that in turn cancels the register message branch being sent to Asterisk B(which I know is fine), however  there could be a scenario where Asterisk B doesnt respond, and we wont know about it to try and resend the Register message, as the branch is cancelled.</div><div class=""><br class=""></div><div class="">Hope that makes sense?</div><div class=""><br class=""></div><div class="">I am looking at checking that both the Asterisk servers have responded and sent a 200ok, which I can grab in an onreply route but Im just wondering if someone has done something similar or has any suggestions as it is tricky to achieve currently.</div><div class=""><br class=""></div><div class="">I have also thought about stateless working but I really need kamailio to keep retransmitting the register until it gets a response.</div><div class=""><br class=""></div><div class="">Many thanks</div></div></div></div></blockquote><br class=""></div><div>In my view you are making a very complex solution. Why do you need to store the same registration in so many places? That’s </div><div>indicating a problem in the architecture.</div><div><br class=""></div><div>/O</div><br class=""></body></html>