예제 #1
0
 /// <summary>
 /// Generate a collection of parking data
 /// </summary>
 public static IEnumerable <ParkingSpot> PullParkingData(ManagerConnection ami)
 {
     for (int i = 701; i < 706; i++)
     {
         ExtensionStateAction action = new ExtensionStateAction()
         {
             Exten    = i.ToString(),
             Context  = "blf",
             ActionId = "1"
         };
         ExtensionStateResponse res = null;
         try
         {
             res = (ExtensionStateResponse)ami.SendAction(action);
         }
         catch (Exception e)
         {
             e.Warn();
         }
         if (res != null)
         {
             yield return new ParkingSpot(i.ToString())
                    {
                        InUse = res.Status == 1
                    }
         }
         ;
     }
 }
예제 #2
0
        public Int32 StatusExtension(String Extension)
        {
            ExtensionStateAction Ext = new ExtensionStateAction();

            Ext.Exten   = Extension;
            Ext.Context = "from-internal";
            ExtensionStateResponse Resp = (ExtensionStateResponse)Conn.SendAction(Ext, 30000);

            return(Resp.Status);
        }
예제 #3
0
        public static int GetExtensionStatus(ManagerConnection ami, int number)
        {
            ExtensionStateAction a = new ExtensionStateAction()
            {
                Exten    = number.ToString(),
                Context  = "blf",
                ActionId = "1"
            };
            int res = 4;
            ExtensionStateResponse response = null;

            try
            {
                response = (ExtensionStateResponse)ami.SendAction(a);
                res      = response.Status;
            }
            catch // if the response is invalid due to a broken extension, set the value to 0
            {
                Console.WriteLine("Bad cast, " + a.Exten);
            }
            return(res);
        }