[Kamailio-Devel] bogus commit to t_lookup.c in openser 1.3?
Juha Heinanen
jh at tutpro.com
Mon Dec 29 09:31:07 CET 2008
i started to read the debug log more carefully and noticed that the
patch cannot be the reason why ack matching fails. 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:
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
More information about the Devel
mailing list