Я должен реализовать простое приложение для отправки короткий, уведомляют сообщения относительно дисплея телефона GSM через модем GSM.
Я знаю, что могу использовать протокол USSD GSM для отправки сообщений вместо SMS для ускорения доставки.
Lorenzo
Вам необходим USSD-сервер/шлюз в среде оператора мобильной связи, подключенный к сети SS7 оператора. USSD-сообщения могут быть отправлены либо с мобильного телефона на USSD-сервер, либо с USSD-сервера на мобильный телефон. Невозможно отправить USSD-сообщение напрямую с одного телефона на другой, необходимо передать сообщение через USSD-сервер.
Сообщения USSD не стандартизированы, они специфичны для мобильной сети и приложений, поддерживающих USSD. Однако существуют некоторые де-факто стандартные USSD-сообщения, понятные многим HLR для запросов и настройки таких вещей, как переадресация вызовов.
USSD передается по SS7 с использованием протокола MAP. Бизнес-логика, реализованная поверх MAP, привязана к фактической реализации стека протокола. На стороне сервера это может быть аппаратное обеспечение (интерфейсные карты) плюс драйверы операционной системы или только программное обеспечение, например, SIGTRAN-Stack, в зависимости от поддерживаемого физического уровня (E1, SDH по оптоволокну, ATM или Ethernet). Образец приложения зависит от стека протоколов, на котором он работает. Ищите примеры приложений у производителя вашего интерфейсного оборудования или стека протоколов. На стороне клиента поддержка USSD зависит от устройства, например, через J2ME JSR 120 "Wireless Messaging API".
Доставка USSD не гарантирована, особенно в сценариях роуминга. Это зависит исключительно от вашего оператора мобильной сети. Если у вас нет соглашения с оператором, он может заблокировать ваши USSD-сообщения, особенно если обнаружит большое количество обходов его платных услуг обмена сообщениями.