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
