Esempio n. 1
0
        public void TestSampledCallProgressTest()
        {
            const string hexStream = "2c02012c01fa00";

            var callProgress = new IsupCallProgress();

            callProgress.EventInformation.Indicator = EventInformation.EventIndicator.Progress;
            callProgress.AddOptionalParameter(
                new OptionalIsupParameter(IsupParameterType.GenericNotificationIndicator, 1, new[] { (byte)0xfa }));

            var txt = callProgress.GetByteArray();

            Assert.AreEqual(hexStream, txt.ToHex().ToLower());

            var cp = IsupBody.Load(new ByteStream(txt, 0));

            Assert.AreEqual(txt.ToHex().ToLower(), cp.GetByteArray().ToHex().ToLower());
        }
Esempio n. 2
0
            public static IEnumerable <Body> GetBodies(byte[] data, string boundaryId)
            {
                var bs      = new ByteStream(data, 0);
                var headers = new Dictionary <string, string>(StringComparer.InvariantCultureIgnoreCase);

                foreach (var l in bs.Lines())
                {
                    if (l == "--" + boundaryId)
                    {
                        headers.Clear();
                        continue;
                    }

                    if (l == string.Empty)
                    {
                        if (!headers.ContainsKey("Content-Type"))
                        {
                            // empty line, no headers, I think there's no more data
                            yield break;
                        }

                        switch (headers["Content-Type"].Split(';').First().ToLowerInvariant())
                        {
                        case "application/sdp":
                            yield return(SdpBodyParser.GetBody(bs, headers["Content-Type"]));

                            break;

                        case "application/isup":

                            yield return(IsupBody.Load(bs));

                            break;
                        }

                        headers.Clear();

                        continue;
                    }

                    var kvp = l.Split(':');
                    headers[kvp.First().Trim()] = string.Concat(kvp.Skip(1).ToArray()).Trim();
                }
            }
Esempio n. 3
0
            public static IsupBody GetBody(ByteStream bs)
            {
                var isupBody = IsupBody.Load(bs);

                return(isupBody);
            }