예제 #1
0
        public SmsSubmit(long smscNumber, AddressField.Address destinationNumber, string message)
        {
            string result = PduEncoder.EncodeServiceCenterNumber(new AddressField.Address(smscNumber));

            result += ((int)m_MessageTypeIndicator +
                       (int)m_RejectDuplicates +
                       (int)m_ValidityPeriodFormat +
                       (int)m_StatusReportRequest +
                       (int)m_UserDataHeaderIndicator +
                       (int)m_ReplyPath).ToString("X2");

            result += ((int)m_MessageReferece).ToString("X2");

            result += destinationNumber.ToString();

            result += ((int)m_ProtocolIdentifier).ToString("X2");

            result += m_DataCodingScheme.OctetRepresentation;

            result += m_ValidityPeriod.OctetRepresentation;

            //in the case of UCS2
            result += (message.Length * 2).ToString("X2");

            result += PduEncoder.EncodeUCS2(message);

            this.pduCode = result;
        }
예제 #2
0
        /// <summary>
        /// SMSC Number
        /// </summary>
        /// <param name="number"></param>
        /// <returns></returns>
        public static string EncodeServiceCenterNumber(AddressField.Address number)
        {
            string temp = number.ToString();

            int length = (int.Parse(temp.Substring(0, 2), System.Globalization.NumberStyles.HexNumber) + 2) / 2;

            temp = temp.Remove(0, 2);

            return(length.ToString("X2") + temp);
        }