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