Exemplo n.º 1
0
        /// <summary> Called to create a CancelSm object </summary>
        /// <param name="defaultEncoding"></param>
        /// <param name="buf"></param>
        /// <param name="offset"></param>
        /// <returns> CancelSm </returns>
        internal static CancelSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset)
        {
            CancelSm cancelSm = new CancelSm(defaultEncoding);

            try
            {
                buf.ExtractHeader(cancelSm, ref offset);

                cancelSm.ServiceType = buf.ExtractCString(ref offset);
                cancelSm.MessageId   = buf.ExtractCString(ref offset);
                cancelSm.SourceTon   = buf.ExtractByte(ref offset);
                cancelSm.SourceNpi   = buf.ExtractByte(ref offset);
                cancelSm.SourceAddr  = buf.ExtractCString(ref offset);
                cancelSm.DestTon     = buf.ExtractByte(ref offset);
                cancelSm.DestNpi     = buf.ExtractByte(ref offset);
                cancelSm.DestAddr    = buf.ExtractCString(ref offset);
            }

            catch
            {
                cancelSm = null;
            }

            return(cancelSm);
        }
Exemplo n.º 2
0
        /// <summary> Called to create a CancelSm object </summary>
        /// <param name="defaultEncoding"></param>
        /// <param name="buf"></param>
        /// <param name="offset"></param>
        /// <returns> CancelSm </returns>
        internal static CancelSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset)
        {
            CancelSm cancelSm = new CancelSm(defaultEncoding);

            try
            {
                buf.ExtractHeader(cancelSm, ref offset);

                cancelSm.ServiceType = buf.ExtractCString(ref offset);
                cancelSm.MessageId = buf.ExtractCString(ref offset);
                cancelSm.SourceTon = buf.ExtractByte(ref offset);
                cancelSm.SourceNpi = buf.ExtractByte(ref offset);
                cancelSm.SourceAddr = buf.ExtractCString(ref offset);
                cancelSm.DestTon = buf.ExtractByte(ref offset);
                cancelSm.DestNpi = buf.ExtractByte(ref offset);
                cancelSm.DestAddr = buf.ExtractCString(ref offset);
            }

            catch
            {
                cancelSm = null;
            }

            return cancelSm;
        }
Exemplo n.º 3
0
 /// <summary> Called to create a CancelSmResp object </summary>
 /// <param name="defaultEncoding"></param>
 /// <param name="cancelSm"></param>
 /// <param name="status"></param>
 /// <returns> CancelSmResp </returns>
 public static CancelSmResp Create(DataCodings defaultEncoding, CancelSm cancelSm, CommandStatus status)
 {
     return(new CancelSmResp(defaultEncoding, status, cancelSm.Sequence));
 }
Exemplo n.º 4
0
 /// <summary> Called to create a CancelSmResp object </summary>
 /// <param name="defaultEncoding"></param>
 /// <param name="cancelSm"></param>
 /// <param name="status"></param>
 /// <returns> CancelSmResp </returns>
 public static CancelSmResp Create(DataCodings defaultEncoding, CancelSm cancelSm, CommandStatus status)
 {
     return new CancelSmResp(defaultEncoding, status, cancelSm.Sequence);
 }
Exemplo n.º 5
0
        /// <summary> Cancel previously submitted short message that is still pending delivery </summary>
        /// <param name="data"></param>
        /// <returns> CancelSmResp </returns>
        public CancelSmResp Cancel(CancelSm data)
        {
            CancelSmResp resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.ESME_ROK);

            if (_Status != ConnectionStatus.Bound)
            {
                resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.SMPPCLIENT_UNBOUND);
                return resp;
            }

            try
            {
                SendPacket(data);
            }

            catch (Exception exception)
            {
                OnError("Cancel error : ", exception);

                resp = CancelSmResp.Create(DefaultEncoding, CommandStatus.SMPPCLIENT_UNKNOWNERROR);
            }

            return resp;
        }
Exemplo n.º 6
0
        /// <summary> Called to fire the cancel pdu event </summary>
        /// <param name="data"></param>
        /// <returns> CommandStatus </returns>
        internal CommandStatus OnCancelSm(CancelSm data)
        {
            CommandStatus commandStatus = CommandStatus.ESME_RCANCELFAIL;

            try
            {
                if (CancelSmEvent != null)
                {
                    commandStatus = CancelSmEvent(this, data);
                }
            }

            catch
            {
            }

            return commandStatus;
        }