// Connect to CoreDial API using JAXL
$client = new JAXL(array(
	'jid' => JID,
	'pass' => PASS,
	'port' => '5222',
	'priv_dir' => getcwd() . '/private_jaxl',
	'log_level' => JAXLLogger::INFO
));
$client->require_xep(array(
    '0060' // For CoreDial Publish-Subscribe functionality
));
function on_auth_success_callback() {
	global $client;
	JAXLLogger::info("got on_auth_success cb, jid ".$client->full_jid->to_string());
	$client->send_end_stream();
}
$client->add_cb('on_auth_success', 'on_auth_success_callback');
function on_auth_failure_callback($reason) {
	global $client;
	$client->send_end_stream();
	JAXLLogger::info("got on_auth_failure cb with reason $reason");
}
$client->add_cb('on_auth_failure', 'on_auth_failure_callback');
function on_disconnect_callback() {
	global $client;
	JAXLLogger::info("got on_disconnect cb");
	$client->send_end_stream();
}
$client->add_cb('on_disconnect', 'on_disconnect_callback');
$client->start();
$client->branch_list(28); // attempt to pull in data
echo "done".PHP_EOL;