À l'aide de SMPP pour envoyer des sms en JAVA
Je suis en train d'envoyer des sms à l'aide de JAVA. Après recherche sur google, j'ai trouvé que SMPP protocole est utilisé pour lui et je suis tombé sur le ci-dessous le code source.
public class SendSMS
{
public static void main(String[] args) throws Exception
{
SendSMS obj = new SendSMS();
SendSMS.sendTextMessage("<mobile number>");
}
private TimeFormatter tF = new AbsoluteTimeFormatter();
/*
* This method is used to send SMS to for the given MSISDN
*/
public void sendTextMessage(String MSISDN)
{
//bind param instance is created with parameters for binding with SMSC
BindParameter bP = new BindParameter(
BindType.BIND_TX,
"<user_name>",
"<pass_word>",
"<SYSTEM_TYPE>",
TypeOfNumber.UNKNOWN,
NumberingPlanIndicator.UNKNOWN,
null);
SMPPSession smppSession = null;
try
{
//smpp session is created using the bindparam and the smsc ip address/port
smppSession = new SMPPSession("<SMSC_IP_ADDRESS>", 7777, bP);
}
catch (IOException e1)
{
e1.printStackTrace();
}
//Sample TextMessage
String message = "This is a Test Message";
GeneralDataCoding dataCoding = new GeneralDataCoding(false, true,
MessageClass.CLASS1, Alphabet.ALPHA_DEFAULT);
ESMClass esmClass = new ESMClass();
try
{
//submitShortMessage(..) method is parametrized with necessary
//elements of SMPP submit_sm PDU to send a short message
//the message length for short message is 140
smppSession.submitShortMessage(
"CMT",
TypeOfNumber.NATIONAL,
NumberingPlanIndicator.ISDN,
"<MSISDN>",
TypeOfNumber.NATIONAL,
NumberingPlanIndicator.ISDN,
MSISDN,
esmClass,
(byte) 0,
(byte) 0,
tF.format(new Date()),
null,
new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT),
(byte) 0,
dataCoding,
(byte) 0,
message.getBytes());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Mais le problème que je rencontre avec le code source, c'est qu'il nécessite un ensemble de paramètres comme user_name, pass_word, system_type, SMSC adresse IP, etc qui je n'ai aucune idée de. J'ai récemment connu sur le protocole SMPP et donc ne suis pas au courant de la façon d'obtenir ce code de travail pour accomplir mon cas d'utilisation de l'envoi de sms sur mon portable. Si quelqu'un peut s'il vous plaît aidez-moi obtenir ce code fonctionne ou me guider vers un endroit où je peux apprendre à faire cela?
Tout d'abord, vous devez vous inscrire avec n'importe quel fournisseur de service SMS par ex cellent etc. Ils fourniront tous les détails pour vous pour SMPP de connectivité.
J'utilise jsmpp
Pas sur si c'est votre problème, mais SMPP est juste un protocole entre un client et un fournisseur. Vous devez connaître un fournisseur qui accepte de recevoir vos questions et envoyer des SMS sur le téléphone mobile.
cela peut vous aider nowsms.com/discus/messages/1/SMPP_v3_4_Issue1_2-24857.pdf
OriginalL'auteur Aarish Ramesh | 2014-11-04
Vous devez vous connecter pour publier un commentaire.
J'ai travaillé sur le SMPP projet récemment.
La bibliothèque que j'ai utilisé pour le protocole SMPP est OpenSMPP.
Voici l'exemple de ma classe pour la création et l'envoi de SMPP données
Et mon opérateur m'a donné ce paramètres pour SMPP. Il existe de nombreuses options de configuration, mais ceux-ci sont essentiels
Donc, si vous voulez tester votre code sans inscription avec GSM fournisseur de services, vous pouvez simuler SMPP server sur votre ordinateur. SMPPSim est un grand projet pour les tests. Télécharger et de l'exécuter sur votre ordinateur. Il peut être configuré de plusieurs façons, par exemple, demander des accusés de réception de SMPP server, définissez sms échec de ratio et de l'e.t.c. J'ai testé SMPPSim sur linux.
Interface de Transport est quel paquet?
Je crois que
Transport
est mon interface personnalisée avec une seule méthodesend
. Vous pouvez le mettre avecSmppTransport
Quelle est la source de sessionMap objet.
Je ne me souviens pas, mais je crois que c'est
Map<String, Session>
qui est variable d'instanceOriginalL'auteur gkiko
Utiliser ce simulateur ici,
Il agit comme un service à fournir, après construire et tester votre application sur elle, vous avez à changer de config(paramètres de nom d'utilisateur, mot de passe, adresse ip, le port, ...) qui vous a été fourni par le fournisseur de service .
vous pouvez trouver toutes les configurations de se connecter à ce simulateur dans le fichier conf.
OriginalL'auteur Omar.Nassar
SMPP est un protocole entre les opérateurs de réseau mobile/transporteurs et les fournisseurs de contenu. Les champs que vous avez spécifié (nom d'utilisateur, mot de passe, SMSC IP) sont mis en service par les opérateurs. Malheureusement, à moins de travailler pour un fournisseur de contenu d'entreprise, ou avoir un accord avec un opérateur, vous êtes peu probable d'obtenir ces détails.
Simulateurs vous permettent de tester votre SMPP code, mais ils ne seront pas réellement fournir du contenu sur votre téléphone.
Mon meilleur conseil si vous voulez envoyer des SMS à partir de votre application Java serait d'utiliser une API SMS comme Twilio.
OriginalL'auteur skytreader