[OpenSIPS-Users] Creating branches inside a while loop

mayamatakeshi mayamatakeshi at gmail.com
Tue Oct 11 07:29:41 UTC 2022


Hi Bogdan,
indeed, I think I removed the append_branch() line by mistake when removing
some debug lines I added to check function return code etc.
Thanks,
Takeshi

On Mon, Oct 10, 2022 at 9:39 PM Bogdan-Andrei Iancu <bogdan at opensips.org>
wrote:

> Hi Takeshi,
>
> Aren't you missing the "seturi()" + "append_branch()" in the loop ??
>
> Regards,
>
> Bogdan-Andrei Iancu
>
> OpenSIPS Founder and Developer
>   https://www.opensips-solutions.com
> OpenSIPS Summit 27-30 Sept 2022, Athens
>   https://www.opensips.org/events/Summit-2022Athens/
>
> On 9/28/22 4:26 PM, mayamatakeshi wrote:
>
>
> 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
>
>
> _______________________________________________
> Users mailing listUsers at lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20221011/a56c6ef7/attachment-0001.html>


More information about the Users mailing list