Hi!
I’m trying to implement scheme much like Federico Cabiddu is described here
https://www.youtube.com/watch?v=4XIrR9bwUkM

Done a bit modification to his script, cause it’s not fully correct on 4.4 version
So, parts of config looks like

….
route[REGISTRAR] {
        if (!save("location")) {
            sl_reply_error();
        } else {
            route(PUSHJOIN);
        }
        exit;
….
}

route[LOCATION] {
    if (!lookup("location")) {
       ……
        if (is_method("INVITE")) {
            send_reply("100", "Trying");
            route(SUSPEND);
        }
    } else {
        if (is_method("INVITE")) {
            if (t_newtran()) {
                ts_store("sip:$tU@$fd");
            }
            $sht(vtp=>stored::$rU) = 1;
        }
    }
    route(RELAY);
}

…..
route[SUSPEND] {
    if(!t_suspend()) {
        send_reply("501", "Unknown destination");
        exit;
    }
    $sht(vtp=>join::$rU) = "" + $T(id_index) + ":" + $T(id_label);
}

# append branches or resume the transaction
route[PUSHJOIN] {
#if was suspended - recover, if not - ts_append
            …..
            ts_append(«location", "sip:$tU@$fd");
            return;
   t_continue("$var(id_index)", "$var(id_label)", "INVRESUME");
}

# lookup and relay after resuming transaction
route[INVRESUME] {
    lookup("location");
    t_relay();
    ts_store("sip:$tU@$fd");
    $sht(vtp=>stored::$rU) = 1;
}


Branches on ts_store are saved in format (sip:username@domain) and also in this format they are added on ts_append.
All regarding to routes working ok, except on ts_append I got 
ERROR: tm [t_append_branches.c:168]: t_append_branches(): ERROR: t_append_branch: failure to add branches (-1)
Also, it’s a mixed environment, like wss + udp + tcp.


Any idea why? Thanks.
--
Best regards,
Igor