The OpenNET Project / Index page

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

Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
На сервере используем 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. Выбираем телефон на который можно поставить дистрибутив SHR
(http://www.shr-project.org), в состав которого входит полезная консольная
утилита mdbus2. В качестве телефона задействован Neo Freerunner, но подойдут и
другие аппараты, поддерживаемые в 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";
   ?>
 
23.01.2012 , Автор: Дмитрий Попов
Ключи: sms, phone, linux, openmoko, mdbus, gsm, voice, php / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Мобильные телефоны

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (-), 12:48, 23/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Фактически, это получается удалённый аналог клавиатуры телефона, верно? проброса аудио нету?
     
     
  • 2.3, Inc_Vega (??), 18:04, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    да можно  сделать web и спокойно делать тестовые звонки.
     

  • 1.2, iZEN (ok), 14:54, 23/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Текст статей обычно начинается словами для чего это нужно и зачем. В этой статье сразу с места и в карьер.
     
     
  • 2.4, Inc_Vega (??), 18:07, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну как обычно :)
     

  • 1.5, Denis (??), 19:05, 23/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Впринципе не плохая статья, но правда, зачем звонки через php?
    Лучше более подробно изложить идею отправки сообщений и запросов USSD, но звонки помойму лишнее...
    Допустим я сейчас занимаюсь написанием скрипта для отправки SMS в случае падения сервера с автоматической отправкой еще письма более подробного на мыло и записями в лог, когда что и во сколько и как долго сервер лежал и что было причиной....

    вот по сути сейчас интересуют такие статьи, хотя их этой тоже можно чего интересного взять, спасибо

     
     
  • 2.6, Inc_Vega (??), 22:09, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Думаю для вас совсем все просто :)
    Купите телефон один из списка настройке как по инструкции
    и делов то ,  SNMP трапы в тексе SMS :)  2 минуты делов
    для запуска можно на bash написать или perl, по факту HSR это дебиан там можно покрону запустить опрос сервера и в случае если что-то не работает он вышлет SMS, да море вариантов на самом деле. Мне нужно было  Тесты делать для людей поэтому они заходят на страничку выбиратют тип соединения и спокойно снимают трейс. GPRS  я еще доделаю. более того можно послать на телефон SMS с помощью mdbus2 просмотреть и выполнить вашу комманду без всякого труда. Тоесть хотите вырубить сервер 1 коммана и он погиб :)
     

  • 1.7, Аноним (-), 22:11, 23/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для этого рецепта надо где-то взять телефон с линуксом. Это экзотика.
    Лучше подскажите как отправлять SMS/USSD через 3г модемы.
     
     
  • 2.8, Inc_Vega (??), 22:15, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.ebay.com/ctg/HTC-Dream-Black-Rogers-Wireless-Smartphone-/109394760?_cqr=true&_dmpt=Cell_Phones&_nkwusc=HTCDream&_pcategid=9355&_pcatid=801&_refkw=htc+dream&_rusck=1&_trkparms=65%253A12%257C66%253A2%257C39%253A1%257C72%253A5909&_trksid=p3286.c0.m14

    25$ все решение :) какая экзотика ? главное залить HSR прошивку на него :)

     
     
  • 3.11, PalachMB (ok), 02:55, 24/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А приписка к лоту "For parts or not working" ни о чем не говорит?
     
     
  • 4.14, Inc_Vega (??), 22:50, 28/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    можно найти за 100 баксов рабочий
     
     
  • 5.17, Ананимуз (?), 02:33, 04/02/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо модема за пару сотен рублей здесь. Да, офигенное решение.
     
  • 2.9, Inc_Vega (??), 22:17, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Для этого рецепта надо где-то взять телефон с линуксом. Это экзотика.
    > Лучше подскажите как отправлять SMS/USSD через 3г модемы.

    http://designbuildtestrepeat.wordpress.com/2008/04/29/huawei-e220-on-linux-fo

    вот статья для  uawei-e220  для SMS.

     
  • 2.10, Inc_Vega (??), 22:20, 23/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Для этого рецепта надо где-то взять телефон с линуксом. Это экзотика.
    > Лучше подскажите как отправлять SMS/USSD через 3г модемы.

    вот скрипт на питоне

    http://designbuildtestrepeat.wordpress.com/2008/06/26/sms-over-3g-and-bluetoo

     
  • 2.12, Аноним (-), 17:21, 24/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше подскажите как отправлять SMS/USSD через 3г модемы.

    Лучшек научить Вас, Анонимус, пользоваться поиском Google.

     
  • 2.13, ram_scan (?), 12:42, 25/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Все как и раньше, AT командами. Через некоторые модемы даже голос гонять можно, сгородив таким образом вполне бюджетный VoIP-GSM шлюз. Информации в сети - валом.
     
     
  • 3.16, Аноним (-), 15:40, 30/01/2012 [^] [^^] [^^^] [ответить]  
  • +/
    AT командами. Замечательный абсолютно невоспроизводимый в отсутствии примера под рукой (из которого можно копипастить) способ.
     

  • 1.15, Аноним (-), 15:37, 30/01/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С удивлением обнаружил почти годную графическую утилиту, которая даже понимает мой модем (gobi 2000).
    gnome-modem-manager
    Принятые смс она показывает и вроде позволяет их отправлять, но USSD запросы не проходят.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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