rem: t->uac[branch].request.dst.proto=proxy->proto;
add: t->uac[branch].request.dst.proto=proto;
context: int add_uac( struct cell *t, struct sip_msg *request, str *uri, str* next_hop,	struct proxy_l *proxy, int proto ){	int ret;	short temp_proxy;	union sockaddr_union to;	unsigned short branch;	struct socket_info* send_sock;	char *shbuf;	unsigned int len;	branch=t->nr_of_outgoings;	if (branch==MAX_BRANCHES) {		LOG(L_ERR, "ERROR: add_uac: maximum number of branches exceeded\n");		ret=E_CFG;		goto error;	}	/* check existing buffer -- rewriting should never occur */	if (t->uac[branch].request.buffer) {		LOG(L_CRIT, "ERROR: add_uac: buffer rewrite attempt\n");		ret=ser_error=E_BUG;		goto error;	}	/* check DNS resolution */	if (proxy) temp_proxy=0; else {		proxy=uri2proxy( next_hop ? next_hop : uri, proto );		if (proxy==0)  {			ret=E_BAD_ADDRESS;			goto error;		}		temp_proxy=1;	}	if (proxy->ok==0) {		if (proxy->host.h_addr_list[proxy->addr_idx+1])			proxy->addr_idx++;		else proxy->addr_idx=0;		proxy->ok=1;	}	hostent2su( &to, &proxy->host, proxy->addr_idx, 		proxy->port ? proxy->port:SIP_PORT);	send_sock=get_send_socket( &to , proxy->proto);	if (send_sock==0) {		LOG(L_ERR, "ERROR: add_uac: can't fwd to af %d, proto %d "			" (no corresponding listening socket)\n",			to.s.sa_family, proxy->proto );		ret=ser_error=E_NO_SOCKET;		goto error01;	}	/* now message printing starts ... */	shbuf=print_uac_request( t, request, branch, uri, 		&len, send_sock, proxy->proto );	if (!shbuf) {		ret=ser_error=E_OUT_OF_MEM;		goto error01;	}	/* things went well, move ahead and install new buffer! */	t->uac[branch].request.dst.to=to;	t->uac[branch].request.dst.send_sock=send_sock;	t->uac[branch].request.dst.proto=proxy->proto;	t->uac[branch].request.dst.proto_reserved1=0;	t->uac[branch].request.buffer=shbuf;	t->uac[branch].request.buffer_len=len;	t->uac[branch].uri.s=t->uac[branch].request.buffer+		request->first_line.u.request.method.len+1;	t->uac[branch].uri.len=uri->len;	t->nr_of_outgoings++;	/* update stats */	proxy->tx++;	proxy->tx_bytes+=len;	/* done! */		ret=branch;		error01:	if (temp_proxy) {		free_proxy( proxy );		pkg_free( proxy );	}error:	return ret;}