rem: t_retransmit_reply( p_msg, 0 , 0 );
add: t_retransmit_reply( trans->inbound_request, 0 , 0 );
context: int push_reply_from_uac_to_uas( struct sip_msg *p_msg , unsigned int branch ){   char *buf;   unsigned int len;   /* if there is a reply, release the buffer (everything else stays same) */   if ( T->inbound_response )   {      sh_free( T->inbound_response->buffer );      remove_from_timer_list( hash_table , &(T->inbound_response->tl[RETRASMISSIONS_LIST]) , RETRASMISSIONS_LIST );   }   else   {      struct hostent  *nhost;     char foo;      T->inbound_response = (struct retrans_buff*)sh_malloc( sizeof(struct retrans_buff) );      memset( T->inbound_response , 0 , sizeof (struct retrans_buff) );      T->inbound_response->tl[RETRASMISSIONS_LIST].payload = &(T->inbound_response);      /*some dirty trick to get the port and ip of destination */      foo = *((p_msg->via2->host.s)+(p_msg->via2->host.len));      *((p_msg->via2->host.s)+(p_msg->via2->host.len)) = 0;      nhost = gethostbyname( p_msg->via2->host.s );      *((p_msg->via2->host.s)+(p_msg->via2->host.len)) = foo;      if ( !nhost )         return -1;      memcpy( &(T->inbound_response->to.sin_addr) , &(nhost->h_addr) , nhost->h_length );      T->inbound_response->dest_ip         = htonl(T->inbound_response->to.sin_addr.s_addr);      T->inbound_response->dest_port      = ntohl(T->inbound_response->to.sin_port);      T->inbound_response->to.sin_family = AF_INET;   }   /*  */   buf = build_res_buf_from_sip_res ( p_msg, &len);   if (!buf)        return -1;   T->inbound_response->bufflen = len ;   T->inbound_response->buffer   = (char*)sh_malloc( len );   memcpy( T->inbound_response->buffer , buf , len );   free( buf ) ;   /* make sure that if we send something final upstream, everything else will be cancelled */   if (T->outbound_response[branch]->first_line.u.reply.statusclass>=2 )      t_put_on_wait( p_msg );   /* if the code is 3,4,5,6 class for an INVITE-> starts retrans timer*/   if ( T->inbound_request->first_line.u.request.method_value==METHOD_INVITE &&         T->outbound_response[branch]->first_line.u.reply.statusclass>=300)         {            remove_from_timer_list( hash_table , &(T->inbound_response->tl[RETRASMISSIONS_LIST]) , RETRASMISSIONS_LIST );            remove_from_timer_list( hash_table , &(T->inbound_response->tl[FR_TIMER_LIST]) , FR_TIMER_LIST );            insert_into_timer_list( hash_table , &(T->inbound_response->tl[RETRASMISSIONS_LIST]) , RETRASMISSIONS_LIST , RETR_T1 );            insert_into_timer_list( hash_table , &(T->inbound_response->tl[FR_TIMER_LIST]) , FR_TIMER_LIST , FR_TIME_OUT );         }   t_retransmit_reply( p_msg, 0 , 0 );}