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#"); } }
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]); }