[Kamailio-Devel] How does Kamailio match an ACK for a stateless [3456]XX replied by Kamailio itself?

Klaus Darilion klaus.mailinglists at pernau.at
Mon Dec 15 11:34:36 CET 2008


AFAIK the sl module registers a callback. It can detect ACK 
corresponding to stateless responses by certain parameter - I think it 
is encoded in the totag.

regards
Klaus

Iñaki Baz Castillo wrote:
> Hi, in case a UAS/proxy creates an INVITE server transaction and replies a 
> negative reply by itself (without routing the request)  then the server 
> transaction must remain alive until an ACK arrives (the ACK is part of the 
> same transaction, same "branch").
> 
> But in Kamailio we can reject an incoming INVITE stateless by replying a 
> [3456]XX response without creating a server transaction. For example:
> 
>   if ($rU == "1234") {
>     sl_send_reply("403", "Destination not allowed");
>     exit;
>   }
> 
> In the case above, Kamailio *doesn't* create a server transaction and replies 
> 403 stateless, but when the ACK arrives, it is "absorved" internally by 
> Kamailio, this is: the ACK doesn't appear in the script logic, it seems it is 
> automatically consumed by the transport layer (since there is no transaction 
> layer).
> 
> I just would like to know how Kamailio handles it, just curiosity. Of course, 
> the current behaviour seems efficient (Kamailio doesn't need to generate a 
> server transaction but at the same time it can absorb the ACK).
> 
> Thanks for any explanation.
> 
> 



More information about the Devel mailing list