<div>Hi Bogdan,</div>
<div> I looked at the serialize_branches and next_branches functions in core and they seem to be doing a similiar thing to the functions load_contacts and next_contacts in LCR.</div>
<div> </div>
<div> In my opinion, serialize_branches should not look at the q-values (that functionality is available through LCR) </div>
<div> This would allow and ease the use of serial forking in additional cases where either </div>
<div> </div>
<div>1. The UA's do not send any q-value in registration but serial forking is required.</div>
<div>2. My case where q-value ordering is required but q-values may not be distinct. (should be possible since userloc orders on q-value by default, correct?? )</div>
<div> </div>
<div> Users who need the behavior (combination of parallel and serial forking) as described in the common ordering in rfc3261 can use the LCR module and others who require serial / parallel forking always can use the core functions.</div>
<div> </div>
<div>Thanks,</div>
<div>Amit</div>
<div> </div>
<div> </div>
<div><br><br> </div>
<div><span class="gmail_quote">On 2/28/08, <b class="gmail_sendername">Amit Sharma</b> <<a href="mailto:amit398@gmail.com">amit398@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi Bogdan,</div>
<div> Your understanding of the requirement is absolutely correct.</div>
<div> </div>
<div> So what I understand from your reply is that this should be achievable with the functionality already available in core. Is that correct? </div>
<div> </div>
<div> Thanks again for a prompt reply. I will focus on the functionality in core to implement the desired behavior.</div>
<div> </div>
<div>Regards,</div>
<div>Amit</div>
<div><span class="q" id="q_1185e9b5ab936d3a_1">
<div> </div>
<div> <br><br> </div>
<div><span class="gmail_quote">On 2/28/08, <b class="gmail_sendername">Bogdan-Andrei Iancu</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bogdan@voice-system.ro" target="_blank">bogdan@voice-system.ro</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Amit,<br><br>Actually both parallel2serial forking support available in openser:<br> 1) LCR module<br>
2) core (see serialize_branches() + next_branches())<br><br>have the q-based ordering (parallel versus serial) built in.<br><br>Som if I understand correctly, you to do ordering based on q value, but<br>you want only serial forking - no parallel forking for the branches with<br>
the same q, right?<br><br>Regards,<br>Bogdan<br><br>Amit Sharma wrote:<br>> Hi Bogdan,<br>> Thanks for the quick reply.<br>><br>> The behavior rfc3261 mentions for using q values is a common<br>> ordering mechanism (Section 16.6) . I guess variants as such would not<br>
> be against rfc3261.<br>><br>> I was suggesting that we could have additional flexibility added to<br>> what the LCR module is currently doing. Otherwise i would almost<br>> rework what is already there in the LCR module (to get list ordered by<br>
> qvalues into AVPs)<br>><br>> A use case for the above request is where contacts for an AOR are<br>> distributed in a system. The UA's come up with qvalue based on there<br>> utilization etc. The idea is to send the call to the contact who has<br>
> been least used. I cannot enforce that the qvalues generated by the<br>> UA's are unique unless I use a sequencing mechanism between the UA's.<br>><br>><br>> Thanks,<br>> Amit<br>><br>><br>
><br>><br>> On 2/27/08, *Bogdan-Andrei Iancu* <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bogdan@voice-system.ro" target="_blank">bogdan@voice-system.ro</a><br>> <mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:bogdan@voice-system.ro" target="_blank">bogdan@voice-system.ro</a>>> wrote:<br>
><br>> Hi Amit,<br>><br>> First of all, the behaviour you want to achieve is against RFC3261<br>> (forking based on q value), but for sure you know better what you<br>> try to<br>> get ;)<br>
><br>> Now, depending where you take the list of destinations from, let's<br>> assume you can get them into AVPs. For how to do serial forking from<br>> AVPs, see:<br>><br>> <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.voice-sistem.ro/docs/avpops/ar01s08.html#ex_serial_forking" target="_blank">http://www.voice-sistem.ro/docs/avpops/ar01s08.html#ex_serial_forking</a><br>
><br>> Regards,<br>> Bogdan<br>><br>><br>> Amit Sharma wrote:<br>> > Hi All,<br>> ><br>> > I am a newbie to this list so please forgive me if the question<br>> below<br>
> > has been discussed before. I could not find anything related so i am<br>> > sending my query.<br>> ><br>> > I have been looking at the LCR module to do serial forking since we<br>
> > want to prioritize contacts based on q values. However, we do<br>> not want<br>> > to fork in parallel to contacts even if they share the same q value.<br>> > AFAIK,this is currently not possible with the LCR module.<br>
> ><br>> > Would it be a good idea to have a parameter (e.g "append-branches")<br>> > in the LCR module which can control the forking behavior when q<br>> value<br>> > of contacts is the same?<br>
> ><br>> > Thanks,<br>> > Amit<br>> ><br>> ><br>> ------------------------------------------------------------------------<br>> ><br>> > _______________________________________________<br>
> > Users mailing list<br>> > <a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Users@lists.openser.org" target="_blank">Users@lists.openser.org</a> <mailto:<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Users@lists.openser.org" target="_blank">Users@lists.openser.org</a>><br>
> > <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.openser.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.openser.org/cgi-bin/mailman/listinfo/users</a><br>> ><br>
><br>><br><br></blockquote></div><br></span></div></blockquote></div><br>