Do you use usrloc module with DB_MODE 3 (DB_ONLY) and manually add the records in the location table? If so, what is the exact content you put in the table? (maybe the q value is not properly filled).
Regards, Bogdan Mauro Davi' wrote: > Yes, if I invoke lookup(location) more than one time... > > -----Messaggio originale----- > Da: Bogdan-Andrei Iancu [mailto:[email protected]] > Inviato: martedì 3 marzo 2009 18:34 > A: Mauro Davi' > Cc: [email protected] > Oggetto: Re: R: R: [OpenSIPS-Users] R: R: serialize_branches() and q value.... > > you mean by lookup(location) ? > > Regards, > Bogdan > > Mauro Davi' wrote: > >> Hi Bogdan, >> >> yes I did in this way... But the problem, I think, is that the qvalue aren't >> loaded correctly from the DB. >> >> Regards, >> MD >> >> -----Messaggio originale----- >> Da: Bogdan-Andrei Iancu [mailto:[email protected]] >> Inviato: martedì 3 marzo 2009 18:06 >> A: Mauro Davi' >> Cc: [email protected] >> Oggetto: Re: R: [OpenSIPS-Users] R: R: serialize_branches() and q value.... >> >> Hi Mauro, >> >> serialize_branches() just prepare the sets. >> >> To use the sets (for each q value) you need to call next_branches(). >> >> So, the algorithm should be like this: >> >> route{ >> serialize_branches() >> >> next_branches(); >> >> t_on_failure("1"); >> >> t_relay(); >> } >> >> failure_route[1]{ >> if ( next_branches() ) >> t_relay(); >> } >> >> Regards, >> Bogdan >> >> Mauro Davi' wrote: >> >> >>> Hi Bodan, >>> >>> I think that the serial fork have some problem. >>> >>> On the DB I modified the q value of two user >>> >>> User1, qvalue=0.1 >>> User2, qvalue=0.2 >>> >>> I insert in the script the following line of code: >>> >>> [email protected] >>> Lookup("location"); >>> Append_branch(); >>> [email protected] >>> Lookup("location"); >>> Serialize_branches(); >>> T_relay(); >>> >>> The result was: >>> >>> Mar 2 17:36:53 [26014] DBG:core:serialize_branches: loaded >>> <sip:[email protected]:6685;rinstance=0f314641b36adb7d>, q=-1 q_flag <0> >>> Mar 2 17:36:53 [26014] DBG:core:serialize_branches: loaded >>> <sip:[email protected]:54218;rinstance=e70bfc2dadad8857>, q=100 q_flag >>> <16> >>> >>> The call are correctly serialized but if I add three destinations the >>> result was: >>> >>> Mar 2 17:42:04 [26014] DBG:core:serialize_branches: loaded >>> <sip:[email protected]:6685;rinstance=0f314641b36adb7d>, q=-1 q_flag <0> >>> Mar 2 17:42:04 [26014] DBG:core:serialize_branches: loaded >>> <sip:[email protected]:54218;rinstance=e70bfc2dadad8857>, q=-1 q_flag <0> >>> Mar 2 17:42:04 [26014] DBG:core:serialize_branches: loaded >>> <sip:[email protected]:54218;rinstance=e70bfc2dadad8857>, q=100 q_flag >>> <16> >>> >>> The qvalue aren't inserted correctly... >>> >>> Is it a bug? >>> >>> Thanks in advance >>> MD >>> >>> -----Messaggio originale----- >>> Da: [email protected] >>> [mailto:[email protected]] Per conto di Bogdan-Andrei Iancu >>> Inviato: giovedì 26 febbraio 2009 19:08 >>> A: Mauro Davi' >>> Cc: [email protected] >>> Oggetto: Re: [OpenSIPS-Users] R: R: serialize_branches() and q value.... >>> >>> Hi Mauro, >>> >>> you have to ways to go: >>> >>> 1) use the @domain.com URIs and relay them back to your proxy in order >>> to do lookup >>> >>> 2) try to do lookup directly in the first step - the logic you tried. >>> But to work replace the >>> append_branch("$ru","0.1"); >>> with >>> append_branch(); >>> >>> this will take the RURI and add it as a branch, so you can override it >>> with the next user2 URI. >>> >>> Regards, >>> Bogdan >>> >>> Mauro Davi' wrote: >>> >>> >>> >>>> Hi Bogdan, >>>> >>>> I have a little problem... >>>> >>>> In this way I can serialize a set of know called party (i.e. with the sip >>>> address in the form sip:usern...@ipaddress:port)... >>>> >>>> But I cannot add, for example the following branch: >>>> >>>> Append_branch("sip:[email protected]","0.1") >>>> Append_branch("sip:[email protected]","0.2") >>>> Append_branch("sip:[email protected]","0.3") >>>> >>>> Because the result is a misrouted call (i.e. the requested sip uri isn't >>>> reacheable...). >>>> >>>> So I thought to add a RURI after invoked the lookup function... >>>> >>>> Somethink like this: >>>> >>>> $ru="sip:[email protected]"; >>>> lookup("location"); >>>> #Now $ru contain the resolved URI of user1 >>>> append_branch("$ru","0.1"); >>>> $ru="sip:[email protected]"; >>>> lookup("location"); >>>> #Now $ru contain the resolved URI of user2 >>>> append_branch("$ru","0.2"); >>>> $ru="sip:[email protected]"; >>>> lookup("location"); >>>> #Now $ru contain the resolved URI of user3 >>>> append_branch("$ru","0.3"); >>>> >>>> But I didn't had the expected result... I cannot use pseudo-variable in >>>> the append_branch function... >>>> >>>> Could you tell me how I can solve this problem? There is a work-around? Or >>>> is there a correct way to call a group of user associated to a SIP URI via >>>> serial forking? >>>> >>>> Thank in andvance >>>> MD >>>> >>>> -----Messaggio originale----- >>>> Da: Bogdan-Andrei Iancu [mailto:[email protected]] >>>> Inviato: mercoledì 25 febbraio 2009 15:14 >>>> A: Mauro Davi' >>>> Cc: [email protected] >>>> Oggetto: Re: R: [OpenSIPS-Users] serialize_branches() and q value.... >>>> >>>> Hi Mauro, >>>> >>>> (sorry for mistyping your name in the first place) >>>> >>>> the correct way to inject a q value via the append_branch is: >>>> Append_branch("sip:[email protected]", 10 ); >>>> >>>> Regards, >>>> Bogdan >>>> >>>> >>>> Mauro Davi' wrote: >>>> >>>> >>>> >>>> >>>>> Hi Bogdan, >>>>> >>>>> Thanks for the reply. But I have only one question... >>>>> >>>>> Is it possible to set the branches qvalue from a script code? >>>>> >>>>> I try samething like: >>>>> >>>>> Append_branch(); >>>>> $ru="sip:[email protected];q=0.1" >>>>> >>>>> Or: >>>>> >>>>> Append_branch("sip:[email protected];q=0.1"); >>>>> >>>>> But the log result is ever: >>>>> >>>>> "DBG:core:serialize_branches: nothing to do - all same q!" >>>>> >>>>> Coould you help me, please? >>>>> >>>>> Thanks a lot >>>>> MD >>>>> >>>>> >>>>> -----Messaggio originale----- >>>>> Da: Bogdan-Andrei Iancu [mailto:[email protected]] >>>>> Inviato: mercoledì 25 febbraio 2009 14:54 >>>>> A: Mauro Davi' >>>>> Cc: [email protected] >>>>> Oggetto: Re: [OpenSIPS-Users] serialize_branches() and q value.... >>>>> >>>>> Hi Marco, >>>>> >>>>> before getting into your script, just some important notice about SIP, >>>>> forking and q value... >>>>> >>>>> According to RFC 3261 (and how the serialize_branches() works), when you >>>>> have a set of destinations with different q values, the forking must >>>>> work like this: >>>>> >>>>> 1) order the entire set based on the q value >>>>> 2) select all dsts that have as q value the min q val from the set (of >>>>> course all of the selected dsts will have the q) >>>>> 3) do parallel forking with the selected dsts >>>>> 4) if still failed, remove the used dsts and go back to step 2 (serial >>>>> forking). >>>>> >>>>> >>>>> So, this is actually a combination of serial and parallel forking - the >>>>> dsts with different q will be serial forked, but dsts with the same q >>>>> will be parallel forked. >>>>> >>>>> Regards, >>>>> Bogdan >>>>> >>>>> Mauro Davi' wrote: >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Hi All, >>>>>> >>>>>> I saw the documentation but it is to much difficult for me J (really I >>>>>> think that the folloeing information is missed...), so I have a question. >>>>>> >>>>>> The below script code add two new destination to my voip platform, >>>>>> [email protected] and [email protected] <mailto:[email protected]>. >>>>>> >>>>>> The first one works great, but the second one have the same behaviour >>>>>> of the first one... >>>>>> >>>>>> The question is: How I can specify the q value of every branches? >>>>>> >>>>>> Thanks in advance. >>>>>> >>>>>> MD >>>>>> >>>>>> if(uri=~"^sip:parallel@" || uri=~"^sip:serial@" ) >>>>>> >>>>>> { >>>>>> >>>>>> xlog("L_INFO","Check passed!!!\n"); >>>>>> >>>>>> $var(i)=0; >>>>>> >>>>>> while ($var(i) < 2) >>>>>> >>>>>> { >>>>>> >>>>>> xlog("L_INFO","Cycle Enter $var(i), RURI:$ru\n"); >>>>>> >>>>>> if ($var(i) == 0) >>>>>> >>>>>> { >>>>>> >>>>>> $ru="sip:[email protected]"; >>>>>> >>>>>> } >>>>>> >>>>>> else >>>>>> >>>>>> { >>>>>> >>>>>> append_branch(); >>>>>> >>>>>> $ru="sip:[email protected]"; >>>>>> >>>>>> } >>>>>> >>>>>> alias_db_lookup("dbaliases"); >>>>>> >>>>>> if (is_uri_host_local()) >>>>>> >>>>>> { >>>>>> >>>>>> # -- Inbound to inbound >>>>>> >>>>>> if(uri=~"^sip:[0-9]+@") >>>>>> >>>>>> { >>>>>> >>>>>> # only route numeric users to PSTN >>>>>> >>>>>> t_on_failure("2"); >>>>>> >>>>>> route(5); >>>>>> >>>>>> } >>>>>> >>>>>> route(6); >>>>>> >>>>>> } >>>>>> >>>>>> else >>>>>> >>>>>> { >>>>>> >>>>>> # -- Inbound to outbound >>>>>> >>>>>> # Here we must check the to domain to verify if >>>>>> >>>>>> # we can send the request to a corporate SBC >>>>>> >>>>>> sl_send_reply("403", "Forbidden"); >>>>>> >>>>>> exit; >>>>>> >>>>>> } >>>>>> >>>>>> $var(i) = $var(i) + 1; >>>>>> >>>>>> xlog("L_INFO","Cycle Leave $var(i), RURI:$ru"); >>>>>> >>>>>> } >>>>>> >>>>>> if (uri=~"^sip:serial@") >>>>>> >>>>>> { >>>>>> >>>>>> setbflag(10); >>>>>> >>>>>> serialize_branches(1); >>>>>> >>>>>> } >>>>>> >>>>>> route(3); >>>>>> >>>>>> exit; >>>>>> >>>>>> } >>>>>> >>>>>> ------------------------------------------------------------------------ >>>>>> >>>>>> _______________________________________________ >>>>>> Users mailing list >>>>>> [email protected] >>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>> _______________________________________________ >>> Users mailing list >>> [email protected] >>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >>> >>> >>> >>> >> >> > > > _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
