Данная программа представляет собой ICQ Server, в основном, для локальной сети предприятия. Сеанс связи через интернет прошел успешно, но далее не тестировалось.
Возможности
--------------------------------------------------------------------------------
UIN от 1 до 4 294 967 294
отправка сообщений с подтверждением и без него
отправка онлайн- и оффлайн- сообщений
отправка сообщений, и получение статуса подьзователей через командную строку и ActiveX
Поддержка списков рассылки
виртуальный UIN - разослать всем онлайн-пользователям
виртуальный UIN - разослать всем (и включенным и выключенным) формируется автоматически из всех клиентов в .\DB\*.ini за вычетом списков рассылок
Добавлен параметр isSendChat Если он установлен в 1, то при отправке через список рассылки, приходит от
Добавлен параметр TemplateMsg Если isSendChat=1, то при отправке через список рассылки, этот текст вставляется в начало сообщения.
Добавлена возможность рассылать SMS и email
Выложены простенькие ASP-скрипты для регистрации нового юсера и напоминания пароля. Запускается по IIS.
Выложены PHP-скрипты для регистрации нового юсера и напоминания пароля. Автор Никонов Максим
28/10/04 Выложена версия 1.2.4.7. В ней доделана поддержка Миранды 0.3.3.1.
28/10/04 Работает плугин TypingNotify. Он рассылает всплывающие подсказки при начале и окончании набора сообщений. В основомиз-за него и пришлось писать новую версию сервера :-)
01/11/04 Добавлен плугин в Миранду NewEventNotify - он делает красивые полупрозрачные всплывающие окошки при приходе сообщений.
Клиент
--------------------------------------------------------------------------------
Тестировалась на клиентах Miranda 1/2/3. http://www.miranda-im.org/ и &RQ http://www.rejetto.com/&RQ
На других ICQ-клиентах не проверялось, и в планах не значится (зачем что-то еще, когда есть Miranda :-)
Были сообщения об успешной работе с Триллианом, но сам я не тестировал и точно скзать не могу
Ведуться работы по адаптации к библиотеке ICQClient {v. 1.18f} http://sourceforge.net/projects/ticqlib
Для отправки оффлайн сообщений длиной больше 450 символов, надо очень немного плугин ICQ.dll. Если вам это не критично, то можно оставить icq.dll из дистрибутива Миранды. Это ограничение стандарта, а не сервера SIQ, который фактически поддерживает длину до 60 КБ.
В полной версии дистрибутива лежит клиент Миранда 0.3.3.1 со сделанными исправлениями, профилем по-умолчанию и с самыми нужными плугинами.
Инсталляция
--------------------------------------------------------------------------------
Остановить оба сервера
Запустить siq-full.exe
Выбрать параметры инсталляции и инсталлировать
После инсталляции настроить в реестре [HKEY_LOCAL_MACHINE\SOFTWARE\OVR\SIQ]
path - каталог с программой. ("C:\Program Files\SIQ\") должен обязтельно заканчиваться слэшем
настроить параметры серверовв файле siq.ini
Auth_Port порт сервера авторизации (5190)
BOS_Port порт сервера основных служб (5191)
BOS_IP IP-адрес сервера основных служб (Обязательно сменить на реальный)
LogLevel Уровень серьезности лога от 0 до 11 (9)
настроить списки рассылки в файле siq.ini
Стартовать службы SIQAuth и SIQBOS. При необходимости сменить параметры автозапуска а так же пользователя, под которым запускаются сервисы.
Запустить клиента из каталога SIQ\Miranda\miranda32.exe
Сменить в настройках адрес сервера
Для установки клиента Миранда - нужно скопировать mfc70.dll, msvcp70.dll, msvcr70.dll в каталог Миранды или c:\winnt\systm32\ на компьютеры клиента. Дистрибутив выкладывает эти файлы в каталог c:\winnt\systm32\ на сервере.
Все, должно работать. Если не так, то пишите сюда
Примечания Для ручной настройки необходимо знать
SIQBOS.exe /? - справка о командной строке
SIQBOS.exe setup - регистрация сервиса основных служб
SIQBOS.exe delete - удаление сервиса основных служб
SIQAuth.exe /? - справка о командной строке
SIQAuth.exe setup - регистрация сервиса авторизации
SIQAuth.exe delete - удаление сервиса авторизации
%SystemRoot%\System32\regsvr32.exe SIQAX.dll - регистрация ActiveX
%SystemRoot%\System32\regsvr32.exe SIQAX.dll /u - удаление ActiveX
При установке сервиса в режим паузы, происходит сборс логов на диск, вывод статистики, и делается невозможным подключение новых пользователей. Ранее подключенные пользователи продолжают работать.
Важно использовать плугин ICQ.dll из дистрибутива. Иначе будут ошибки отображения статуса и поиска.
Можно задать градацию серьезности логов
0 16-е дампы
3 все пакеты и все сообщения
6 все пакеты, кроме сообщения о смене статуса
7 сообщения о неподдерживаемых пакетов
9 только описания событий
11 только ошибки и важные сообщения
Пропущенные значения оставлены для резерва. Учитываются как меньшие по-важности. Для старых версий надо сменить в реестре isDebug на LogLevel
Для вновь создаваемых профилей необходимо убрать галку: Настройки/Сеть/ICQ контакты/Использовать список на сервере Иначе статус может отображаться некорректно. Эта эта галка доступна только при отключенном состоянии. Т.е. запускам миранду, переводим ее в offline, вызываем настройки, убираем галку, подключаемся к серверу, радуемся :-)
Комплект поставки
--------------------------------------------------------------------------------
SIQAuth.exe - сервер авторизации
SIQBOS.exe - сервер основных служб
SIQCmd.exe - посылка сообщений через командную строку по TCP-IP
SIQAx.dll - COM-объект для управлнеия сервером и посылкой сообщений.
siq.ini - списки рассылок
test.htm - прмер использования SIQAx
Каталоги
--------------------------------------------------------------------------------
\db - профили пользователей
\olm - off line message - сообщения, присланные во время отключения от сервера
\Cookie - хранит файлы, используемые при авторизации. Каталог использует SIQAuth SIQBOS
\Miranda - Миранда 3 со сделанными исправлениями и с самыми нужными плугинами,
Списки рассылок
--------------------------------------------------------------------------------
Пример настроек списков рассылок
Редактируем файл siq.ini
...
[Lists]
;все активные - разослать сообщение всем, кто онлайн
SendOnLine=99
;ниже идут произвольные UIN, при отправке сообщений на который, они будут рассылаться всем, прописанным в списке. Например:
;двойные заявик
1=97
;конец siq.ini
смотрю файл \db\97.ini
в нем добавлен раздел, в котором перечислены люди, к которым надо пересылать сообщение. Это UIN 123, 144, 132, 135
; диспетчеры, зав складом и зам склада
0=123
1=114
2=132
3=155
UIN - рассылки должны быть всегда offline. Иначе, в режиме отправки с подтверждением, работа будет некорректной.
При смене данных в списках рассылки необходимо перезапустить сервис SIQBOS или перевести его в режим Пауза, а потом продолжить опять. В последнем случае, пользователи не будут отключаться.
SIQCmd.exe --------------------------------------------------------------------------------
Программа предназначена для отправки сообщений через командную строку
SIQCmd.exe ip_адрес порт MSG от_кого кому текст_сообщения отправка сообщения
SIQCmd.exe ip_адрес порт MSGF от_кого кому текст_сообщения отправка сообщения из файла
SIQCmd.exe 127.0.0.1 5191 MSG 100 99 "тест 1 2 3" отправка сообщения "тест 1 2 3 " от 100 к 99 через сервер 127.0.0.1 и порт 5191
SIQCmd.exe ICQ 5191 MSGF 100 99 msg.txt отправка сообщения из файла msg.txt от 100 к 99 через сервер ICQ и порт 5191 Файл должен быть в кодировке Windows-1251
Использование SIQAx
--------------------------------------------------------------------------------
Этот ActiveX объект предназначен для передачей сообщенией.
Он поддерживает следующие свойства для чтения и записи
SIQAX.Message = ":-)" // текст сообщения
SIQAX.MessageFile = "C:\src\vc\SIQ\SIQAX\stdafx.cpp" // файл, где храниться сообщние
SIQAX.ICQServer = "127.0.0.1" // адрес сервера. Можно в виде www.xxx.ru
SIQAX.ICQPort = 5191 // порт
SIQAX.UINto = 100 // получатель
SIQAX.UINfrom = 99 // отправитель
SIQAX.GetUinInfo(uin) // запрос информацци по uin с сервера
SIQAX.UinInfo(tp) // вызывать после GetUinInfo
Пример использования приведен в test.htm
свойство только для чтения - SIQAX.Status
0; // all OK
-1; // host not found
-2; // Error open file
-3; // Error - file to lage
-4; // Error allocate memory
-5; // Error read file-msg
-6; // error send
-7; // socket call failed
-8; // connect failed
-9; // указана неправильная команда
-10; // ошибка WSAStartup
-11; // Error getting status info;
Методы
SIQAX.SendMsg() // послать сообщение. Нет параметров. Используются ранее установленные
свойства, такие как SIQAX.Message, сервер, порт...
SIQAX.SendFile() // послать сообщение из файла. Нет параметров. Используются ранее установленные
свойства, такие как SIQAX.MessageFile, сервер, порт...
сылка вот http://store.bmp.net.ua/P2/Soft/Resource/a...CQ/siq-full.exe
=)