rem: forward_request(p_msg, proxy, proxy->proto);
add: forward_request(p_msg, proxy, proto);
context: int t_relay_to( struct sip_msg  *p_msg , struct proxy_l *proxy, int proto,				int replicate){	int ret;	int new_tran;	str *uri;	int reply_ret;	/* struct hdr_field *hdr; */	struct cell *t;#ifdef ACK_FORKING_HACK	str ack_uri;	str backup_uri;#endif	ret=0;	new_tran = t_newtran( p_msg );		/* parsing error, memory alloc, whatever ... if via is bad	   and we are forced to reply there, return with 0 (->break),	   pass error status otherwise	*/	if (new_tran<0) {		ret = (ser_error==E_BAD_VIA && reply_to_via) ? 0 : new_tran;		goto done;	}	/* if that was a retransmission, return we are happily done */	if (new_tran==0) {		ret = 1;		goto done;	}	/* new transaction */	/* ACKs do not establish a transaction and are fwd-ed statelessly */	if ( p_msg->REQ_METHOD==METHOD_ACK) {		DBG( "SER: forwarding ACK  statelessly \n");		if (proxy==0) {			uri = GET_RURI(p_msg);			proxy=uri2proxy(GET_NEXT_HOP(p_msg), proto);			if (proxy==0) {					ret=E_BAD_ADDRESS;					goto done;			}			ret=forward_request( p_msg , proxy, proxy->proto) ;			free_proxy( proxy );				pkg_free( proxy );#ifdef ACK_FORKING_HACK			backup_uri=p_msg->new_uri;			init_branch_iterator();			while((ack_uri.s=next_branch(&ack_uri.len))) {				p_msg->new_uri=ack_uri;				proxy=uri2proxy(GET_NEXT_HOP(p_msg), proto);				if (proxy==0) continue;				forward_request(p_msg, proxy, proxy->proto);				free_proxy( proxy );					pkg_free( proxy );			}			p_msg->new_uri=backup_uri;#endif		} else {			ret=forward_request( p_msg , proxy, proxy->proto ) ;#ifdef ACK_FORKING_HACK			backup_uri=p_msg->new_uri;			init_branch_iterator();			while((ack_uri.s=next_branch(&ack_uri.len))) {				p_msg->new_uri=ack_uri;				forward_request(p_msg, proxy, proxy->proto);			}			p_msg->new_uri=backup_uri;#endif		}		goto done;	}	/* if replication flag is set, mark the transaction as local	   so that replies will not be relaied	*/	t=get_t();	t->local=replicate;	/* INVITE processing might take long, partcularly because of DNS	   look-ups -- let upstream know we're working on it */	if (p_msg->REQ_METHOD==METHOD_INVITE )	{		DBG( "SER: new INVITE\n");		if (!t_reply( t, p_msg , 100 ,			"trying -- your call is important to us"))				DBG("SER: ERROR: t_reply (100)\n");	} 	/* now go ahead and forward ... */	ret=t_forward_nonack(t, p_msg, proxy, proto);	if (ret<=0) {		DBG( "SER:ERROR: t_forward \n");		reply_ret=kill_transaction( t );		if (reply_ret>0) {			/* we have taken care of all -- do nothing in		  	script */			DBG("ERROR: generation of a stateful reply "				"on error succeeded\n");			ret=0;		}  else {			DBG("ERROR: generation of a stateful reply "				"on error failed\n");		}	} else {		DBG( "SER: new transaction fwd'ed\n");	}done:	return ret;}