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 Developer
http://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] <mailto:[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 Developer
    http://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] <mailto:[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 Developer
        http://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 list
        [email protected]  <mailto:[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

Reply via email to