public void Run(params string[] args)
        {
            PhoneSystem ps = PhoneSystem.Root;

            for (; ;)
            {
                ParkExtension      orbit       = ps.GetDNByNumber(ps.GetParameterByName("PARK").Value) as ParkExtension;
                ParkExtension      unorbit     = ps.GetDNByNumber(ps.GetParameterByName("UNPARK").Value) as ParkExtension;
                ActiveConnection[] parkedCalls = orbit.GetActiveConnections();

                foreach (ActiveConnection ac in parkedCalls)
                {
                    if (ac.InternalParty != null)
                    {
                        System.Console.WriteLine("Call(" + ac.CallID + "): parked on " + orbit.Number + "remoteParty is " + ac.InternalParty + "(" + ac.ExternalParty + ")");
                    }
                }
                ActiveConnection[] unparkedCalls = unorbit.GetActiveConnections();
                foreach (ActiveConnection ac in unparkedCalls)
                {
                    if (ac.InternalParty != null)
                    {
                        System.Console.WriteLine("Call(" + ac.CallID + "): parked on " + orbit.Number + "remoteParty is " + ac.InternalParty + "(" + ac.ExternalParty + ")");
                    }
                }
                Thread.Sleep(5000);
            }
        }
Ejemplo n.º 2
0
        public void Run(params string[] args)
        {
            PhoneSystem ps = PhoneSystem.Root;
            Parameter   p  = ps.GetParameterByName("DIALCODEBTHELPER");

            if (p == null)
            {
                ps.GetTenants()[0].CreateParkExtension(args[1]).Save();
                p             = ps.CreateParameter();
                p.Name        = "DIALCODEBTHELPER";
                p.Value       = args[1];
                p.Type        = ParameterType.String;
                p.Description = "Dial code for Blind transfer helper";
                p.Save();
            }
            else
            {
                ParkExtension pe = ps.GetDNByNumber(p.Value) as ParkExtension;
                if (pe == null)
                {
                    ps.GetTenants()[0].CreateParkExtension(args[1]).Save();
                    p.Value = args[1];
                    p.Save();
                }
                else
                {
                    pe.Number = args[1];
                    pe.Save();
                    p.Value = args[1];
                    p.Save();
                }
            }
        }
        public void Run(params string[] args)
        {
            if (!args[1].StartsWith("SP"))
            {
                throw new ArgumentException("Shared Park Extension must start with 'SP'");
            }

            ParkExtension sp = PhoneSystem.Root.GetTenant().CreateParkExtension(args[1]);

            sp.Save();
        }
Ejemplo n.º 4
0
        public void Run(params string[] args)
        {
            PhoneSystem ps            = PhoneSystem.Root;
            String      newParkCode   = args[1];
            String      newUnparkCode = args[2];

            Parameter parkCode   = ps.GetParameterByName("PARK");
            Parameter unparkCode = ps.GetParameterByName("UNPARK");
            DN        oldPark    = null;
            DN        oldUnpark  = null;

            //check park code
            if (parkCode == null || newParkCode != parkCode.Value)
            {
                DN d = ps.GetDNByNumber(newParkCode);
                if (d != null && !(d is ParkExtension))
                {
                    throw new Exception("park code is allocated to enother entity");
                }
                if (parkCode != null)
                {
                    oldPark = (ps.GetDNByNumber(parkCode.Value) as ParkExtension);
                }
            }
            //check unpark code
            if (unparkCode == null || newParkCode != unparkCode.Value)
            {
                DN d = ps.GetDNByNumber(newUnparkCode);
                if (d != null && !(d is ParkExtension))
                {
                    throw new Exception("unpark code is allocated to enother entity");
                }
                if (unparkCode != null)
                {
                    oldUnpark = (ps.GetDNByNumber(unparkCode.Value) as ParkExtension);
                }
            }
            if (parkCode == null)
            {
                parkCode      = ps.CreateParameter();
                parkCode.Type = ParameterType.String;
                parkCode.Name = "PARK";
            }

            if (unparkCode == null)
            {
                unparkCode      = ps.CreateParameter();
                unparkCode.Type = ParameterType.String;
                unparkCode.Name = "UNPARK";
            }

            ParkExtension[] pe           = ps.GetParkExtensions();
            ParkExtension   parkUpdate   = null;
            ParkExtension   unparkUpdate = null;

            foreach (DN p in pe)
            {
                if (oldPark == p)
                {
                    parkUpdate = oldPark as ParkExtension;
                }
                if (oldUnpark == p)
                {
                    unparkUpdate = oldUnpark as ParkExtension;
                }
            }

            if (parkUpdate == null || unparkUpdate == null)
            {
                foreach (ParkExtension p in pe)
                {
                    p.Delete();
                }
                parkUpdate   = ps.GetTenant().CreateParkExtension(newParkCode);
                unparkUpdate = ps.GetTenant().CreateParkExtension(newUnparkCode);
            }
            else
            {
                parkUpdate.Number   = newParkCode;
                unparkUpdate.Number = newUnparkCode;
            }

            parkUpdate.Save();
            parkCode.Value = newParkCode;
            parkCode.Save();
            unparkCode.Value = newUnparkCode;
            unparkCode.Save();
            unparkUpdate.Save();
        }