протокол ОСКАР

Протокол обмена мгновенными сообщениями и информацией о присутствии

OSCAR ( Open System for Communication in Realtime ) — это фирменный протокол обмена мгновенными сообщениями и информации о присутствии компании AOL . Он использовался системой обмена мгновенными сообщениями AIM компании AOL и ICQ .

Несмотря на название, спецификации протокола остаются запатентованными. AOL приложила немало усилий, чтобы не дать конкурентам (а именно Microsoft , XMPP и Cerulean Studios) реализовать совместимые клиенты для их запатентованных систем обмена сообщениями. [1] [2] В 2002 году AOL подписала контракт с Apple, Inc. , позволяющий им использовать OSCAR (а также собственные библиотеки кода AOL) в их приложении iChat . Это позволило пользователям iChat напрямую взаимодействовать с пользователями ICQ и AIM. Сделка также позволила пользователям сервиса .Mac от Apple входить в сеть AIM, используя свои адреса электронной почты .Mac. (Это перешло и в сервис MobileMe от Apple .)

По состоянию на 2009 год [обновлять]значительная часть протокола была подвергнута обратному проектированию и внедрена рядом сторонних клиентов.

Протокол OSCAR может использоваться отдельно от сети AOL. Фактически, AOL расширяет общую концепцию OSCAR, добавляя системы для списков и иконок друзей на стороне сервиса, а также функции для передачи файлов с использованием Bonjour .

6 марта 2006 года AOL выпустила AIM SDK и запустила веб-сайт для разработчиков, позволяющий разработчикам создавать плагины для AIM Triton и создавать собственные клиенты, подключающиеся по протоколу OSCAR. Однако на тот момент они не опубликовали никакой информации о самом протоколе.

5 марта 2008 года AOL опубликовала части документации протокола OSCAR. Google также предоставила возможность входа в сеть AIM через встроенный в Gmail клиент Google Talk .

Структура пакета

Все пакеты, отправленные через OSCAR, инкапсулируются таким же образом. Все 16-битные целые числа, отправленные по сети, являются беззнаковыми и имеют обратный порядок байтов (см. Порядок байтов .) То же самое касается 32-битных целых чисел и 8-битных целых чисел (или байтов.)

Заголовок FLAP

Специальный контейнер Frame Layer Protocol (FLAP [3] ) охватывает каждый пакет. Он несет информацию о размере пакета, канале и его номере в последовательности.

Смещение ( шестнадцатеричное )ПолеТип/Размер (в байтах)Замечания
00ИДЕНТИФИКАТОР КЛАПАНбайт/1Всегда равен 2А. Он обозначает начало пакета.
01Каналбайт/11 = вход в систему, 2 = уровень SNAC, 3 = ошибка, 4 = отключение
02Номер в последовательностиint16/2Увеличивается на 1 каждый раз при отправке пакета. Возвращается к 0 после FFFF.
04Размер данныхint16/2Размер не включает заголовок FLAP

Данные SNAC

Почти в каждом пакете, отправленном по каналу 2, пакеты содержат SNAC (Simple Network Atomic Communication). В пакете всегда содержится один или ноль таких элементов, и поэтому они не содержат (и не должны содержать) длину.

Смещение ( шестнадцатеричное )ПолеТип/Размер (в байтах)Замечания
00Группа продуктов питанияint16/2Общий тип пакета
02Типint16/2Конкретный тип пакета
04Флагиint16/2
06Запросить идентификаторint32/4Идентификатор запроса может быть случайным, но клиенты не могут отправлять его с установленным битом наивысшего порядка.

Реализации


Язык программирования
Реализации
Сlibpurple
GnomeICU
С#NOscar
С++QOscar (Qt)
С# 2.0ОскарЛиб
Идтиретро-целевой-сервер
цель-оскар-сервер
Яваjoscar
Instant Messenger Lib
daim
Objective-CLibOrange
OCamlмлОскар
ПитонTwistedWords Архивировано 2011-04-12 в Wayback Machine
ПерлНетто::ОСКАР
PHPWebIcqPro

Смотрите также

Ссылки

  1. ^ "AOL блокирует доступ к Trillian IM • The Register". The Register .
  2. ^ "AOL против Trillian продолжается | Новости | Geek.com". Архивировано из оригинала 2016-09-18 . Получено 2018-02-05 .
  3. ^ "FLAP - Frame Layer Protocol". AOL Developer Network . AOL. 2008-03-05. Архивировано из оригинала 2008-03-08 . Получено 2009-11-01 .
  • Официальная документация OSCAR (требуется вход в систему) - больше не доступна (12.07.2010)
  • Неофициальная спецификация протокола AIM/OSCAR. Архивировано 13 августа 2006 г. на Wayback Machine.
  • Архив официальной документации
  • FAIM: спецификация протокола FAIM/AIM/OSCAR
Взято с "https://en.wikipedia.org/w/index.php?title=OSCAR_protocol&oldid=1225675632"