<div dir="ltr">P.S. <span style="font-size:12.8px">python_exec("www_</span><wbr style="font-size:12.8px"><span style="font-size:12.8px">authenticate") does not do any magic here, it's just figures out the right domain to use based on some business rules and then calls www_authenticate() with that parameter.</span></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 17, 2017 at 11:12 AM, Maxim Sobolev <span dir="ltr"><<a href="mailto:sobomax@sippysoft.com" target="_blank">sobomax@sippysoft.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="m_6911824313400074143gmail_signature"><div dir="ltr">Hi guys,</div><div dir="ltr"><br></div><div>We are underway to migrate from ancient SER-2.0.0 to more modern OpenSIPS and one of the question that is still in my TODO list is implementing transactional processing of the REGISTER requests. In the old SER we had something along those lines:</div><div><br></div><div><div>route[3] {</div><div>        # Ensure that all incoming messages contain auth info</div><div>        xlog("L_INFO", "processing %rm received from %si:%sp");</div><div>        if (!t_newtran()) {</div><div>                sl_send_reply("500", "could not create transaction");</div><div>                break;</div><div>        };</div><div>        if (!python_exec("www_<wbr>authenticate")) {</div><div>                xlog("L_INFO", "challenging %ct");</div><div>                if (is_avp_set("s:digest_<wbr>challenge")) {</div><div>                        append_to_reply("%$digest_<wbr>challenge");</div><div>                };</div><div>                t_reply("401", "Unauthorized");</div><div>                break;</div><div>        };</div><div>       [....some more unrelated processing and checks...]</div><div>        xlog("L_INFO", "saving contact %ct into the database");<br></div><div>        save_noreply("location");</div><div>        if (is_avp_set("s:contact")) {</div><div>                append_to_reply("%$contact");</div><div>        };</div><div>        t_reply("$code", "$reason");</div><div>}</div></div><div><br></div><div>The idea here is to avoid possibly costly DB lookup and other checks on each possible re-transmit. What would be the proper way of doing this with the OpenSIPS 2.1? Or if it's not possible to replicate such scheme, what would be the best way to implement this which to get the change accepted into the OpenSIPS mainline?</div><div><br></div><div>Any ideas, pointers, hints are greatly appreciated. Thanks in advance!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Maxim</div></font></span></div>
</div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Maksym Sobolyev<br>Sippy Software, Inc.<br>Internet Telephony (VoIP) Experts<br>Tel (Canada): +1-778-783-0474<br>Tel (Toll-Free): +1-855-747-7779<br>Fax: +1-866-857-6942<br>Web: <a href="http://www.sippysoft.com" target="_blank">http://www.sippysoft.com</a><br>MSN: <a href="mailto:sales@sippysoft.com" target="_blank">sales@sippysoft.com</a><br>Skype: SippySoft<br></div></div>
</div>