Как уже было сказано, если у вас нет полного контроля над сервером, это будет невозможно реализовать, и даже если вы сделаете это, если хотите сохранить соединение открытым в течение значительного промежутка времени, это, вероятно, приведет к истечению времени ожидания, требуя от клиента продолжение стороны.
Таким образом, было бы лучше использовать AJAX, например:
ping.php
$answer = shell_exec('COMMAND');
$r = array();
list($r['src'], $r['app'], $r['cid'], $r['non'], $r['flag'], $r['dur'], $r['exten']) = explode("!", $answer);
if($r['cid'] > 0)
$r['success'] = true;
else
$r['success'] = false;
echo json_encode($r);
Скрипт в вашем общедоступном файле HTML / PHP
<script type="text/javascript">
// If you're using jQuery...
var ping = function() {
$.ajax('ping.php', {
dataType: 'json',
success: function(data) {
if(data.success && confirm('You have a call from ' + data.cid + ': show data>'))
$('iframe').attr('src', 'new_page.php');
}
});
};
setInterval(ping, 3000);
</script>