rem: static inline void faked_env( struct cell *t,struct sip_msg *msg)
add: static inline void faked_env( struct cell *t,struct sip_msg *msg, int level)
context: static inline void faked_env( struct cell *t,struct sip_msg *msg){	static struct cell *backup_t;	static unsigned int backup_msgid;	static struct usr_avp **backup_list;	static struct socket_info* backup_si;	static int backup_route_type;	if (msg) {		swap_route_type( backup_route_type, FAILURE_ROUTE);		/* tm actions look in beginning whether transaction is		 * set -- whether we are called from a reply-processing 		 * or a timer process, we need to set current transaction;		 * otherwise the actions would attempt to look the transaction		 * up (unnecessary overhead, refcounting)		 */		/* backup */		backup_t=get_t();		backup_msgid=global_msg_id;		/* fake transaction and message id */		global_msg_id=msg->id;		set_t(t);		/* make available the avp list from transaction */		backup_list = set_avp_list( &t->user_avps );		/* set default send address to the saved value */		backup_si=bind_address;		bind_address=t->uac[0].request.dst.send_sock;	} else {		/* restore original environment */		set_t(backup_t);		global_msg_id=backup_msgid;		set_route_type( backup_route_type );		/* restore original avp list */		set_avp_list( backup_list );		bind_address=backup_si;	}}