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