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 <[email protected] <mailto:[email protected]>> 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:[email protected] <mailto:sip%[email protected]>,sip:[email protected] <mailto:sip%[email protected]>,sip:[email protected] <mailto:sip%[email protected]>"; 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:[email protected] <mailto:sip%[email protected]>,sip:[email protected] <mailto:sip%[email protected]>,sip:[email protected] <mailto:sip%[email protected]>"; $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 [email protected] <mailto:[email protected]>) is called. I confirmed this is not related to the lookup function because I tried with fixed destinations like this: $var(aors) = "sip:[email protected]:5072 <http://sip:[email protected]:5072/>,sip:[email protected]:5074 <http://sip:[email protected]:5074/>,sip:[email protected]:5076 <http://sip:[email protected]: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:[email protected]:5076 <http://sip:[email protected]: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 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
