[OpenSIPS-Users] Creating branches inside a while loop

mayamatakeshi mayamatakeshi at gmail.com
Wed Sep 28 13:26:36 UTC 2022


On Wed, Sep 28, 2022 at 2:21 PM mayamatakeshi <mayamatakeshi at gmail.com>
wrote:

> Hi,
> I'm testing latest commit b243666098be44226ade6a7df2b62851efcb5de8 of
> opensips-3.2.
>
> I tested adding branches to an INVITE for a fixed size list of AORs this
> way:
>
>             $var(aors) = "sip:user1 at test1.com,sip:user2 at test1.com,
> sip:user3 at test1.com";
>
>             seturi($(var(aors){s.select,0,,}));
>
>             append_branch();
>             seturi($(var(aors){s.select,1,,}));
>
>             append_branch();
>             seturi($(var(aors){s.select,2,,}));
>
>             lookup("location", "r")
>
> The above works fine and all 3 destinations resolved by AOR lookup are
> called (max of contact per AOR).
>
> However, in case of a a list of unknown size, I tried to use a while loop
> like this:
>             $var(aors) = "sip:user1 at test1.com,sip:user2 at test1.com,
> sip:user3 at test1.com";
>
>             $var(idx) = 0;
>             $var(aor) = $(var(aors){s.select,$var(idx),,});
>
>             while($var(aor) != null) {
>                 seturi($var(aor));
>
>                 $var(idx) = $var(idx) + 1;
>                 $var(aor) = $(var(aors){s.select,$var(idx),,});
>             }
>
>             lookup("location", "r")
>
> But with the above, only the last destination (lookup of user3 at test1.com)
> is called.
> I confirmed this is not related to the lookup function because I tried
> with fixed destinations like this:
>
>             $var(aors) = "sip:user1 at 10.0.0.1:5072,sip:user2 at 10.0.0.1:5074,
> sip:user3 at 10.0.0.1:5076";
>
>             $var(idx) = 0;
>             $var(aor) = $(var(aors){s.select,$var(idx),,});
>
>             while($var(aor) != null) {
>                 seturi($var(aor));
>
>                 $var(idx) = $var(idx) + 1;
>                 $var(aor) = $(var(aors){s.select,$var(idx),,});
>             }
>
> and the same problem happens: only the last destination
> sip:user3 at 10.0.0.1:5076 is called.
>
> So, is there a way to append a non-fixed number of branches to an INVITE?
>
> Regards,
> Takeshi
>

Sorry, I think I did something wrong.
I was able to make append_branch to work inside a while loop.
So there is no problem.
Regards,
Takeshi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20220928/f4469b60/attachment.html>


More information about the Users mailing list