private static void ReceivedMessageHandler(string logKey, string serviceType, Ton sourceTon, Npi sourceNpi, string shortLongCode, DateTime dateReceived, string phoneNumber, DataCodings dataCoding, string message) { Console.WriteLine("ReceivedMessageHandler: {0}", message); }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="sourceTon"></param> /// <param name="sourceNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSmList"></param> /// <param name="submitSmRespList"></param> /// <returns> 1 - Successful / 0 - Failed </returns> public int SendMessageLarge(string phoneNumber, string serviceType, Ton sourceTon, Npi sourceNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out List <SubmitSm> submitSmList, out List <SubmitSmResp> submitSmRespList) { var retVal = 0; submitSmList = null; submitSmRespList = null; try { // Capture the next transmitter connection var smppConnection = NextTransmitterConnection(); if (smppConnection == null) { WriteLog("ESMEManager : SendMessage : Warning : Not Bound To The SMPP Server"); return(2); } // Send the message retVal = smppConnection.SendMessageLarge(phoneNumber, serviceType, sourceTon, sourceNpi, submitDataCoding, encodeDataCoding, message, out submitSmList, out submitSmRespList); } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEManager : SendMessage : ERROR : {0}", exception.ToString()); } return(retVal); }
/// <summary> Called when a message is received on a connection </summary> /// <param name="logKey"></param> /// <param name="serviceType"></param> /// <param name="sourceTon"></param> /// <param name="sourceNpi"></param> /// <param name="shortLongCode"></param> /// <param name="dateReceived"></param> /// <param name="phoneNumber"></param> /// <param name="dataCoding"></param> /// <param name="message"></param> public void ReceivedMessageConnectionHandler(string logKey, string serviceType, Ton sourceTon, Npi sourceNpi, string shortLongCode, DateTime dateReceived, string phoneNumber, DataCodings dataCoding, string message) { if (ReceivedMessageHandler != null) { ReceivedMessageHandler(logKey, serviceType, sourceTon, sourceNpi, shortLongCode, dateReceived, phoneNumber, dataCoding, message); } }
private static void ReceivedMessageHandler(string logKey, MessageTypes messageType, string serviceType, Ton sourceTon, Npi sourceNpi, string shortLongCode, DateTime dateReceived, string phoneNumber, DataCodings dataCoding, string message) { if (messageType == MessageTypes.SMSCDeliveryReceipt) { Console.WriteLine("This is the message for the status of delivery"); Console.WriteLine("MessageType: " + messageType.ToString()); Console.WriteLine("ReceivedMessageHandler: {0}", message); } else { Console.Write("This is normal message"); Console.WriteLine("MessageType: " + messageType.ToString()); Console.WriteLine("ReceivedMessageHandler: {0}", message); } }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="destinationTon"></param> /// <param name="destinationNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSm"></param> /// <param name="submitSmResp"></param> /// <returns> 0 - Successful / 1 - Failed / 2 - Not Connected </returns> public int SendMessage(string phoneNumber, string serviceType, Ton destinationTon, Npi destinationNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out SubmitSm submitSm, out SubmitSmResp submitSmResp) { int retVal = 1; submitSm = null; submitSmResp = null; try { if (Client.Status != ConnectionStatus.Bound) { WriteLog("ESMEConnection : SendMessage : Warning : Not Connected To The SMPP Server"); return 2; } // The message to send string sendMessage = null; // Do we need to cut the message down if (encodeDataCoding == DataCodings.UCS2) { // UCS2 only supports 140 bytes if (message.Length > 70) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : WARNING : Truncating UCS2 message to 70 characters."); // The default is Unicode so truncate the message sendMessage = message.Substring(0, 70); } } else { if (message.Length > 160) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : WARNING : Truncating Default message to 160 characters."); sendMessage = message.Substring(0, 160); } } // Prepare the message, I have made sure there is only ever one message // with the trunacting above submitSm = Client.PrepareSubmit( SubmitMode.ShortMessage, serviceType, (byte) Ton.NetworkSpecific, (byte) Npi.Unknown, ShortLongCode, (byte) destinationTon, (byte) destinationNpi, phoneNumber, submitDataCoding, encodeDataCoding, (sendMessage == null) ? message : sendMessage); // Send the message submitSmResp = Client.Submit(submitSm); // Log the send call WriteLog("ESMEConnection : SendMessage : Send : Sequence[{0}] Phone[{1}] Status[{2}]", submitSmResp.Sequence, phoneNumber, submitSmResp.Status); // Was it successful if (submitSmResp.Status != CommandStatus.ESME_ROK) { WriteLog("ESMEConnection : SendMessage : ERROR : Failed For Unknown Reason"); retVal = 1; } // Success retVal = 0; } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : ERROR : {0}", exception.ToString()); retVal = 1; } return retVal; }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="destinationTon"></param> /// <param name="destinationNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSmList"></param> /// <param name="submitSmRespList"></param> /// <returns> 0 - Successful / 1 - Failed / 2 - Not Connected </returns> public int SendMessageLarge(string phoneNumber, string serviceType, Ton destinationTon, Npi destinationNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out List<SubmitSm> submitSmList, out List<SubmitSmResp> submitSmRespList) { int retVal = 1; submitSmList = null; submitSmRespList = null; try { if (Client.Status != ConnectionStatus.Bound) { WriteLog("ESMEConnection : SendMessageLarge : Warning : Not Connected To The SMPP Server"); return 2; } // Prepare the message, I have made sure there is only ever one message // with the trunacting above submitSmList = Client.PrepareSubmitLarge( SubmitMode.ShortMessage, serviceType, (byte) Ton.NetworkSpecific, (byte) Npi.Unknown, ShortLongCode, (byte) destinationTon, (byte) destinationNpi, phoneNumber, submitDataCoding, encodeDataCoding, message); // Send the message submitSmRespList = Client.Submit(submitSmList); foreach (SubmitSmResp submitSmResp in submitSmRespList) { // Log the send call WriteLog("ESMEConnection : SendMessage : Send : Sequence[{0}] Phone[{1}] Status[{2}]", submitSmResp.Sequence, phoneNumber, submitSmResp.Status); // Was it successful if (submitSmResp.Status != CommandStatus.ESME_ROK) { WriteLog("ESMEConnection : SendMessage : ERROR : Failed For Unknown Reason"); } } // Success retVal = 0; } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : ERROR : {0}", exception.ToString()); retVal = 1; } return retVal; }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="sourceTon"></param> /// <param name="sourceNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSmList"></param> /// <param name="submitSmRespList"></param> /// <returns> 1 - Successful / 0 - Failed </returns> public int SendMessageLarge(string phoneNumber, string serviceType, Ton sourceTon, Npi sourceNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out List<SubmitSm> submitSmList, out List<SubmitSmResp> submitSmRespList) { int retVal = 0; submitSmList = null; submitSmRespList = null; try { // Capture the next transmitter connection ESMEConnection smppConnection = NextTransmitterConnection(); if (smppConnection == null) { WriteLog("ESMEManager : SendMessage : Warning : Not Bound To The SMPP Server"); return 2; } // Send the message retVal = smppConnection.SendMessageLarge(phoneNumber, serviceType, sourceTon, sourceNpi, submitDataCoding, encodeDataCoding, message, out submitSmList, out submitSmRespList); } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEManager : SendMessage : ERROR : {0}", exception.ToString()); } return retVal; }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="destinationTon"></param> /// <param name="destinationNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSmList"></param> /// <param name="submitSmRespList"></param> /// <returns> 0 - Successful / 1 - Failed / 2 - Not Connected </returns> public int SendMessageLarge(string phoneNumber, string serviceType, Ton destinationTon, Npi destinationNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out List <SubmitSm> submitSmList, out List <SubmitSmResp> submitSmRespList) { int retVal = 1; submitSmList = null; submitSmRespList = null; try { if (Client.Status != ConnectionStatus.Bound) { WriteLog("ESMEConnection : SendMessageLarge : Warning : Not Connected To The SMPP Server"); return(2); } // Prepare the message, I have made sure there is only ever one message // with the trunacting above submitSmList = Client.PrepareSubmitLarge( SubmitMode.ShortMessage, serviceType, (byte)Ton.NetworkSpecific, (byte)Npi.Unknown, ShortLongCode, (byte)destinationTon, (byte)destinationNpi, phoneNumber, submitDataCoding, encodeDataCoding, message); // Send the message submitSmRespList = Client.Submit(submitSmList); foreach (SubmitSmResp submitSmResp in submitSmRespList) { // Log the send call WriteLog("ESMEConnection : SendMessage : Send : Sequence[{0}] Phone[{1}] Status[{2}]", submitSmResp.Sequence, phoneNumber, submitSmResp.Status); // Was it successful if (submitSmResp.Status != CommandStatus.ESME_ROK) { WriteLog("ESMEConnection : SendMessage : ERROR : Failed For Unknown Reason"); } } // Success retVal = 0; } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : ERROR : {0}", exception.ToString()); retVal = 1; } return(retVal); }
/// <summary> Called to send the message </summary> /// <param name="phoneNumber"></param> /// <param name="serviceType"></param> /// <param name="destinationTon"></param> /// <param name="destinationNpi"></param> /// <param name="submitDataCoding"></param> /// <param name="encodeDataCoding"></param> /// <param name="message"></param> /// <param name="submitSm"></param> /// <param name="submitSmResp"></param> /// <returns> 0 - Successful / 1 - Failed / 2 - Not Connected </returns> public int SendMessage(string phoneNumber, string serviceType, Ton destinationTon, Npi destinationNpi, DataCodings submitDataCoding, DataCodings encodeDataCoding, string message, out SubmitSm submitSm, out SubmitSmResp submitSmResp) { int retVal = 1; submitSm = null; submitSmResp = null; try { if (Client.Status != ConnectionStatus.Bound) { WriteLog("ESMEConnection : SendMessage : Warning : Not Connected To The SMPP Server"); return(2); } // The message to send string sendMessage = null; // Do we need to cut the message down if (encodeDataCoding == DataCodings.UCS2) { // UCS2 only supports 140 bytes if (message.Length > 70) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : WARNING : Truncating UCS2 message to 70 characters."); // The default is Unicode so truncate the message sendMessage = message.Substring(0, 70); } } else { if (message.Length > 160) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : WARNING : Truncating Default message to 160 characters."); sendMessage = message.Substring(0, 160); } } // Prepare the message, I have made sure there is only ever one message // with the trunacting above submitSm = Client.PrepareSubmit( SubmitMode.ShortMessage, serviceType, (byte)Ton.NetworkSpecific, (byte)Npi.Unknown, ShortLongCode, (byte)destinationTon, (byte)destinationNpi, phoneNumber, submitDataCoding, encodeDataCoding, (sendMessage == null) ? message : sendMessage); // Send the message submitSmResp = Client.Submit(submitSm); // Log the send call WriteLog("ESMEConnection : SendMessage : Send : Sequence[{0}] Phone[{1}] Status[{2}]", submitSmResp.Sequence, phoneNumber, submitSmResp.Status); // Was it successful if (submitSmResp.Status != CommandStatus.ESME_ROK) { WriteLog("ESMEConnection : SendMessage : ERROR : Failed For Unknown Reason"); retVal = 1; } // Success retVal = 0; } catch (Exception exception) { WriteLog(LogEventNotificationTypes.Email, "ESMEConnection : SendMessage : ERROR : {0}", exception.ToString()); retVal = 1; } return(retVal); }
private void ReceivedMessageHandler(string logKey, string serviceType, Ton sourceTon, Npi sourceNpi, string shortLongCode, DateTime dateReceived, string phoneNumber, DataCodings dataCoding, string message) { AddLogAsync(phoneNumber, message, "IN", shortLongCode, "ReceivedMessageHandler", Color.Blue); }