Openpgp вУкаіни
cSipSimple:
OpenSource (GPL) project for SIP on Android.
* High performances
* Rewriting / filtering rules for integration with Android
* Many codecs (HD codecs, optimized codecs)
* Supported crypto. TLS for SIP and SRTP / ZRTP for media
More codecs (as the experimental Opus) and themes are available in plugins. Чесність підтверджується откитостью початкових кодів і популярністю - понад півмільйона завантажень.
Стандарт зв'язку CSD використовує голосовий канал, по стандарту зобов'язаний працювати завжди, дає 9,6 кбіт / с
Саме так, передача даних в gsm-мережах завжди була можлива за "комутованого з'єднання" - CSD, еволюціонували в HSCSD.
Тільки потім вже з'явилася пакетна передача даних - GPRS / EDGE.
Комунікатор управляє gsm / umts-модулем за допомогою AT-команд, за рахунок чого здійснює відправку / отримання SMS, здійснення / прийому дзвінків. Вкрай рідко буває, щось більш розумне в плані заміни AT-команд на варіанти IPC.
Відповідно кріптофон для gsm - це такий же комунікатор, як і будь-який інший, просто вміє використовувати свій gsm-модуль в якості модему / Вказуючи тип виклику при здійсненні вихідного дзвінка. Фактично це dial-up, коли на іншому кінці піднімають трубку, то два модему між собою починають обмін даними встановивши PPP. Далі йде обмін ключами по Діффі-халману, перевірка відбитків. Результати чого показуються користувачам на екрані комунікатора.
Кодування / декодування голосу аудіо кодеком, і симетричне шифрування виконуються цілком на центральному процесорі. Тобто обчислювальні потужності gsm / umts-модуля майже ніяк не використовуються, тому навантаження на ЦПУ комунікатора відчутно вище, ніж при звичайних дзвінках.
Одне але: в повному обсязі стільникові оператори підтримують CSD за замовчуванням. Часто потрібна активація послуги, і вона платна. Крім того, CSD в будь-якому випадку можливо тільки всередині GSM мережі. Саме тому я і акцентував увагу на нізкорейтних кодеках, що дають можливість замість CSD 9600 використовувати менш швидкісне модемне з'єднання поверх звичайного голосового каналу.
Що стосується реалізації, то можна використовувати GSM-модулі від китайських друзів: SIM900 (Simcom) або M12 (M80) (Quectel) з уже готовими хардверних інтерфейсами під дисплей, клавіатуру, аудіо, флеш-карту і т.д. У них чіпсети від MTK на базі ARM7 або 9. Китайці люб'язно надають компілятори з крек, АПИ ядра, приклади, доки. Тобто можна писати користувальницькі завдання, використовуючи сам модуль без зовнішніх ЦПУ. Правда, скажімо, на MELPE з його 40 MIPS цього явно недостатньо, але менш ненажерливий кодек може стати. Криптографія - взагалі не питання, я інклюд потрібні файли з PolarSSL, ніяких проблем.
Так що зробити свій GSM-кріптофон - не така вже й супер-завдання, одне але: якщо це комерційний реліз, то ніякого довіри (і попиту) не буде, а якщо opensource, то за безкоштовно возитися якось не хочеться;)
Якщо ось тут послухати семпли в "Table 1. Audio samples of Compandent's 600/1200/2400 bps MELPe", то навіть 2400 - це рідкісна жах. Годиться лише для переговорів військових і охорони, на кшталт підтвердження статусу та координації спільних дій. Тобто таких розмов, в яких використовується в цілому двісті-триста слів і набори усталених фраз.