0

Пейджер 2018

Пейджеры в России были достаточно популярны в 1990-х годах. В 1993-97 гг. они были модным аксессуаром и признаком успешности, а в 1997-99 гг. распространились практически повсеместно и стали обыденными. В начале 2000-х в связи с распространением мобильных телефонов и снижением стоимости услуг мобильной связи и SMS пейджеры практически исчезли из обихода к 2003 году, а к 2005 году большинство операторов прекратило обслуживание.

Пейджинговые операторы в России

В начале 90-х наряду с совсем недоразвитой мобильной связью активизировалось развитие пейджеров. К концу 90-х в одной только Ленобласти и СПБ было более 10 операторов пейджинговой связи, большинство из которых не охватывало даже половину её территории. Аналогично было и в других регионах. Стоимость услуг составляла от 100 до 300 рублей в месяц, что по тем временам было совсем не дешево. Стоимость же самих пейджеров колебалась от 800 до 3000 рублей. Где-то к концу 1999 года пейджерами владело около 10% населения крупных городов и 1% населения провинции, так как за пределами крупных городов пейджер был как правило бесполезен. Кроме того в России не было создано ни одного федерального оператора пейджинговой связи. Все операторы включая московских действовали в основном только в своих регионах иногда охватывая прилегающие части соседних. Роуминга также практически не было, так что на выезде пейджер автоматически становился бесполезным. Отсутствие симкарты в пейджере также исключало его самостоятельное переподключение к другому оператору.

Сперва пейджер пропал с поясов деловых мужчин, а потом исчез из карманов школьников. Ещё десять лет назад казалось, что он умер. Однако это не так — в 2018 году «бипер» возродился из пепла, попав в больницы, кабинеты чиновников, атомные станции и кафе у вашего дома. Мы его похоронили, а он вернулся.

Умер…

В 90-е пейджерами обвешивались все. В начале десятилетия они были показателем высокого статуса и шли в одном комплекте с ключами от Mercedes S-класса. В конце — вожделенным гаджетом для мальчишек и девчонок, а также их родителей; заигравшемуся во дворе отпрыску можно было бескомпромиссно пискнуть с требованием явиться домой. Чёрные коробочки генерировали тысячи забавных перлов, рождающихся в диалогах с операторами. Для этих историй выделялись целые колонки в газетах.

Пейджер — лицо эпохи 90-х, итог которой подвёл длинноволосый юнец с бутылкой «Пепси» в руке.

Однако с наступлением нулевых «биперы» вышли из моды. Во дворах всё чаще звучала фраза из анекдота: «Будешь как лох с пейджером ходить?». Ввязавшись в заранее проигранную войну с сотовыми операторами, пейджинговые компании агонизировали: сливались друг с другом, образовывали неформальные клубы и даже устраивали пейджинг-фестивали.

Телефония в итоге одолела «пищалку» дешевизной. Сегодня в реестре Роскомнадзора право предоставлять услуги персонального радиовызова имеет лишь одна компания — воронежская «Ньюком». Для сравнения: в 1998 году только в столице раскинули сети 24 оператора. Некоторые напоминают о себе до сих пор. Как нам рассказали в столичной компании «Информ — Экском Пейджинг», им и сегодня звонят бывшие абоненты с вопросами о подключении. На линии же сообщают, что этим давно не занимаются. Григорий Дубровин, бывший директор петербургской «Экском — Неда Пейджинг», рассказал нам, как умирал символ поколения Pepsi.

Около 6-7 лет назад пейджинговая связь начала по-настоящему умирать. Не выдерживали даже гиганты. Причина, конечно, в сотовых операторах с их возможностью отправки SMS. Ну и штука в том, что пейджинговая сеть имеет высокую себестоимость. Во-первых, операторы, которым нужно платить зарплаты. Во-вторых, площадь для их размещения. В-третьих, место на телебашне. А оно стоило иногда больше 100 тысяч. Потом нужно же ещё содержать частотный ресурс, платить производителям пейджинговых терминалов. Цена пробила потолок, и услуга стала невостребованной.

Григорий Дубровин бывший директор пейджинговой компании «Экском»

…И воскрес

Бизнесмены, конечно, понимали, чем дело кончится. Самые ловкие перепрофилировались за несколько лет до коллапса. Всё ещё получая некую прибыль от обслуживания пейджеров, они начали развивать на этой базе новые технологии.

Уже в 1996 году «Информ — Экском Пейджинг» переориентировалась на охранные системы. Об аналогичной метаморфозе рассказал и Таймур Двидар, генеральный директор компании «Мегапейдж».

Мы — те самые люди, которые в России внедряли эти устройства (пейджеры — прим. ред). Построили базовые станции и успешно оказывали услуги. Через пару лет поняли, что необходимо диверсифицировать бизнес, то есть распределить риски, из-за наступления мобильных операторов. (…) Пришла хорошая мысль: установить принимающие устройства, которые позволяли бы нам определять местоположение с использованием тех технологий, которые у нас были, — это радиочастоты для пейджинговой связи. Так и сделали. Мы определяем местоположение, принимаем сигналы с машины, отправляем команды, например заблокировать мотор.

Таймур Двидар бывший генеральный директор компании «Мегапейдж»

Перепрофилировались и колл-центры. Тот же «Экском», которым руководил наш собеседник, превратился в справочные службы «Эльдофон» и «Знак Ответа». А совладельцы нижегородской компании «МобилТелеКом-НН» в 2005-м запустили сеть салонов по продаже сотовых телефонов. В те смутные времена пейджеры хоронили сотнями. Однако стойкие гаджеты не сдавались. Они уходили в подполье, меняли внешний вид, забивались в узкие ниши, всеми силами цеплялись за пояс. Мутировали. И вернулись в 2018 год.

Пейджеры воскресли — теперь их можно найти в самых неожиданных сферах. Каких?

В медицине

Если вы смотрели западные сериалы о врачебной жизни, наверняка видели этот сюжет: врач потягивает кофе, как вдруг на «бипер» прилетает экстренное сообщение. Доктор мчит в нужную палату и своевременно спасает пациента от смерти.

За рубежом эта практика действительно широко распространена. По данным Guardian, только на долю Национальной службы здравоохранения Англии приходится 10% пейджинговой связи всего мира. Неудивительно, ведь одним из первых мест, где вообще заработали «пищалки», была лондонская больница. Технику запускала британская компания Multitone.

В 1979 году заграничный опыт переняли в… Советском Союзе, укомплектовав кареты скорой помощи. Систему построили на том же оборудовании от английской Multitone.

Затем этот способ связи взяли в оборот другие государственные службы. На летней Олимпиаде-1980 в Москве пейджеры внедрили в систему координации организаторов, исполнителей и службы безопасности. Казалось бы, удобная схема. Однако в современной России всё иначе. По словам врача Михаила Коневского, сегодня у наших экипажей скорой помощи «бипер» не в ходу. И от этого больше минусов, чем плюсов.

Пейджеров, в отличие от американских клиник, где они в ходу с 90-х, к сожалению, нет ни у врачей нашей неотложки, ни у медиков в приёмных покоях российских больниц. Зато, когда привозим больного, слышны крики: «Егор Михалыч! Ты где? Поди сюда! А кто в таком-то отделении дежурный?» Пейджеры заметно улучшили бы работу в больнице.

Михаил Коневский врач скорой помощи

В МЧС

Тем не менее гаджет всё ещё присутствует в российских спецслужбах. В 2011-м сотрудники МЧС занялись проектированием устройства для путешественников, которое при помощи спутниковой связи будет сообщать спасателям местоположение группы.

Впрочем, туристы подобные штуки уже используют. Трекеры не занимают много места, работают долго и позволяют следить за перемещением путешественников чуть ли не в режиме реального времени.

Помнят в МЧС и про классический пейджер. Он фигурирует в энциклопедии «Гражданская защита» под общей редакцией С. К. Шойгу.

«Бипер» указан как один из способов оповещения должностных лиц при чрезвычайной ситуации. Однако Григорий Дубровин рассказал нам, что спецслужбы давно перешли на ПМР — профессиональную мобильную радиосвязь. Самые современные устройства, работающие на этой связи, напоминают гибрид сенсорного смартфона и всем знакомой рации. ПМР используют на крупных промышленных предприятиях, в сфере охраны, а также в МЧС. Популярность их вызвана функциями, которые не предоставляют сотовые операторы: например, соединение сохраняется даже при выходе из строя базовой станции.

В кабинете мэра

С 2000 года можно написать на пейджер столичного градоначальника — 18 лет назад этот канал связи ввёл тогдашний глава Москвы Юрий Лужков. С тех пор мэр сменился, а гаджет остался — Сергей Собянин тоже принимает обращения от неравнодушных граждан. Правда, с помощью посредников.

На первый взгляд, всё организовано в лучших традициях пейджинговой связи, только чуть более официально. Оператор просит представиться дозвонившегося абонента, а потом выщёлкивает на клавиатуре краткое и содержательное обращение к политику. Если копнуть глубже, обнаружатся проблемы: на форумах жалуются, что толку от такого контакта нет. Более того, есть сомнения — действительно ли сообщения идут на пейджер, а не в бумажном виде на стол какого-нибудь департамента.

В ресторанах, пельменных, клубах

Пейджеры органично вписались и в ресторанный бизнес. Например, их выдают клиентам фудкортов. Чтобы не собирать у кассы толпу голодных людей, вместе с чеком идёт коробочка: пищит, когда заказ готов. Такие штуки вовсю используют и в модных ресторанах «Москва-Сити», и в региональных пельменных.

А ещё пейджеры выдают официантам.

Нехитрая система моментально сообщает работнику, если он срочно понадобился в зале или на кухне. Рядом с поварами, у столиков или бара ставятся кнопки — их нажимают, и на пейджер приходит оповещение, кто и где ждёт официанта. Делится опытом Анна Новикова, проект-менеджер и финансовый консультант ресторана «Магнолия».

Наши официанты не могут себе позволить лишний раз бегать на кухню и проверять, на какой стадии находится процесс приготовления. Тогда они будут создавать суету, мешать друг другу и гостям. (…) Пейджеры небольшие и удобные, легко крепятся на одежде. Принцип работы с ними, как и с клавиатурой повара, прост и понятен всем. Но самое главное, что такое техническое решение позволяет нам повышать производительность работы персонала и проявлять больше заботы в отношении наших гостей.

Анна Новикова проект-менеджер и финансовый консультант ресторана «Магнолия»

На атомных станциях

Наконец, пейджеры встречаются и в критически важных местах — например, на электростанциях. В Канаде и США сотрудники с их помощью общаются между собой, а компьютеры отправляют данные о состоянии оборудования. Правда, недавно компания Trend Micro обнаружила, что это может быть опасно для стратегически важных объектов. В качестве теста аналитики собрали огромную базу пейджинговых сообщений, узнав об исследуемых предприятиях практически всё. Ведь такая связь никак не шифруется. Но пока удобство перевешивает возможные опасности.

Не забывают о «биперах» и в РФ. В начале года Кольская АЭС закупила 260 экземпляров на 800 тысяч рублей.

Приобрели 150 штук Motorola Advisor и 110 — Motorola Bravo LX. Зачем? По ним сотрудники получат оповещения, если на станции ЧП. Сообщения разошлёт терминал, который подключён к компьютеру. За ним сидит оператор сети. Или, как вариант, массовую рассылку произведёт сетевое ПО.

Motorola Bravo LX, которую закупила КАЭС. На Ebay один экземпляр продают за сто долларов

Поскольку система локального пейджинга работает на особых частотах, послание пролетит даже сквозь бетонные стены. В течение 15 минут все, у кого сработал пейджер, обязаны собраться в специальном бункере. И решить, что делать дальше.

И нефтяных заводах

В прошлом году на техвыставке петербургский производитель противопожарных датчиков «Аргус-Спектр» показал браслет «Стрелец-ПРО» — гибрид пейджера и фитнес-трекера. Согласно замыслу компании, браслет должен не только отследить местонахождение сотрудников, но и своевременно сообщить им о ЧП. Авторы гаджета надеются, что смогут интегрировать разработку в структуру нефтеперерабатывающих и газодобывающих предприятий, ВПК и медицинских учреждений. Судя по тому, что браслет оценил Владимир Путин и сотрудники Минпромторга, шансы у «Аргуса» есть.

Конечно, это всё не те «биперы», что в 90-х носили на поясе. Из общего разве что принцип персонализированного вызова, да название аппарата. Ну так и ваш смартфон значительно отличается от звонилок 20-летней давности — что не делает их принципиально разными устройствами.

Бывшая икона 90-х мутировала — стала другой, но всё ещё полезной. Сегодня пищащий приборчик превратился в тревожную кнопку, которая предупреждает и спасает жизни. Неслучайно в последних «Мстителях» Ник Фьюри вызывает супергероев с помощью «бипера». Отныне пейджер идёт в ход, когда надо спасти Землю. Ну или забрать заказ.

Прочитав заголовок, вы, наверное, немного удивились необычности задачи, которую я перед собой поставила. Однако, как ни странно, пейджеры до сих пор иногда могут пригодиться в жизни, даже несмотря на появившееся в последние 15 лет обилие других средств коммуникации. Один из частных случаев их применения — (около)медицинское учреждение, расположенное в железо-бетонном здании, глушащем WiFi и сигнал мобильного телефона. Обслуживающий персонал, тем не менее, должен каким-то образом получать сообщения о том, куда им надо срочно переместиться в случае чего. Для решения этой проблемы руководство учреждения в нашем случае поставило себе дорогую станцию и раздало всем сотрудникам пейджерА пейджеры, которые должны были среди прочих принимать наши сигналы. Соответственно, нашей (меня и моих коллег) задачей являлась их отправка.
Уже прошли те времена, когда для отправки текста на пейджер надо было сначала пообщаться с сонной девушкой с телефонного узла. Теперь достаточно дозвониться до станции и набрать номер абонента и сообщение в тоновом режиме. Арсенал при этом сильно ограничен: можно отправлять только цифры, символы * и #, иногда буквы ABCD. Но для передачи, скажем, номера комнаты или кода ошибки должно хватить. Это довольно сильно упрощает задачу и роднит её с другими — с дозвоном в общую переговорную комнату, например.
Несмотря на кажущуюся прозрачность решения и вторичность моего опыта, я решила подробно описать свои действия, потому что информации в интернете по теме представлено не очень много: на форумах на вопросы отвечают редко и неметко. Кому-то этот текст, возможно, сильно сэкономит время.

Шаг 1 — INVITE

Первый этап — дозвон на пейджинговую станцию — был реализован через протокол SIP и с помощью соответствующей Java-библиотеки jain-sip. Самое лучшее описание принципов работы протокола я нашла на Хабре в публикациях «Взаимодействие клиентов SIP. Часть 1» и «Взаимодействие клиентов SIP. Часть 2», а самый удобоваримый туториал по джейн — вот (но коллекция примеров отсюда отказалась получше).
В качестве предпоготовки я создала класс:
public class SipNotificator implements SipListener
c необходимыми полями, которые вначале должны быть инициализированы так, как указано в туториале:
private SipProvider sipProvider; private SipFactory sipFactory; private SdpFactory sdpFactory;//пригодится позже private AddressFactory addressFactory; private HeaderFactory headerFactory; private MessageFactory messageFactory;
Как предписывают нам правила, сначала необходимо отправить INVITE-сообщение на телефон. Обратите внимание на то, что адресат в To- и Request-хедерах записывается по-разному. В первом случае заголовок просто собирается из глобального телефонного номера:
Address toNameAddress = addressFactory.createAddress( addressFactory.createTelURL(adresseenumber)); ToHeader toHeader = headerFactory.createToHeader(toNameAddress, null);
Во втором случае необходимо указать хост, с которого производится отправка сообщения, инициирующего общение:
URI requestURI = addressFactory.createAddress(«sip:»+adresseenumber+»@»+host+»;user=phone»).getURI();
Другим интересным элементом является, собственно, тело SDP-сообщения, представляющее собой описание того, что понадобится для успешной коммуникации. В нашем случае оно выглядело примерно так:
String sdpData = «v=0\r\n» + «o=4444 123456 789054 IN IP4 «+InetAddress.getLocalHost().getHostAddress() +»\r\n» + «s=phone call\r\n» + «p=»+phoneusername+»\r\n» + «c=IN IP4 «+InetAddress.getLocalHost().getHostAddress() +»\r\n» + «t=0 0\r\n» + «m=audio «+localUdpPort+» RTP/AVP 0 8 18 101\r\n» + «a=rtpmap:0 PCMU/8000\r\n» + «a=rtpmap:8 PCMA/8000\r\n» + «a=rtpmap:18 G729A/8000\r\n» + «a=fmtp:18 annexb=no\r\n» + «a=rtpmap:101 telephone-event/8000\r\n» + «a=fmtp:101 0-16\r\n» + «a=ptime:20\r\n» + «a=sendrecv\r\n»;
Атрибуты «o» и «s» не являются особо важными, в «p» пишем свой телефон. Основная часть — «m» (media), в которой прописываются используемые кодеки (в нашем случае на отправителе они могут быть не установлены) и порт для принятия ответов по теме.

Шаг 2 — аутентификация

Если нам удалось отправить правильный инвайт, то в лучшем случае сервер-получатель пришлет нам желанное OK-сообщение со статусом 200, а в худшем — решит еще немного помучить идентификацией. Во втором случае ответый статус будет 401 или 407. Вот код, с помощью которого посылается ответ. Для его поддержки понадобится одна из последних версий jain-sip (например, 1.2.228). Его надо поместить в метод processResponse(), получающий в качестве аргумента ResponseEvent responseEvt.
if (status == 401|| status == 407){ AuthenticationHelper authenticationHelper = ((SipStackExt) sipProvider.getSipStack()).getAuthenticationHelper( new AccountManagerImpl(this.phoneusername, this.password), headerFactory); transaction = authenticationHelper.handleChallenge(responceEvt.getResponse(), responceEvt.getClientTransaction(), sipProvider, 15, true); dialog = transaction.getDialog(); transaction.sendRequest(); }
Обратите внимание на четверый аргумент метода handleChallenge(), без него формат сообщения изменится, станет неподходящим и ваша аутентификация провалится.
Классы AccountManagerImpl и тоже неоходимый UserCredentialsImpl должны быть дописаны вами, я их писала по модели тех, что представлены .
После отправки своих регистрационных данных мы можем смело ожидать искомый 200 OK, на который надо не забыть отправить ACK. Такой тип сообщения изготавливается крайне просто:
Request ackRequest = dialog.createAck( ((CSeqHeader) responseEvt.getResponse().getHeader(CSeqHeader.NAME)).getSeqNumber() ); //dialog — текущий диалог

Шаг 3 — SIP INFO

Дальше начинается самое интересное — отправка DTMF-сигналов (те самые нажатия в тоновом режиме). Глобально это можно сделать через два разных протокола: через SIP и через RTP . Естественно, поначалу было решено пойти по пути наименьшего сопротивления. Для каждого символа формировался вот такой запрос, который потом нужно было отправить на сервер:
Request info = dialog.createRequest(Request.INFO); String sdpData = «Signal=»+digit+»\r\n» + «Duration=200»; byte contents = sdpData.getBytes(); ContentTypeHeader contentTypeHeader = headerFactory.createContentTypeHeader(«application», «dtmf-relay»); info.setContent(contents, contentTypeHeader); ClientTransaction transaction = sipProvider.getNewClientTransaction(info); Dialog dialog = transaction.getDialog(); dialog.sendRequest(transaction);
Сама процедура отправки выглядит немного странно (кажется, построенной по модели «через Жмеринку в Париж»), но иначе у меня ничего не работало. Вообще библиотека мне показалась немного глючной: очень часто одно из нескольких решений, выглядевших по большому счету одинаково, не срабатывало.
Что я могу сказать? После реализации этого шага оказалось, что не все VoIP-сервера одинаково дружелюбны: некоторым достаточно было сигналов, передаваемых через SIP, а кому-то их не хватило, так как они не производят звукового сигнала и потому остаются незамеченными. Естественно, по закону подлости моей целью был сервер второго типа. Поэтому…

Шаг 4. формирование RTP-пакета

Вообще когда я осознала, что одним SIP-ом проблему не решить, я надеялась, что хотя бы смогу воспользоваться другой библиотекой, которая умеет ненапряжно отправлять DTMF-сигналы. Но не тут-то было. Обычно, если мы говорим «RTP через джаву», то подразумеваем JMF. Но, во-первых, она уже старенькая и не особо поддерживается. Во-вторых, она больше подходит для передачи более сложных медиа. В-третьих, туториалы, которые мне удалось найти, были не очень толковыми. Вот один из примеров из документации, в середине которого всплывает некая rtpSession, следов которой в первые сколько-то минут поиска мне найти вообще не удалось.
Другим вариантом была библиотека libjitsi, представляющая из себя целый коммуникатор. Из неё ничего позаимствовать тоже не удалось, хотя там есть милая метода sendDTMF или что-то в этом духе. Структура кода такова, что он берётся или целиком, или никак. В итоге было решено по-нормальному сделать человеческий пакет и отправить его через UDP-соккет.

Итак, вот значимый фрагмент класса RtpPacket: его основные поля и конструктор со значениями, подходящими для передачи DTMF. Что значат все эти вещи, написано много где, поэтому повторяться не буду. Отмечу только, что значение параметра ssrc в принципе роли не играет, но у всех отправляемых в одной сессии пакетов оно должно совпадать. Номер формата полезной нагрузки у DTMF-пакетов (payload type) — 101 (его мы прописали, когда инициировали SIP-коммуникацию).
private int version; private boolean padding; private boolean extension; private int csrcCount; private boolean marker; private int payloadType; private int sequenceNumber; private long timestamp; private long ssrc; private long csrcList; private byte data; public RtpPacket(){ this.setVersion(2); this.setPadding(false); this.setExtension(false); this.setCsrcCount(0); long list = {}; this.setCsrcList(list); }
Самый важный этап создания пакета — заполнение байтового массива данных. У DTMF, естественно свой формат: первый байт — это, собственно, значение передаваемого сигнала (от 0 до 16), первая половина второго байта — различные маркеты (обычно 0), вторая половина второго байта- громкость (стандартное значение — 10), остальные два — это длительность (стандартное значение — 160).
Для каждого сигнала создается около 10 пакетов (число может варьироваться):
— первый, начальный, имеет marker = 1, остальные — 0;
— последние три — конечные, marker = 0, зато первый бит второго байта блока данных = 1. Блок данных в неконечном пакете для передачи сигнала 1 будет выглядеть так:
0000 0001 0000 1010 0000 0000 1010 0000 значение громкость длительность
А в конечном вот так:
0000 0001 1000 1010 0000 0000 1010 0000 значение end громкость длительность
Метка времени у всех DTMF-пакетов, относящихся к одному сигналу, может оставаться одинаковой (предположим, T). Зато время следующего пакета должно быть:
T+(количество DTMF-пакетов * длительность пакета)

Шаг 5. RTP-канал

Можно было создать только один соккет для отправления и принятия сообщений. Но — в любом случае — никакой отправки, естественно, не случится, если не знать хоста и порта назначения. Это уже совсем не те данные, через которые проходила SIP-коммуникация. Свои координаты телефонный сервер присылает нам в ответных SIP сообщениях во время нашего дозвона. Их можно получить, вставив в метод processResponce() вот такой код (тут можно увидеть, зачем мы ранее инициализаровали sdpFactory):
Response resp = responceEvent.getResponse(); int remoteHost; int remotePort; if (resp.getRawContent()!=null){ String sdpContent = new String(resp.getRawContent()); SessionDescription requestSDP = sdpFactory.createSessionDescription(sdpContent); remoteHost = requestSDP.getConnection().getAddress();//хост запрятан в Connection Information Vector<MediaDescription> media = requestSDP.getMediaDescriptions(false); for (MediaDescription m:media){ if (m.getMedia()!=null ) remotePort =m.getMedia().getMediaPort();//порт можно найти среди данных media } }
Дальше, как я наивно полагала, мне оставалось только понаделать из моих байтов DatagramPacket’ов, засунуть их в сокет и запулить в сервер. Но не тут-то было. В ответ сервер продолжал обрывать коммуникацию на полуслове, как будто ничего и не получал. А Wireshark в принципе не принимал мои сообщения за RTP, отображая из как простые UDP.

Шаг 6. RTP-коммуникация

На то, чтобы понять, в каком направлении двигаться дальше, ушло много времени. Я вложила много усилий в то, чтобы перечитать все имеющиеся в наличии спецификации и сто раз проверить свои пакеты на правильность. На седьмой же день Зоркий Глаз в моем лице заметил, что стандартная RTP-коммуникация не начинается сразу же с отправки DTMF-данных, а что ей предшествует непродолжительный обмен пакетами с сервером, которые выглядят несколько иначе.
Формат полезной нагрузки, объявленный в заголовке, равен 0, данных нет, зато есть собственно сама полезная нагрузка (payload), которая занимает 160 байт. Этот набор байтов различается во всех приходящих и уходящих сообщениях и выглядит составленным довольно случайно. Так или иначе, я не смогла найти информации о том, как именно он должен формироваться, поэтому каждый раз забивала его рандомами.
После того, как я стала отправлять эти вспомогательные пакеты перед каждым DTMF-сигналом, Wireshark наконец-то признал RTP-формат. Всё выглядело лучше, но коммуникация по-прежнему прерывалась, хотя сервер теперь от радости тоже стал меня забрасывать «пейлодными» пакетами.
Я уже и не знала, что еще бы могла сделать, но тут вспомнила, что RTP есть брат-неразлучник — RTCP. Проблема, по всей видимости, действительно была в нем: сервер пытался мне что-то отправить, но ему от меня постоянно приходили сообщения о том, что соответствующий порт закрыт. Поскольку я не хотела заморачиваться отправкой еще и RTCP-пакетов, я начала просто с открытия чакры порта:
DatagramSocket socket = new DatagramSocket(localUdpPort, InetAddress.getLocalHost()); DatagramSocket controlSocket = new DatagramSocket(localUdpPort+1, InetAddress.getLocalHost());//порт должен быть на 1 больше, чем у RTP
Это оказало решающее воздействие: абонент получил моё сообщение «305*1*66» на пейджер!

Заключение

В последних строках моей телеги хотелось бы подчеркнуть, что это мой первый пост на Хабре, так что не судите меня строго. Я совершенно не считаю себя гуру телематики или чего-либо ещё. Просто при написании исходного кода очень много времени ушло на поиск информации. Что-то я находила в спецификациях, которые от начала до конца в один присест осилить было сложновато, что-то было описано нормальным языком, но как-то неярко мелким шрифтом на полях, что-то я делала наугад. Так что в какой-то момент просто решила, что если у меня всё получится, я опишу все свои действия в одном месте и оставлю это индексироваться где-нибудь в интернете.
Так что очень надеюсь, что хоть кому-то моя статья пригодится или хотя бы покажется интересной.

Сейчас мы настолько привыкли к смартфонам, что даже остаться на несколько дней с глупой «звонилкой» — настоящее испытание. Но в прошлом телекоммуникационных технологий есть одна занятная, и очень длинная, глава: пейджеры.

Крошечные приемники с черно-белыми экранами и мизерными, по современным меркам, возможностями. Рассказываем, как развивались эти гаджеты и почему они до сих пор в ходу.

Для начала, стоит понять, что скрывается под определением «пейджер». И почему современный смартфон, который легко получает SMS-сообщения — ему не родня.

Да, уже есть люди, которые не в курсе

Пейджер это радиочастотный приемник, который может принимать сообщения, транслируемые на определенной частоте, по специальной сети базовых радиостанций.

Сообщения отправляются из центра пейджинговой связи — обычно человеку требовалось позвонить и назвать номер получателя оператору. Позже появилась возможность использовать электронную почту.

Как появились пейджеры?

Первый пейджер от компании Motorola

Изначально система, отдаленно напоминающая будущие пейджеры, появилась у полиции Детройта в 1921 году. Тогда машины стражей порядка оборудовали примитивными радиоприемниками.

Однако день рождения пейджера пришелся на 1949 год, когда соответствующее изобретение запатентовал изобретатель Альфред Гросс (этот же человек приложил руку к разработке переносных раций). Тогда название «пейджер» еще не использовалось, а устройства предназначались для медицинских сотрудников.

При этом Федеральная комиссия по связи одобрила использование таких приемников только к 1958 году: это поворотная дата в их истории.

Уже в 1956 году компания Motorola присвоила таким гаджетам имя «пейджер», а заодно закрепила за собой лидерские позиции в этой продуктовой категории — на четыре десятилетия вперед.

Однако первый коммерчески успешный пейджер на потребительском рынке появился лишь 1974 году и назывался Pageboy I. У него не было дисплея, а также внутренней памяти для хранения сообщений, однако он работал — уведомляя пользователей звуковыми сигналами.

Из-за этой особенности за устройствами закрепилось альтернативное название, биперы. Такой скромной функциональности было достаточно для того времени. Услышав нужный сигнал, полицейские возвращались в отделение, а медики связывались с операторами ради получения информации.

Вот так выглядел Pageboy 1

В 1970-х пейджеры научились принимать сообщения разного тона и даже голосовые месседжи. Но технология по-прежнему развивалась неторопливо. К 1980 году в мире насчитывалось около 3,2 млн пейджеров.

Причиной относительно небольшой популярности была ограниченность зоны, в которой могли работать приемники — она не превышала 40 километров. Пейджеры использовались локальными спасательными, медицинскими или полицейскими отделениями.

У нас тоже знали об этой штуке. Только немногие

К слову, на 1980-й приходится и первый пик использования пейджеров СССР. Тогда в Москве проходили XXII летние Олимпийские игры, а пейджеры выдали узкому кругу служебных работников. Впрочем, главные события развивались за океаном.

Пейджеры начали усложняться в плане функциональности. Появились модели с крохотными экранчиками — сначала была доступна передача только чисел, потом можно было отправлять и короткие сообщения, на манер современных SMS.

В начале 80-х создатели наконец преодолели географические ограничения пейджеров — они начали работать в масштабах городов, штатов и даже стран.

Кроме того, отправитель мог заказать отправку сообщения в определенное время или повторные вызовы — чтобы абонент наверняка получил сообщение, даже если временно находился за пределами охвата пейджинговой сети.

Во главе стояла компания Motorola, в 1986 выпустившая самую популярную в мире модель пейджеров — Bravo.

В 1988 году компания SkyTel официально ввела в эксплуатацию на территории США общенациональную пейджинговую сеть с поддержкой текстовых сообщения, что спровоцировало ажиотаж среди потребителей. К 1990 году в мире было около 22 млн активных пейджеров, к 1994 это количество уже достигло 61 млн.

Пейджер стал статусным устройством — помимо функциональной пользы он приносил своему владельцу значимость в глазах окружающих. Последними серьезными технологическими новшествами в мире пейджеров стали «твейджеры», пейджеры с двухсторонней связью.

Они отдаленно напоминали кнопочные коммуникаторы и оборудовались откидной QWERTY-клавиатурой, с помощью которой можно было набирать ответные сообщения.

Вот так выглядел популярный Твейджер SkyTel.

Первый твейджер Tango в 1996 году выпустила Motorola, при телекоммуникационной поддержке SkyTel. Однако к тому времени было понятно — мобильная связь и сотовые телефоны вытеснят пейджеры обратно, в профессиональную среду.

К 2001 году интерес к рынку потеряли два ведущих производителя, Motorola и Glenayre.

Телефоны победили.

Пейджеры мертвы? Нет

В США пейджеры продолжают использоваться медиками, полицейскими, спасателями, рядом частных компаний, а лидером затухающего рынка, который в 2009 году принес $361 млн прибыли, стала компания Spok.

Кстати, если присмотритесь к «Доктору Хаусу» или «Клинике», то сможете заметить — все врачи в шоу носят пейджеры.

Такая связь имеет несколько преимуществ:

  • высочайшая надежность, несравнимая с уязвимыми телекоммуникационными сетями
  • дешевизна устройств
  • возможность легко записать все отправляемые сообщения для последующего использования в протоколах
  • при средней частоте использования пейджеры живут до 30 дней на одной AAA-батарейке

Что касается отечественных реалий, то золотым веком для пейджеров стал период с 1993 по 1998 год. Они были популярной возможностью оставаться на связи, не тратя более $1000 на мобильник.

Пейджеры обычно пристегивали на ремень — некоторые буквально заворачивались в пояс из маленьких черных биперов. Расцвел и рынок устройств, стилизированных под них: к примеру, среди школьников особой популярностью пользовались часы в виде пейджера.

При этом нужная телеком-инфраструктура для пейджеров была развита слабо. За все эти годы в стране так и не появился ни один федеральный оператор пейджинговой связи.

Работали местные компании, в лучшем случае охватывающие область и прилегающие территории. Средняя абонентская плата составляла от 100 до 300 рублей, немалые на то время деньги. К этому стоит прибавить стоимость самого устройства, составлявшую минимум 800 рублей.

Пейджерами можно пользоваться и сегодня

Сейчас большинство пейджинговых операторов закрылись или сменили курс: помимо предоставления пейджинг-услуг для частных охранных или курьерских компаний они организовывают call-центры.

Однако в Москве, например, по-прежнему можно воспользоваться услугами «Информ-Экском» (да, сайт у них застрял в 2000-х). Там же можно купить и пейджер.

Другое дело, что смысла в этом практически не осталось. После кризиса 1998 года пейджинговая сеть быстро рухнула под навалом абонентов, которые открыли для себя резко подешевевшую мобильную связь.

Ну а теперь, с приходом мобильных сетей третьего и четвертого поколения, главным козырем стал интернет. А пейджерам осталось только ютиться в своей скромной профессиональной нише. Но ведь мы их не забудем, правда?

А какой пейджер был у тебя?

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *