SMPP - получение сообщений
Я новичок в SMPP и использую JamatechSMPP (библиотека с открытым исходным кодом.NET для SMPP) для подключения к SMSC. Я успешно могу отправлять сообщения, но не могу получить. В справочных документах Jamatech говорится, что событие, называемое client_MessageReceived, будет вызвано, когда получено сообщение, но получение не удается, и я не уверен, как я могу вызвать это событие при получении сообщения.
class UTSystem
{
private static SmppClient client;
UTSystem()
{
client = new SmppClient();
}
public static SmppClient ConnectToSMSC()
{
try
{
client.Shutdown();
SmppConnectionProperties properties = client.Properties;
properties.SystemID = "xxxxxxxx";
properties.Password = "xxxxxxx";
properties.Port = xxxx; //IP port to use
properties.Host = "xxxxxxxxxxx"; //SMSC host name or IP Address
properties.SystemType = "SMPP";
properties.DefaultServiceType = ServiceType.CELLULAR_MESSAGING;
properties.AddressNpi = NumberingPlanIndicator.Unknown;
properties.AddressTon = TypeOfNumber.Unknown;
client.AutoReconnectDelay = 3000;
client.KeepAliveInterval = 15000;
//Start smpp client
client.ForceConnect();
return client;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return client;
}
}
public static void ReceiveSMS()
{
try
{
ConnectToSMSC();
client.MessageReceived += new EventHandler < MessageEventArgs > (client_MessageReceived);
}
catch (Exception ex) {}
}
static public void client_MessageReceived(object sender, MessageEventArgs e)
{
//The event argument e contains more information about the received message
TextMessage textMsg = e.ShortMessage as TextMessage; //This is the received text message
int res = SaveMsg(textMsg.SourceAddress.ToString(), textMsg.Text.ToString());
}
1 ответ
Пожалуйста, убедитесь, что ваш SMTP-шлюз настроен для приема SMS. он должен быть настроен в режиме трансивера.