Bogdan, Is there way to modify the q value of the RURI? say the first contact is of sip transport and I need to rearrange the order so that the this branch(first contact that happens to be a sip branch ) is called after all ws branches? I reiterate the only reason for this that rtpengine will replace media params if sip and ws are handled back to back. https://github.com/sipwise/rtpengine/issues/118 Therefore I in the ideal scenario I will make offers to all ws records at once then all sip clients thereafter.
Thanks, Tito On Mon, Oct 26, 2015 at 4:31 PM, Bogdan-Andrei Iancu <[email protected]> wrote: > Hi Tito, > > yes, the first contact is pushed into RURI and not into contacts. So > additionally you need to check that too. See: > http://www.opensips.org/Documentation/Script-CoreVar-1-11#toc77 > > After 1) did lookup(location) and 2) set the new q values , do > serialize_branches() -> this will re-arrange them according to the q value. > See : > http://www.opensips.org/Documentation/Script-CoreFunctions-1-11#toc44 > > Regards, > > Bogdan-Andrei Iancu > OpenSIPS Founder and Developerhttp://www.opensips-solutions.com > > On 21.10.2015 03:48, Tito Cumpen wrote: > > Bogdan, > > > I tried this > > $var(i) = 0; > > while ($(branch(uri)[$var(i)]) != null && $var(i) < 5) { > > xlog("$$(branch(uri)[$var(i)])=[$(branch(uri)[$var(i)])]\n"); > > if ($(branch(uri)[$var(i)]{uri.transport}) == "ws") { > > xlog(" ws branch found number $var(i) with > URI=[$(branch(uri)[$var(i)])]\n"); > > #remove_branch($var(i)); > > $(branch(q)[$var(i)]) = 380; > > xlog("$(branch(q)[$var(i)]) confirming q value for branch > $(branch(uri)[$var(i)])\n"); > > > } else { > > $var(i) = $var(i) + 1; > > } > > xlog("$(branch(duri)[*]) finished looping through all branches\n"); > > } > > > > but it appears that lookup will only provide the every other branch that > isn't the first. I can't control which AOR is added first or second which I > must do to prioritize ws . Is there anyway to access all of those contacts > and put them in an array? I am hitting a max while loop error here when > there is more than one aor. by default all records get a q value of 1. So I > am attempting to go under the value for all ws aor contacts and serial > fork. Hopefully I'll be able to call all ws contacts in parallel then all > standard sip clients in parallel as they all should posses a q value of 1. > > > Thanks, > > Tito > > > > > > On Tue, Jul 7, 2015 at 7:01 AM, Bogdan-Andrei Iancu <[email protected]> > wrote: > >> Hi Tito, >> >> Try $(branch(uri)[x]{uri.transport}) to get the transport param from the >> URI. >> >> Or, look into the $(branch(socket)[x]{s.select,0,:}) - the proto of the >> sending socket. >> >> Regards, >> >> Bogdan-Andrei Iancu >> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com >> >> On 07.07.2015 12:14, Tito Cumpen wrote: >> >> Bogdan, >> >> >> Thanks for your reply. These variables seem like a step in the right >> direction although it raises another question as to how to access the >> branches and check the destination proto. How does one access the array of >> branches? Would they have to be casted and lopped and checked against a >> regex? *dP seems to provide the proto but what would be provided in the >> case of various destination protos as in the case of sip and ws?* >> >> >> *Thanks,* >> *Tito* >> >> On Thu, Jul 2, 2015 at 9:31 AM, Bogdan-Andrei Iancu <[email protected]> >> wrote: >> >>> Hi Tito, >>> >>> The registrar module (responsible for extracting the contacts from SIP >>> msg and storing into USRLOC) takes the q value from the Contact header (as >>> SIP RFC requires). >>> Currently there is no way to change the q value (from script level) >>> before saving into USRLOC. >>> >>> But what you can do is to change the q values after the lookup (when >>> loaded into msg from USRLOC). >>> >>> Take a look at branch variable $branch(q) : >>> http://www.opensips.org/Documentation/Script-CoreVar-2-1#toc22 >>> and $ru_q (q value for RURI) : >>> http://www.opensips.org/Documentation/Script-CoreVar-2-1#toc77 >>> >>> and you may change the q values and do a serialize_branches() after that. >>> >>> Best regards, >>> >>> Bogdan-Andrei Iancu >>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com >>> >>> On 01.07.2015 19:57, Tito Cumpen wrote: >>> >>> Group, >>> >>> >>> Is it possible to set the q value upon registration? I need to set ws >>> destinations to a lower q value as rtpengine has a limitation on sending >>> different media params on a per branch basis in parallel. Or should I loop >>> into the branches with a certain attribute and order them before >>> serializing them? >>> >>> >>> >>> _______________________________________________ >>> Users mailing >>> [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
