О. Если бы мне пришлось реализовать что-то вроде этого, я бы взял сервер XMPP (Jabber). Зачем изобретать?
Существует два довольно стабильных и многофункциональных сервера: ejabberd (реализовано в Erlang) и OpenFire (реализовано в Java). Лично я предпочитаю OpenFire , поскольку его проще настраивать, а разработчиков Java легче найти, если вы хотите расширить его функциональность ... Но это дело вкуса.
Для веб-клиента существует технология под названием BOSH . Это позволяет вам не опрашивать ваш сервер запросами каждые X секунд, а получать сообщения, как только они станут доступны. BOSH является частью стандарта XMPP. Существует библиотека JavaScript под названием Strophe JS , которая позволяет легко использовать BOSH на вашей веб-странице. Существует пример реализации .
Кроме того, ваши сотрудники могут быть более довольны клиентами мгновенных сообщений, чем веб-клиентами. Если вы используете XMPP, вы автоматически получаете возможность подключиться к услуге, используя любой существующий IM-клиент с поддержкой Jabber.
Чтобы получить упомянутую функциональность для выбора доступного сервисного инженера, вы можете внедрить небольшой плагин для сервера, а не сервер в целом. История настраивается на обоих серверах.
Итак, наконец, мое мнение: возьмите уже написанный и проверенный сервер XMPP, его BOSH с использованием Strophe JS и небольшой плагин для выбора бесплатного сервисного инженера.