Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка SMS из Java веб сервисом или другим спосо, любой способ 
:(
    Опции темы
zone51
  Дата 8.11.2007, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Народ доброго времени суток, подскажите пожалуйста как реализовать на яве отправку смс сообщений через веб сервис либо другим любым способом. Просто сейчас смс ки отправляются с мобильника на котором работает приложение а надо все автоматизировать и как это сделать? Спасибо заранее
 smile 


--------------------
The truth is out there
PM MAIL   Вверх
ecologist
Дата 8.11.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 2
Всего: 9



Взять библиотеку OpenSMPP - http://smstools.sourceforge.net/
PM MAIL   Вверх
zone51
Дата 8.11.2007, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



ecologist
А можно где нибудь узнать маны по етой технологии-что то очень разбросано и пространно не понятно как настраивать и т д.
Буду очень признателен.Спасибо. smile 


--------------------
The truth is out there
PM MAIL   Вверх
ecologist
Дата 9.11.2007, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 452
Регистрация: 28.2.2007

Репутация: 2
Всего: 9



Вообщем-то в документации это есть - прямо из описания Session кусочек

Код

   Connection conn = new TCPIPConnection("123.123.123.123", 6543);
   Session session = new Session(conn);
   BindRequest breq = new BindTransmitter();
   breq.setSystemId("MYNAME");
   breq.setPassword("my_pswdx");
   Response resp = session.bind(breq);
   if (resp.getCommandStatus() == Data.ESME_ROK) {
      SubmitSM msg = new SubmitSM();
      msg.setSourceAddr("3538998765432");
      msg.setDestAddr("3538619283746");
      msg.setShortMessage("Hello, world!");
      resp = session.submit(msg);
      if (resp.getCommandStatus() == Data.ESME_ROK) {
         System.out.println("Message submitted. Status=" + resp.getCommandStatus());
      } else {
         System.out.println("Message submission failed. Status=" + resp.getCommandStatus());
      }
      session.unbind();
   } else {
      System.out.println("Couldn't bind. Status=" + resp.getCommandStatus());
   }



У меня к сожалению отправки нет - мы делали как раз прием. Вот это эскиз к приему.

Основной класс - запускается и регулярно делает запрос к серверу для получения SMS. Там надо установить host, port, login, password. Это подключение к SMS-центру.

Код

import org.smpp.Data;
import org.smpp.ServerPDUEventListener;
import org.smpp.Session;
import org.smpp.TCPIPConnection;
import org.smpp.pdu.BindReceiver;
import org.smpp.pdu.BindRequest;
import org.smpp.pdu.Response;
import org.smpp.pdu.WrongLengthOfStringException;


public class Daemon 
{
    private static Session session;
    private EventListener eventListener = new EventListener();

    public static synchronized Session getCurrentSession() 
    {
        return session;
    }

    private void start() 
    {
        synchronized (Daemon.class) {
            session = getSession();
        }

        bind();

        try {
            for (; ;) { // forever
                Thread.sleep(5000L);
                session.enquireLink();
            }
        }
        catch (InterruptedException e) {
        }
        catch (Exception e) {
        }
    }

    private Session getSession() 
    {
        return new Session(new TCPIPConnection($host$, $port$));
    }

    private BindRequest getReceiver() throws WrongLengthOfStringException 
    {
        BindRequest bindRequest = new BindReceiver();
        bindRequest.setSystemId($login$);
        bindRequest.setPassword($password$);
        return bindRequest;
    }

    private void bind() 
    {
        Response resp;
        try {
            resp = session.bind(getReceiver(), eventListener);
        }
        catch (Exception e) {
            return;
        }
        bound = resp.getCommandStatus() == Data.ESME_ROK;
    }

    public static void main(String[] args) 
    {
        Daemon daemon = new Daemon();
        daemon.start();
    }
}


А здесь обработчик при приеме
Код

import org.smpp.ServerPDUEvent;
import org.smpp.ServerPDUEventListener;
import org.smpp.Session;
import org.smpp.pdu.*;

import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ArrayBlockingQueue;


public class EventListener implements ServerPDUEventListener 
{
    public void handleEvent(ServerPDUEvent event) 
    {
        PDU pdu = event.getPDU();

        if (pdu.isValid() && pdu.isRequest()) {
            Response response = ((Request) pdu).getResponse();

            Session session = Daemon.getCurrentSession();
            try {
                session.respond(response);
            }
            catch (Exception e) {
                return;
            }

            if (pdu instanceof DeliverSM) {
                DeliverSM deliverSM = (DeliverSM) pdu;
                System.out.println("Destination address: " + deliverSM.getDestAddr().getAddress());
                System.out.println("Source address: " + deliverSM.getSourceAddr().getAddress());
                System.out.println("SMS length: " + deliverSM.getSmLength());
                System.out.println("SMS: " + deliverSM.getShortMessage());
            }
        }
    }
}



PM MAIL   Вверх
zone51
Дата 13.12.2007, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



ecologist
Огромноес спасибо, но может подскажите как посылать смс сообщения через OpenSMPP?
Мне как раз именно это и нужно. Хоть где примеры искать как это делается. Спасибо.


--------------------
The truth is out there
PM MAIL   Вверх
bio_hazard
Дата 13.12.2007, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.6.2007

Репутация: нет
Всего: 1



Вам наеврное будет проще заключить договор с организацией которые осуществляют рассылку смс, там есть способо для отправки смс через емаил, стоимость отправки 1 смс в данном случае будет в районе 1 рубля, хотя тут все очень индивидуально и зависит от объема
PM MAIL   Вверх
barin_Student
Дата 13.12.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 488
Регистрация: 10.8.2007
Где: Казахстан , Алмат ы

Репутация: 1
Всего: 2



Для отправки СМС по SMPP , требуется реализовать сам протокол, далее заключить договор с Опосами, вам датут параметры , и вы можете с ними обмениваться сообщениями. Есть еще вариант библиотеки как реализовать СМСЦ.
Так же есть вариант отправки СМС при помощи GPS модема ...


--------------------
Нехорошо блин!!!
PM MAIL   Вверх
VSergeyV
Дата 14.12.2007, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(barin_Student @  13.12.2007,  11:22 Найти цитируемый пост)
требуется реализовать сам протокол

зачем? если есть тот же OpenSMPP

Цитата(barin_Student @  13.12.2007,  11:22 Найти цитируемый пост)
вариант библиотеки как реализовать СМСЦ

а поподробней можно? smile 

вообще всегда считал что SMSC(Short Messages Service Center)  - это аппаратно-программный комплекс самого оператора сотовой связи для предоставления услуги SMS. Всевозможные SMS сервисы, расширяющие возможности SMSC, и реализуемые часто сторонними организациями - ESME (External Short Messages Entity). Соответсвенно сам протокол SMPP(Short Messages Peer-to-Peer) - это протокол взаимодействия между SMSC оператора и ESME (SMS сервиса)


Это сообщение отредактировал(а) VSergeyV - 14.12.2007, 07:21
PM MAIL ICQ   Вверх
VSergeyV
Дата 14.12.2007, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(barin_Student @  13.12.2007,  11:22 Найти цитируемый пост)
Так же есть вариант отправки СМС при помощи GPS модема


наверно GSM модема всеже) спутниковая навигация всеже как то не к месту smile 
PM MAIL ICQ   Вверх
Tony
  Дата 14.12.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: нет
Всего: 12



4ego to ja ne ponjal. Tak mozhno ili net otsilatь SMS na haljavu !?!!?!?!?.  smile 


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Kangaroo
Дата 14.12.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 21
Всего: 104



Цитата(Tony @  14.12.2007,  10:22 Найти цитируемый пост)
4ego to ja ne ponjal. Tak mozhno ili net otsilatь SMS na haljavu !?!!?!?!?.

Я уже представляю как на мой телефон забивается кучей смсок от спамеров  smile  ужос!!!  smile 

Но, наверное, вот этот пункт нас спасает:
Цитата(barin_Student @  13.12.2007,  10:22 Найти цитируемый пост)
 далее заключить договор с Опосами



PS
кстати - кто такие Опосы?

Это сообщение отредактировал(а) Kangaroo - 14.12.2007, 11:32


--------------------
Lost....
PM MAIL MSN   Вверх
VSergeyV
Дата 14.12.2007, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(Kangaroo @  14.12.2007,  11:31 Найти цитируемый пост)
кстати - кто такие Опосы?


имелось ввиду опсос
Оператор сотовой связи - так хитро сокращается до "Оп"+"Со"+"С"

Добавлено @ 12:24
Цитата(Tony @  14.12.2007,  11:22 Найти цитируемый пост)
4ego to ja ne ponjal. Tak mozhno ili net otsilatь SMS na haljavu !?!!?!?!?.   


халява - либо отсылка через сайты сервисы по отсылке SMS, к примеру самих же операторов, либо на "хитро" составленный EMail адрес типа номер@что-то, но такую возможность клиент должен заказывать у своего оператора, т.к. по умолчанию отключена, иначе бы заспамили бы


Это сообщение отредактировал(а) VSergeyV - 14.12.2007, 12:24
PM MAIL ICQ   Вверх
barin_Student
Дата 19.12.2007, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 488
Регистрация: 10.8.2007
Где: Казахстан , Алмат ы

Репутация: 1
Всего: 2



SMPP SMSC - это реализованный SMSC для ESME библиотека org.smpp
Насчет "халявы" - это неправда , SMS при помощи библиотеки просто дешевле ,ОПСОС- да это операторы сотовой связи. 

Это сообщение отредактировал(а) barin_Student - 19.12.2007, 06:12


--------------------
Нехорошо блин!!!
PM MAIL   Вверх
zone51
Дата 9.1.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Народ, буду очень всем признателен. В общем есть у меня логин и пароль на 
https://firebolt.netcom.no/sms/send?number=...20SMS%20Bedrift
это гейт через который можно слать смс. Но как это дело заточить под смпп и засандалить в программу? То есть доступ к протоколу
Большое спасибо


--------------------
The truth is out there
PM MAIL   Вверх
VSergeyV
Дата 11.7.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 299
Регистрация: 9.5.2006
Где: Новосибирск

Репутация: нет
Всего: 3



Цитата(ecologist @  8.11.2007,  10:41 Найти цитируемый пост)
Взять библиотеку OpenSMPP - http://smstools.sourceforge.net/

Какая библиотека поддерживает отсылку и прием длинных SMS сообщений? И отсылку OTA сообщений?
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1014 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.