[sr-dev] t_check_trans with in-dialog requests

Daniel-Constantin Mierla miconda at gmail.com
Tue Jul 16 18:59:45 CEST 2013


Hello,

I looked over the code and should match if no changes to r-uri were done.

If convenient for you, send me the logs for ACK with debug=3. I will try 
to reproduce these days.

The ack for 200ok is considered separate from invite transaction 
(because it can have different path than the invite).

Cheers,
Daniel

On 7/15/13 7:04 PM, Hugh Waite wrote:
> Hi,
> This is happening in the WITHINDLG route of our config. For gruu'd 
> clients, we run t_check_trans and then do the location lookup. I added 
> some extra debug and found it is returning -1 for ACKs to both 407 and 
> 200 in-dialog responses.
>
>     route[WITHINDLG] {
>       if (has_totag()) {
>         if (is_method("ACK")) {
>           xlog("L_WARN", "Handling ACK...\n");
>           t_check_trans();
>           xlog("L_WARN", "...returned $rc\n");
>         }
>         ...
>         # lookup/forward etc.
>       }
>     }
>
> Hugh
>
> On 15/07/2013 15:18, Daniel-Constantin Mierla wrote:
>> Hello,
>>
>> because of the route headers, I guess there is a different path in 
>> config file, not hitting t_check_trans() from config for ACK (or at 
>> least the one I expected), ending in looking up the r-uri via 
>> location, like normal requests within dialog.
>>
>> Can you try to hanlde the ack with t_check_trans() on that config 
>> path as well, before changing r-uri?
>>
>> Cheers,
>> Daniel
>>
>> On 7/15/13 10:28 AM, Hugh Waite wrote:
>>> Hi,
>>> I've attached the signalling trace of this call.
>>> The ACK does have a Route set, but we think this is correct 
>>> according to §17.1.1.3 of RFC3261.
>>> "  If the INVITE request whose response is being acknowledged had 
>>> Route header fields, those header fields MUST appear in the ACK. 
>>> This is to ensure that the ACK can be routed properly through any 
>>> downstream stateless proxies.  "
>>>
>>> A failure response to an INVITE does not have a Contact header and a 
>>> reINVITE does not Record-Route, so the ACK needs to be constructed 
>>> in the same way as the INVITE w.r.t. request URI and Route set.
>>> When the ACK for the 407 arrives, can kamailio detect that the 
>>> transaction is in the 'Completed' state and drop it [1]?
>>>
>>> Hugh
>>>
>>> [1] RFC 6026 §8.6 which updates RFC3261 §17.2.1
>>>
>>>
>>> On 12/07/2013 16:22, Daniel-Constantin Mierla wrote:
>>>> Hello,
>>>>
>>>> iirc, ACKs for negative replies should be hop-by-hop, without any 
>>>> route set. Maybe you can paste a ngrep with invite/407/ack to see 
>>>> exactly what is there.
>>>>
>>>> On the other hand, t_check_trans() for ack returns true if there is 
>>>> an active invite transaction associated with it, because ack itself 
>>>> does not create transaction, being a request that doesn't take a 
>>>> reply.
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>> On 7/12/13 5:11 PM, Hugh Waite wrote:
>>>>> Hello,
>>>>> I have a question on the use of t_check_trans for in-dialog requests.
>>>>>
>>>>> If an in-dialog INVITE is challenged by kamailio (sending a 407 
>>>>> response), the ACK should be absorbed. However, the t_check_trans 
>>>>> function does not terminate the script. In our config, this means 
>>>>> the ACK gets sent to the client due to the route-set.
>>>>>
>>>>> Should t_check_trans recognise that this transaction was rejected 
>>>>> locally, even though there is an onward route-set?
>>>>>
>>>>> Hugh
>>>>>
>>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> sr-dev mailing list
>>> sr-dev at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
>> -- 
>> Daniel-Constantin Mierla -http://www.asipto.com
>> http://twitter.com/#!/miconda  -http://www.linkedin.com/in/miconda
>>
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
> -- 
> Hugh Waite
> Principal Design Engineer
> Crocodile RCS Ltd.
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20130716/bb18390e/attachment-0001.html>


More information about the sr-dev mailing list