[Kamailio-Devel] bogus commit to t_lookup.c in openser 1.3?

Daniel-Constantin Mierla miconda at gmail.com
Mon Dec 29 12:36:30 CET 2008



On 12/29/08 10:31, Juha Heinanen wrote:
> i started to read the debug log more carefully and noticed that the
> patch cannot be the reason why ack matching fails.

yes, as I said, the patch was for a case that should not happen that 
often nowadays.

The problem is clear present in many versions. I have done some tests 
with trunk and replies from config, not sure it resembles the 
t_write_unix() case, and there are issues as well.

>   the part of t_lookup
> code, which is affected by the patch (found => e2e_ack) is not executed
> when ack matching fails.
>
> so the bug must be somewhere else and may be timing dependent, because i
> don't see it every time.
>
> for some reason, the ack that twinkle sends, is found to be an e2e ack
> already in case 2 here:
>   
This is dependent of how many transactions are in the hash table entry. 
If there are many, then matching_3261() behaves wrong in some cases.

I already have a patch for trunk, can you test your scenario using the 
trunk? Or shall I make one for 1.3?

Cheers,
Daniel

> 	branch=p_msg->via1->branch;
>   424 	if (branch && branch->value.s && branch->value.len>MCOOKIE_LEN
>   425 			&& memcmp(branch->value.s,MCOOKIE,MCOOKIE_LEN)==0) {
>   426 		/* huhuhu! the cookie is there -- let's proceed fast */
>   427 		LOCK_HASH(p_msg->hash_index);
>   428 		match_status=matching_3261(p_msg,&p_cell,
>   429 				/* skip transactions with different method; otherwise CANCEL
>   430 				 * would match the previous INVITE trans.  */
>   431 				isACK ? ~METHOD_INVITE: ~p_msg->REQ_METHOD);
>   432 		switch(match_status) {
>   433 				case 0:	goto notfound;	/* no match */
>   434 				case 1:	goto found; 	/* match */
>   435 				case 2:	goto e2e_ack;	/* e2e proxy ACK */
>   436 		}
>   437 	}
>
> i.e., matching_3261 function things that it is an e2eproxy ack, whatever
> that is.
>
> -- juha
>
> _______________________________________________
> Devel mailing list
> Devel at lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/devel
>
>   

-- 
Daniel-Constantin Mierla
http://www.asipto.com




More information about the Devel mailing list