Пример #1
0
        /// <summary> Called to create a PduBind object </summary>
        /// <param name="defaultEncoding"></param>
        /// <param name="buf"></param>
        /// <param name="offset"></param>
        /// <returns> BindSm </returns>
        public static BindSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset)
        {
            BindSm bindSm = new BindSm(defaultEncoding);

            try
            {
                int start_offset = offset;

                buf.ExtractHeader(bindSm, ref offset);

                bindSm.SystemId         = buf.ExtractCString(ref offset);
                bindSm.Password         = buf.ExtractCString(ref offset);
                bindSm.SystemType       = buf.ExtractCString(ref offset);
                bindSm.InterfaceVersion = buf.ExtractByte(ref offset);
                bindSm.AddrTon          = buf.ExtractByte(ref offset);
                bindSm.AddrNpi          = buf.ExtractByte(ref offset);
                bindSm.AddressRange     = buf.ExtractCString(ref offset);
            }

            catch
            {
                bindSm = null;
            }

            return(bindSm);
        }
Пример #2
0
 /// <summary> Called to create a BindSmResp object </summary>
 /// <param name="defaultEncoding"></param>
 /// <param name="bindSm"></param>
 /// <param name="commandSet"></param>
 /// <param name="commandStatus"></param>
 /// <param name="systemId"></param>
 /// <returns> BindSmResp </returns>
 public static BindSmResp Create(DataCodings defaultEncoding, BindSm bindSm, CommandSet commandSet, CommandStatus commandStatus, string systemId)
 {
     return(new BindSmResp(defaultEncoding, commandSet, commandStatus, bindSm.Sequence, systemId));
 }
Пример #3
0
        /// <summary> Called to create a PduBind object </summary>
        /// <param name="defaultEncoding"></param>
        /// <param name="buf"></param>
        /// <param name="offset"></param>
        /// <returns> BindSm </returns>
        public static BindSm Create(DataCodings defaultEncoding, SmppBuffer buf, ref int offset)
        {
            BindSm bindSm = new BindSm(defaultEncoding);

            try
            {
                int start_offset = offset;

                buf.ExtractHeader(bindSm, ref offset);

                bindSm.SystemId = buf.ExtractCString(ref offset);
                bindSm.Password = buf.ExtractCString(ref offset);
                bindSm.SystemType = buf.ExtractCString(ref offset);
                bindSm.InterfaceVersion = buf.ExtractByte(ref offset);
                bindSm.AddrTon = buf.ExtractByte(ref offset);
                bindSm.AddrNpi = buf.ExtractByte(ref offset);
                bindSm.AddressRange = buf.ExtractCString(ref offset);
            }

            catch
            {
                bindSm = null;
            }

            return bindSm;
        }
Пример #4
0
        /// <summary> Called to fire the bind pdu event </summary>
        /// <param name="data"></param>
        /// <returns> CommandStatus </returns>
        internal CommandStatus OnBindSm(BindSm data)
        {
            CommandStatus commandStatus = CommandStatus.ESME_RBINDFAIL;

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

                    if (commandStatus == CommandStatus.ESME_ROK)
                    {
                        _Status = ConnectionStatus.Bound;
                    }
                }
            }

            catch
            {
            }

            return commandStatus;
        }