«Мы не запрещаем, но и не обещаем, что у вас будет работать»
Ну что, давненько не было приколов про железо, поделюсь.
Как вы думаете, чего не хватает молодому, красивому, жаждущему свершений на ниве телефонии? На слуху есть чудо и монстр, Asterisk, может все (если правильно просить). Но для освоения навыков было бы неплохо получить настоящий боевой транк от провайдера, чтобы "уж точно" и "наверняка": одно дело всякие чат-боты, а другое - когда тебе этот бот звонит или написывает смс. А может, и не только тебе, а, например, интересуется температурой забортной воды у авто на парковке за 2 микрорайона. Как бы не так: провайдеры могут продать транк только юрлицу, поэтому используем хитрый маневр и идем на авито за gsm-модемом, будем городить gsm-шлюз (можно еще спаять и запрограммировать, но это как-нибудь потом, под настроение). Заказываем симку у любимого оператора, втыкаем одно в другое, другое в комп с Астериском и ловим модем.
Во-первых, модем придется заставить работать как модем, ибо искаропки у него куча всяких плюшек из расчета на обычного пользователя. А "мы не такие". Чтобы увидеть код ID 12d1:1001 (да, Huawei, вариантов у нас не много) придется применить прием "передернуть на горячую", когда код в модем отправлен, но в память он запишется только после "упс, питание пропа...".
Во-вторых, не все провайдеры хотят, чтобы в их драгоценные модемы кто-то пихал чужие симки (а я-то свою симку не на помойке нашел, так что все в порядке) и придется разлочить. Схемы в открытом доступе, ни к чему не призываю, все на свой страх и риск.
В-третьих, флаг вам в руки даст набор AT-команд, посредством которых модем (телефон в принципе) управляется, но есть но: так уж вышло, что сами команды вполне себе описаны и имеют стандарт, но корпоративная этика не позволяет просто взять и отдать "честный" набор команд. То есть, «Мы не запрещаем, но и не обещаем, что у вас будет работать». Чтобы принять мелкую СМС надо прям сильно иметь желание реверсить это хард-порно. Ситуацию облегчает Github (тоже, своего рода, порно) и там можно найти комбинации таких же маньяков. Но есть еще одно но: да, Астериск вполне может стрелять СМС, но с приемом беда, ибо модем их кладет в память СИМ размером с горох, а конфигурацию по подмене он хрен запоминает!
История уходит корнями в древность, когда у меня были волосы до плеч, а великолепная троица операторов для вывода в мир нового сервиса в виде мобильного интернета заказывает этот модем у Huawei. Заказывает, платит бабосы, просит сделать свой красивишный интерфейс (уникальный, штоб всем на зависть) и залочить его, дабы паства не разбежалась. Huawei были те еще засранцы и мало того что сделали свои прошивки и никому не дали, так еще и отошли от православных стандартов и прописали все это в железе. Получилось, что сервис работает только на софте Huawei'ев, на интерфейсе только заказчика. Было не до альтернатив, "некогда объяснять, надо стричь бабосы".
Эта позиция "намбар уан" нас приводит к трем путям, как ни странно:
1 (жоска!) натягивать на порт снифер и реверсить протокол. Из минусов - у вас должна быть борода, свободное время и желание принести пользу таким же отъявленным любителям халявы. Есть шанс подчинить себе это устройство и затем на его базе развить некоторый сервис. Сейчас эти модемы продаются за 5 рублей пучок из-за выше описанных сложностей (да и нахрен такие сложности любителям кататься вдвоем на самокате за кокосовым молоком?)
2 (не так жоска) это есть вариант спаять из готовых компонентов. Борода уже не нужна, нужен дырявый свитер, паяльник, микроскоп и немного времени: команды AT стандартные, модули современные, секретов нет, промдизайн все дела. Есть шанс создать свое устройство под свои задачи, прикрутить к микроконтроллерам и творить любые непотребства в пределах разумного.
3 (на чиле, на расслабоне) я не знаю, как так получилось, что от тестов с потоками я погрузился в суть процессов, но уж таков я есть. Кому-то интересно просто идти (или дойти), мне же, видимо, за углом или в кустах интереснее. Пойду проверю бороду, дырки на свитере и, кажется, я знаю, что попрошу у Деда Мороза на Новый год.