Hi Benoît,

record_route must be called only for initial invite. Then After routing is handled properly for all other in dialog requests (ACK,PRACK,BYE,....) by the topos internal hooks.


t_check_trans is not linked to topos. Its a tm module function.and yes for positive replies ack and subséquent in dialog requests t_check_trans will always return false because they will belong to différent transaction than initial invite.

You should use dialog module dlg_manage and is_known_dlg functions to match all other in dialog requests in your has_to_tag block condition.

What backend do you use for topos? Make sure there are no errors from this backend module as well.





Le 27 janv. 2023 10:08, Benoît Panizzon <benoit.panizzon@imp.ch> a écrit :

Hi Patrick

> Male sure record_route is used in kamailio script.

I will double check by outputing a notice to log before calling
record_route but I'm quite confident this is the case for invites.

Do I need to explicitely call record_route for ACK and PRACK or even
for all messages when using topos? Is this where topos hooks in?

> Normally it should be used in initial invite.

Issue is not only PRACK, but also ACK.
I narrowed down the issue to this:

topos active:

if (has_totag()) {
# True
if ( t_check_trans() ) {
# False
route(RELAY);
} else {
# discard ACK not matching transaction
exit;
}
}

I end up discarding ACK and PRACK because they don't match a
transaction.

topos commented out:

if (has_totag()) {
# True
if ( t_check_trans() ) {
# True
route(RELAY);
} else {
# discard ACK not matching transaction
exit;
}
}

Ack is routed.

Any explanation why topos causes t_check_trans() to return false on ACK
and PRACK?

--
Mit freundlichen Grüssen

-Benoît Panizzon- @ HomeOffice und normal erreichbar
--
I m p r o W a r e   A G    -    Leiter Commerce Kunden
______________________________________________________

Zurlindenstrasse 29             Tel  +41 61 826 93 00
CH-4133 Pratteln                Fax  +41 61 826 93 01
Schweiz                         Web  http://www.imp.ch
______________________________________________________