int app_conference_main( struct cw_channel* chan, int argc, char **argv ) {
	int res = 0 ;
	struct localuser *u ;
	LOCAL_USER_ADD( u ) ; 
	res = member_exec( chan, argc, argv ) ;
	LOCAL_USER_REMOVE( u ) ;	
	return res ;
}
static int app_vonference_main(struct ast_channel* chan, const char* data)
{
	int res ;
	struct ast_module_user *u ;

	u = ast_module_user_add(chan);

	// call member thread function
	res = member_exec( chan, data ) ;

	ast_module_user_remove(u);

	return res ;
}
static int app_konference_main(struct ast_channel* chan, ast_application_parameter data)
{
	int res ;
	struct ast_module_user *u ;

	u = ast_module_user_add(chan);

	// call member thread function
	res = member_exec(chan, (const char*) data);

	ast_module_user_remove(u);

	return res ;
}
int app_conference_main( struct ast_channel* chan, void* data ) {
	int res = 0 ;
	struct localuser *u ;
	LOCAL_USER_ADD( u ) ; 
	res = member_exec( chan, data ) ;
	if (res == -2) {
		/* Conference was locked and user did not have valid PIN - Jump to n+101 */
		ast_log(LOG_NOTICE, "Conference is locked so I am going to try and jump n + 101\n");
		ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 101);
		res = 0;
	}
	LOCAL_USER_REMOVE( u ) ;
	return res ;
}