Esempio n. 1
0
        public override void LoadParameterData(byte[] parameterData)
        {
            this.Flags          = (PhoneFlags)parameterData[0];
            this.NumberingFlags = (NAIFlags)parameterData[1];

            this.Number = IsupUtility.UnReverseNumber(parameterData, 2, this.Flags.HasFlag(PhoneFlags.IsOdd));
        }
Esempio n. 2
0
 public static IsupPhoneNumberParameter OriginalCalledNumber(
     Contact callerContact,
     PhoneFlags flags,
     NAIFlags naiFlags = NAIFlags.PresentationRestricted | NAIFlags.Isdn)
 {
     return(Create(IsupParameterType.OriginalCalledNumber, callerContact, flags, naiFlags));
 }
Esempio n. 3
0
 private static IsupPhoneNumberParameter Create(
     IsupParameterType parameterType,
     Contact callerContact,
     PhoneFlags flags,
     NAIFlags naiFlags = NAIFlags.PresentationRestricted | NAIFlags.Isdn)
 {
     return(new IsupPhoneNumberParameter(parameterType)
     {
         Number =
             callerContact.Address.Split('@')
             .FirstOrDefault(),
         Flags = flags,
         NumberingFlags = naiFlags
     });
 }
Esempio n. 4
0
        public override byte[] GetParameterData()
        {
            if (string.IsNullOrWhiteSpace(this.Number))
            {
                throw new InvalidOperationException("number must be valid for use with IsupPhoneNumberParameter");
            }

            var hexData = IsupUtility.GetReversedNumber(this.Number).ToArray();
            var isEven  = (this.Number.Length % 2) == 0;

            this.Flags           = isEven ? PhoneFlags.IsEven : PhoneFlags.IsOdd;
            this.Flags          |= PhoneFlags.NAINationalNumber;
            this.NumberingFlags |= NAIFlags.Isdn;

            return(new[] { (byte)this.Flags, (byte)this.NumberingFlags }.Concat(hexData).ToArray());
        }
Esempio n. 5
0
        public void TestNumberInfo(string number, string expectedValue, PhoneFlags flags, NAIFlags naiFlags)
        {
            var cp = new CalledNumber {
                Number = number
            };

            cp.Flags          = flags;
            cp.NumberingFlags = naiFlags;

            Assert.AreEqual(expectedValue.ToUpperInvariant(), cp.ToHex());
        }
Esempio n. 6
0
 public static IsupPhoneNumberParameter RedirectingNumber(Contact contact, PhoneFlags flags, NAIFlags naiFlags = NAIFlags.PresentationRestricted | NAIFlags.Isdn)
 {
     return(Create(IsupParameterType.RedirectingNumber, contact, flags, naiFlags));
 }