Обсуждение CSD в соседней теме наталкивает на мысль об актуальности p2p передачи данных на фоне непонятного игнорирования CSD как производителями, так и сисопами. На сколько я понимаю, CSD получаем при использовании фактически голосового фрейма, подаваемого не на кодек, а на FEC, т.о. имеем 9600 bps при одинаковой с голосом нагрузке для оператора (или даже меньше, т.к. не надо транскодировать). Так что ограничения тут не технического плана, а скорее коммерческого ИМХО. После разговора с CADiLO проверил: в Украине только Life поддерживает CSD на общих тарифных планах, но, как сообщили в поддержке - неофициально и без никакой гарантии, кроме того, могут и блокировать карту за нецелевое использование (?!).
В итоге имеем 4 классических способа передачи данных (например, опрос датчиков телеметрии) в GSM:
- GPRS: не совсем p2p (требуется IP сервер), абонент должен постоянно поддерживать связь и слать KeepAlive (иметь ненулевой баланс с постоянным расходом средств);
- CSD: в большинстве требует M2M тарифа;
- SMS: доставка не гарантирована как по времени, так и по факту;
- DTMF: в лучшем случае 50 бод.
Но есть интересная альтернатива, о которой ранее на форуме не упоминалось: eCall. Система использует специальный псевдоречевой модем, проходящий через голосовой канал GSM с перезапросами, и позволяет гарантированно передавать блоки данных в 140 байт за время до 10 сек (реально требуется меньше секунды) через обычный головой звонок. Номер не обязательно 112 (можно указать любой).
Исходный код доступен, поэтому для поднятия своего PSAP-сервера достаточно прикрутить аудио (лучше к digital audio bus) и скомпилировать, это на час работы.
И самое интересное: документ GSM_eCall_Application_Notes_V1.2 от Quectel. В модуле реализована поддержка как клиента, так и севрера (для тестирования), т.е. в режиме сервера получаемые данные отображаются через URC. Т.о. с помощью OCPU можно очень просто организовать p2p канал данных по голосовому звонку.
Вопрос к CADiLO: а как обстоят дела с SIMCOM?
И вопрос к Quectel: планируется ли поддержка eCall в M66?