mrimSMS
Вышла новуая версия утилиты mrimSMS для MAC, которая теперь сохраняет историю сообщений с возможностью поиска по номеру или содержимому.
Позволяет бесплатно отправлять SMS-сообщения на номера российских операторов
связи.
mrimSMS использует учетную запись Mail.ru и передает сообщения по протоколу
Агента сервиса. Также mrimSMS поддерживает Адресную книгу Mc OS X, позволяя
отправлять сообщения как на находящиеся в ней контакты, так и на произвольные
номера.
Доставка сообщения может занять некоторое время, которое зависит как от загрузки
оператора связи, так и сервера Mail.
В новой версии mrimSMS, также добавлена пересылка сообщений, англоязычный
интерфейс.
Принцип работы mrimSMS
mrimSMS представляет собой клиентское приложение, которое взаимодействует с серверами Mail.ru по протоколу Mail.Ru Agent (MRA). Для отправки сообщения утилита формирует специальный пакет данных, содержащий учетные данные пользователя, номер получателя и текст. Этот пакет передается через интерфейс, имитирующий работу официального мессенджера, что позволяет серверу воспринимать запрос как легитимный и инициировать отправку SMS через шлюзы операторов.
Протокол MRA изначально разработан для обмена мгновенными сообщениями и индикации присутствия между клиентом «Mail.Ru Агент» и сервером. Он работает поверх TCP и использует бинарный формат данных. mrimSMS эксплуатирует ту часть протокола, которая отвечает за трансляцию текста в SMS-сообщение, доступную в официальном клиенте. Приложение не взаимодействует с SMSC-центрами операторов напрямую, а полагается на инфраструктуру почтового сервиса как на посредника.
Задержка доставки обусловлена асинхронной природой шлюза: сообщение сначала попадает в очередь на стороне Mail.ru, затем передается в SMS-центр конкретного оператора, где ожидает обработки. Время прохождения зависит от текущей нагрузки обоих узлов. Отправитель не получает аппаратного подтверждения о доставке на SIM-карту абонента, а видит лишь статус, возвращаемый сервером Mail.ru, который может означать только факт приема сообщения шлюзом, но не его доставку до конечного устройства.


