The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Осуществление ОGSM/SMS/USSD вызовов..."
Отправлено auto_tips, 23-Янв-12 12:48 
На сервере используем Gentoo Linux, к которому через USB-порт подключен телефон Neo Freerunner (Openmoko + SHR).
  
1. Убедимся, что ядро Linux собрано с опцией "Ethernet over USB". При выполнении dmesg будет выведены примерно такие сообщения:

   [ 3167.874749] udev[1339]: renamed network interface eth2 to eth4
   [ 3187.500221] cdc_ether 4-2:1.0: eth4: unregister 'cdc_ether' usb-0000:00:1d.2-2, CDC Ethernet Device
   eth4      Link encap:Ethernet  HWaddr 00:1f:11:01:43:af
          inet addr:192.168.7.14  Bcast:192.168.7.255  Mask:255.255.255.0
   ...

2. Ставим Apache и PHP, включая PHP-расширение SSH2, которое в дальнейшем пригодится.

3. Выбираем телефон на который можно поставить дистрибутив [[http://wiki.openmoko.org/wiki/SHR SHR]] (http://www.shr-project.org), в состав которого входит полезная консольная утилита mdbus2. В качестве телефона задействован Neo Freerunner, но подойдут и другие аппараты, [[http://wiki.shr-project.org/trac/wiki/Devices поддерживаемые]] в SHR (Nokia N900, Palm Pre, Pre Plus, Pre 2, HTC Desire, HTC Dream, HTC HD2, iPhone3G, Nexus One и т.п.)

4. Заливаем с Linux-машины на телефон прошивку:

   dfu-util -d 1d50:5119 -a u-boot -R -D qi-ubi-s3c2442.udfu
   dfu-util -d 1d50:5119 -a kernel -R -D uImage-2.6.39-r6-oe16-om-gta02-20111217193821.bin
   dfu-util -d 1d50:5119  -a rootfs -R -D shr-image-om-gta02.ubi

5. Настраиваем соединение:

   # cat /etc/hosts | grep 192
   192.168.7.2     neo

   # ssh neo

   root@om-gta02:~# ifconfig  usb0

   usb0      Link encap:Ethernet  HWaddr 00:1F:11:01:43:AE
          inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0
   ...

6. Далее открываем консольную утилиту mdbus для диагностики и обмена данными. Нам потребуются сервисы USSD, SMS и VOICE.

USSD вызов:

   ssh neo  "mdbus2 -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Network.SendUssdRequest '*102#'

VOICE вызов:

   ssh root@neo  "mdbus2 -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Call.Initiate '+790XXXXXXX' 'voice'"

SMS вызов:

   ssh neo "mdbus2 -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.SMS.SendTextMessage  '+7903XXXXXXX' 'Hello world' '1'"

Ссылки по которым можно разобраться в работе mdbus:

   http://wiki.openmoko.org/wiki/OpenmokoFramework/mdbus
   http://docs.freesmartphone.org/


7. Создаём PHP-скрипт для выполнения звонка с использованием библиотеки SSH2:

   <?php
   $connection = ssh2_connect('neo', 22);

   if (ssh2_auth_password($connection, 'root', '')) {
      echo "Authentication Successful!\n";
   } else {
      die('Authentication Failed...');
   }
   $shell = ssh2_shell($connection,"bash");

   $stream = ssh2_exec($connection, 'mdbus2 -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Call.Initiate \'+7903XXXXXXX\' \'voice\'');

   echo " SetMicrophoneMuted = 1 \n ";

   $stream1 = ssh2_exec($connection, 'mdbus2  -s org.freesmartphone.frameworkd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Device.SetMicrophoneMuted \'1\'');

  echo "$stream";
  echo "calling to +7903xxxxxxx (POPOV DMITRY)";

  echo " Sleep 10 sec  \n ";

  sleep(20);

  echo " Release GSM call  \n ";

  $stream2=ssh2_exec($connection, 'mdbus2 -s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.Call.ReleaseAll');

  $output = stream_get_contents($stream);

   echo "$output";
   ?>

URL:
Обсуждается: http://www.opennet.ru/tips/info/2659.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру