Hi
https://www.kamailio.org/wiki/cookbooks/devel/pseudovariables#branch_name_-_...
"Assigning $null to uri attribute will drop the branch, for the rest of attributes will just set the value to null."
Where do I need to assing $null to the brach URI to get it dropped? And what happens to the index, is there a gap, or do the subsequent branches get re-indexed so they don't match with the ulc indexes anymore?
Actual example, I have multiple contacts I would like to add to branches.
Two of the contacts are from the location database + an additional contact.
# Basic Branch: $ru = $(ulc(aor=>addr)[0]); $du = $(ulc(aor=>received)[0]); $fs = $(ulc(aor=>socket)[0]);
# Additional Branch: append_branch($(ulc(aor=>addr)[1])); $(branch(dst_uri)[-1]) = $(ulc(aor=>received)[1]); $(branch(send_socket)[-1]) = $(ulc(aor=>socket)[1]);
and so on, actually a loop over all ulc contacts.
# Lasst Additional Branch, point to other registrar, not to a usrloc location. append_branch($ru); $(branch(dst_uri)[-1]) = "sip:other-registrar:5060;transport=udp"; $fsn = "LocalUDPv4"; $(branch(send_socket)[-1]) = $fs;
t_on_branch("BR_T");
branch_route[BR_T] { $var(socket) = $(ulc(aor=>socket)[$T_branch_idx]); if ($var(socket) == 0) { xlog("L_INFO", "$cfg(route): DROPPING BRANCH: $T_branch_idx No local socket on this registrar\n"); $(branch(uri)[$T_branch_idx]) = $null; } }
I don't get this right! Call is still sent to that contact.