Esempio n. 1
0
        public VoipRecord GetRecord(string callId, string recordSid)
        {
            var logger = LogManager.GetLogger("ASC");

            logger.DebugFormat("recordSid {0}", recordSid);

            var result = new VoipRecord {
                Id = recordSid
            };
            var count = 6;

            while (count > 0)
            {
                try
                {
                    var record = RecordingResource.Fetch(callId, recordSid, client: client);

                    if (!record.Price.HasValue)
                    {
                        count--;
                        Thread.Sleep(10000);
                        continue;
                    }

                    result.Price = (-1) * record.Price.Value;
                    logger.DebugFormat("recordSid {0} price {1}", recordSid, result.Price);

                    result.Duration = Convert.ToInt32(record.Duration);
                    if (record.Uri != null)
                    {
                        result.Uri = record.Uri;
                    }
                    break;
                }
                catch (ApiException)
                {
                    count--;
                    Thread.Sleep(10000);
                }
            }

            return(result);
        }
Esempio n. 2
0
        public VoipRecord GetRecord(string recordSid)
        {
            var logger = log4net.LogManager.GetLogger("ASC");

            logger.DebugFormat("recordSid {0}", recordSid);

            var result = new VoipRecord {
                Id = recordSid
            };
            var count = 6;

            while (count > 0)
            {
                var record = client.GetRecording(recordSid);
                ThrowIfError(record);

                if (!record.Price.HasValue)
                {
                    count--;
                    Thread.Sleep(10000);
                    continue;
                }

                result.Price = (-1) * record.Price.Value;
                logger.DebugFormat("recordSid {0} price {1}", recordSid, result.Price);

                result.Duration = record.Duration;
                if (record.Uri != null)
                {
                    result.Uri = record.Uri.ToString();
                }
                break;
            }

            return(result);
        }