делается таблица в базе, или файл. лучше таблица.
куда пишется имя юзера, которого вызывают, уникальный код, и время.
Тот, кто хочет вызвать, тыкает в ссылку, у него открывается окно chat.php?уникальный код. В базу пишется строка.
В начале каждой страницы делается проверка этой таблицы, есть ли записи для текущего юзера, и если есть, то выкидывать код - строку, или окно - это уже к РНР не имеет отношения - вызывающее юзерав в чат. ему дается та же ссылка, что и первому.
запись из базу стирается.
так же стираюбтся и все записи старше определенного срока, к примеру час.