Hi everybody,

Short question: Are there any best practices regarding the routing of ACK Messages?
Currently we have the following logic implemented:

route {
   [...]
##################################################################################################################
   # Check for Re-Transmissions (not ACK/CANCEL)
###############################################################################################################
   if ((method != "CANCEL") && (method != "ACK")) {
       if (t_check_trans()) {
           log(1, "Re-Transmission detected, message dropped.\n");
           # Drop the message silently.
           return;
       }
   }
##################################################################################################################
   # Loose-Routing (RFC3261)
###############################################################################################################
   if (loose_route()) {
       route(10);
       return;
}; # if (loose_route()) { ##################################################################################################################
   # ACK/CANCEL Messages may be relayed
###############################################################################################################
   if ((method == "CANCEL") || (method == "ACK")) {
       if (uri != myself) {
           #  Und das Paket entsprechend weiterleiten
           if (!t_relay("udp:outbound_proxy:outbound_proxy_port")) {
               log(1, "Not possible to relay\n");
               # Fehler melden
               sl_reply_error();
               return;
           }
           return;
       }
   }
   [...]
################################################################################################################## # Rest of "normal" Routing logic with number manipulation / Routing to different Gateways / User Authorization/Authentication ###############################################################################################################
}

Is there any other method, to improve the routing of ACK/CANCEL Messages? I would like to avoid all the number manipulation, checking and choosing of a proper gateway.... I thought, this must (somehow) be possible since from a technical perspective the ACK and CANCEL Message can be associated with a corresponding INVITE Message (and the corresponding Transaction).
I've looked in the manual of the TM-Module and found the following example:
if ( is_method("CANCEL") ) {
if ( t_check_trans() )
t_relay();
exit;
}
(http://openser.org/docs/modules/1.1.x/tm.html#AEN460)

I guess, this example does not mean, that the URI gets rewritten properly and the CANCEL-/ACK-Message would get properly relayed to the destination, where it is supposed to end. Is there any way to do it best? I've seen, that some clients do proper loose-routing for ACK-Messages, but not all clients, so this is not a solution.
Are there any other suggestions?

Thanks in advance,

Carsten



____________
Virus checked by G DATA AntiVirusKit



_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to