Пример #1
0
        private void CallRequest1(string[] przekaz)
        {
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From "+przekaz[1]+"# CallRequest(" + przekaz[1] +","+przekaz[2]+"," +przekaz[3] +  ")"); //3-przepływnosc
            bool potwierdzenie = true;
            //menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To Directory# DirectoryRequest(" + przekaz[2]+")");
            
            //string adres = menadzer.directory.DIrectoryRequest(przekaz[2]);
            //menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From Directory S.# DirectoryRequest(" + adres + ")");
            //if (adres==null)
            //{
            //    potwierdzenie = false;
            //} else
            
                menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To Policy S.# Policy(" + przekaz[1]+", "+przekaz[2] + ")");
                if(menadzer.policy.Policy_check(przekaz[1], przekaz[2]))
                {
                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From Policy S.# Policy(CONFIRMATION)");
                }
                else
                {
                    potwierdzenie = false;
                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From Policy S.# Policy(REJECTION)");
                }

            Random rand = new Random();
            int r = rand.Next();
            if(potwierdzenie)
            {
                string[] split_domena = przekaz[2].Split(new char[] { '@' });
                if(!split_domena[1].Equals(menadzer.domena))
                {
                    //DOPISAĆ DO JAKIEGO NCC WYSYŁA SIĘ!!!
                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To NCC#CallCoordination(" + przekaz[1] + ", " + przekaz[2]+"," + przekaz[3]+"," +przekaz[1]+przekaz[2]+r+ ")");
                    chec_nawiazania_polaczenia chec_tmp = new chec_nawiazania_polaczenia();
                    chec_tmp.pocz = przekaz[1];
                    chec_tmp.kon = przekaz[2];
                    chec_tmp.id_unk = przekaz[1] + przekaz[2] + r;
                    chec_tmp.przep = przekaz[3];
                    string NCC_id;
                    if(menadzer.slownik.TryGetValue(split_domena[1], out NCC_id))
                    {
                    chec_tmp.nas = NCC_id;               
                    lista_checi.Add(chec_tmp);
                    wyslij("Sygnalizuj#" + menadzer.id + "#" + chec_tmp.nas + "#CallCoordination#"+menadzer.id+"#" + przekaz[1] + "#" + przekaz[2] + "#" +przekaz[3] + "#" + przekaz[1] + przekaz[2] + r);

                    }
                  
                }
                else
                {
                    
                      menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To " +przekaz[2] +"# CallAccept(" + przekaz[1] + ", " + przekaz[2] + ", " +przekaz[3] + ", " + przekaz[1] + przekaz[2] + r + ")");
                    chec_nawiazania_polaczenia chec_tmp = new chec_nawiazania_polaczenia();
                    chec_tmp.pocz = przekaz[1];
                    chec_tmp.kon = przekaz[2];
                    chec_tmp.przep = przekaz[3];
                    chec_tmp.id_unk = przekaz[1] + przekaz[2] + r;
                    lista_checi.Add(chec_tmp);
                    string[] split_id = przekaz[2].Split(new char[] { '@' });
                    if(menadzer.czy_jest_w_mojej_podsieci(split_id[0]))
                    wyslij("Sygnalizuj#" + menadzer.id + "#" + split_id[0] + "#CallAccept#" + przekaz[1] + "#" + przekaz[2] + "#" + przekaz[3] + "#" + przekaz[1] + przekaz[2] + r);
                                      
                   

                }


            }
            else
            {
                menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To " +przekaz[1]+"# CallRequest(" + przekaz[1] + ", " + przekaz[2] +", REJECTION)") ;
                string[] split_id = przekaz[1].Split(new char[] { '@' });
                if (menadzer.czy_jest_w_mojej_podsieci(split_id[0]))
                    wyslij("Sygnalizuj#" + menadzer.id + "#" + split_id[0] + "#CallRequest#" + przekaz[1] + "#" + przekaz[2] + "#" + przekaz[3] + "#" + przekaz[1] + przekaz[2] + r + "#REJECTION#");
                
            }
            
            

        }
Пример #2
0
        private void callrelease(string[] przekaz) 
        {
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From " + przekaz[1] + "# CallRelease(" + przekaz[1] + "," + przekaz[2] + "," + przekaz[3]+")");

            bool potwierdzenie = true;
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To Directory# DirectoryRequest(" + przekaz[1] + ")");
            string adres1 = menadzer.directory.DIrectoryRequest(przekaz[1]);
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From Directory S.# DirectoryRequest(" + adres1 + ")");
            if (adres1 == null)
            {
                potwierdzenie = false;
            }
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To Directory# DirectoryRequest(" + przekaz[2] + ")");
            string adres2 = menadzer.directory.DIrectoryRequest(przekaz[2]);
            menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#From Directory S.# DirectoryRequest(" + adres2 + ")");
            if (adres2 == null)
            {
                potwierdzenie = false;
            }
            if (potwierdzenie)
            {
                menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To CC" + menadzer.id_CC + "# ConnectionRequest(" + przekaz[1] + ", " + adres1 + ", " + przekaz[2] + ", " + adres2 + ", " +przekaz[3] +", " + "RELEASE" + ")");
                wyslij("Sygnalizuj#" + menadzer.id + "#" + menadzer.id_CC + "#ConnectionRequest#" + przekaz[1] + "#" + adres1 + "#" + przekaz[2] + "#" + adres2 + "#0#"+  przekaz[3] + "#" + "RELEASE");


                chec_nawiazania_polaczenia tmp = new chec_nawiazania_polaczenia();
                tmp = czy_nadal_jest_chec(przekaz[3]);
                if (tmp.nas != null)
                {

                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To NCC " + tmp.nas + "# CallCoordination(" + przekaz[1] + "," + przekaz[2] + ", " + przekaz[3]+", " + "RELEASE" + ")");
                    wyslij("Sygnalizuj#" + menadzer.id + "#" + tmp.nas + "#CallCoordination#" + menadzer.id+"#" + przekaz[1] + "#" + przekaz[2] + "#0#" +przekaz[3] +"#" + "RELEASE" );

                }
                else {

                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To " + przekaz[2] + "# CallRelease(" + przekaz[1] + ", " + przekaz[2]+ ", " +przekaz[3]+ ")");
                    string[] split_id = przekaz[1].Split(new char[] { '@' });
                    if (menadzer.czy_jest_w_mojej_podsieci(split_id[0]))
                        wyslij("Sygnalizuj#" + menadzer.id + "#" + split_id[0] + "#CallRelease#" + przekaz[1] + "#" + przekaz[2] + "#" +przekaz[3]);
                }
                if (tmp.zwr != null)
                {

                    menadzer.dodaj_log(DateTime.Now.ToLongTimeString() + "#To NCC " + tmp.zwr + "# CallCoordination(" + przekaz[1] + "," + przekaz[2] + ", " + "RELEASE" + ")");
                    wyslij("Sygnalizuj#" + menadzer.id + "#" + tmp.zwr + "#CallCoordination#" + menadzer.id + "#" + przekaz[1] + "#" + przekaz[2] + "#0#" + przekaz[3] + "#" + "RELEASE");

                }

            }
            release_chec(przekaz[3]);
           
        }