Hi,
on one of our systems we are checking a few times whether a
transaction already exists. We noticed that route execution stops if
the transaction is found. And after looking into the code, we found
that it seems to be intended like this.
From tm.c:
int t_check_trans(struct
sip_msg* msg)
{
if (msg->first_line.type==SIP_REPLY) {
[..]
} else {
switch(t_check_msg(msg, 0)){
[..]
case 1: /* found */
[..]
return 0; /* exit from the script */
}
}
}
Can anybody explain, why script execution should stop when a running
transaction is found? I would expect that then the function returns 1
so I can use it in my if statement and continue with my routing
script.
Thanks already for an explanation,
Sebastian