rem: if ( p_msg->first_line.u.request.method_value==METHOD_ACK )
add: if ( p_msg->REQ_METHOD==METHOD_ACK )
context: int t_add_transaction( struct sip_msg* p_msg, char* foo, char* bar ){   struct cell*    new_cell;   DBG("DEBUG: t_add_transaction: adding......\n");   /* sanity check: ACKs can never establish a transaction */   if ( p_msg->first_line.u.request.method_value==METHOD_ACK )   {       LOG(L_ERR, "ERROR: add_transaction: ACK can't be used to add transaction\n");      return -1;   }   /* it's about the same transaction or not?*/   t_check( p_msg , 0 );   /* if the lookup's result is not 0 means that it's a retransmission */   if ( T )   {      LOG(L_ERR,"ERROR: t_add_transaction: won't add a retransmission\n");      return -1;   }   /* creates a new transaction */   new_cell = build_cell( p_msg ) ;   DBG("DEBUG: t_add_transaction: new transaction created %p\n", new_cell);   if  ( !new_cell ){	   LOG(L_ERR, "ERROR: add_transaction: out of mem:\n");	   sh_status();      return -1;	}   /*insert the transaction into hash table*/   insert_into_hash_table( hash_table , new_cell );   DBG("DEBUG: t_add_transaction: new transaction inserted, hash: %d\n", new_cell->hash_index );   T = new_cell;   T->ref_counter =1;   return 1;}