Public general use code classes and xml files that we've compiled and used over the years:
U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
1: using System;
2: using System.Collections.Generic;
3: using System.Configuration;
4: using System.Data;
5: using System.Diagnostics;
6: using System.Linq;
7:
8: namespace Ia.Ftn.Cl.Model.Business.Huawei
9: {
10: ////////////////////////////////////////////////////////////////////////////
11:
12: /// <summary publish="true">
13: /// U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
14: /// </summary>
15:
16: /// <remarks>
17: /// Copyright © 2019-2020 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
18: ///
19: /// This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
20: /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
21: ///
22: /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
23: /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
24: ///
25: /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
26: ///
27: /// Copyright notice: This notice may not be removed or altered from any source distribution.
28: /// </remarks>
29: public class SoftX
30: {
31: /*
32: * Add the following settings
33: * <add key="softXHuaweiServerHost" value="*" />
34: * <add key="softXHuaweiServerPort" value="*" />
35: * <add key="softXHuaweiServerLoginUser" value="LGI:OP="******",PWD="******";" />
36: * <add key="softXHuaweiServerLogoutUser" value="LGO:OP="******";" />
37: */
38:
39: private static List<string> properlySelectedSoftXCommandList = new List<string>();
40: private static Queue<ProvisioningWorkflow> synchronizationCommandQueue = new Queue<ProvisioningWorkflow>();
41: private static readonly Procedure addOrRemoveAsbrSubscriberProcedure = new Ia.Ftn.Cl.Model.Business.Procedure(Ia.Ftn.Cl.Model.Business.Provision.ServiceOntToAddAndToRemoveInAsbrList);
42:
43: private static Ia.Ftn.Cl.Model.Client.Huawei.SoftX tecSoftX;
44: private static Ia.Ftn.Cl.Model.Client.Huawei.SoftX skbSoftX;
45:
46: /// <summary/>
47: public const int RemotePort = 2944;
48:
49: /// <summary/>
50: public enum SoftXOpcode { LstMgw, LstAsbr, AddMgw, AddAsbr, RemoveAsbr }
51:
52: /// <summary/>
53: //public enum Mode { NUM = 0, IMSINUM = 1 };
54:
55: /// <summary/>
56: //public enum Servattr { OMNP = 0 };
57:
58: /// <summary/>
59: //public enum NumType { TYPE0 = 0, TYPE1 = 1, TYPE2 = 2, TYPE3 = 3, TYPE4 = 4, TYPE5 = 5, TYPE8 = 8, TYPE9 = 9 };
60:
61: /// <summary/>
62: public class NetworkElement
63: {
64: public string Symbol;
65: public string Domain;
66: public string NetId;
67: public string Ip;
68: public string La;
69: }
70:
71: /// <summary/>
72: public static NetworkElement[] NetworkElementList =
73: {
74: new NetworkElement {Symbol = "TEC", Domain = "tec.agcf01", NetId = "tec-agcf-vnid", Ip="10.10.11.20", La="10.10.9.10" },
75: new NetworkElement {Symbol = "SKB", Domain = "skb.agcf01", NetId = "skb-agcf-vnid", Ip="10.10.15.20", La="10.10.13.10" },
76: };
77:
78: /// <summary/>
79: public static NetworkElement SkbNetworkElement
80: {
81: get
82: {
83: return (from n in NetworkElementList where n.Symbol == "SKB" select n).Single();
84: }
85: }
86:
87: /// <summary/>
88: public static NetworkElement TecNetworkElement
89: {
90: get
91: {
92: return (from n in NetworkElementList where n.Symbol == "TEC" select n).Single();
93: }
94: }
95:
96: /// <summary/>
97: public class FieldIdNameExplanation
98: {
99: public int Id;
100: public string FieldName;
101: public string FieldExplanation;
102: }
103:
104: /*
105: /// <summary/>
106: public static FieldIdNameExplanation[] NumTypeFieldIdExplanationList =
107: {
108: new FieldIdNameExplanation {Id = (int)NumType.TYPE0, FieldExplanation="In local network" },
109: new FieldIdNameExplanation {Id = (int)NumType.TYPE1, FieldExplanation="Moved out of local network" },
110: new FieldIdNameExplanation {Id = (int)NumType.TYPE2, FieldExplanation="Moved in from external network" },
111: new FieldIdNameExplanation {Id = (int)NumType.TYPE3, FieldExplanation="Moved to another non-local number" },
112: new FieldIdNameExplanation {Id = (int)NumType.TYPE4, FieldExplanation="Flexible number" },
113: new FieldIdNameExplanation {Id = (int)NumType.TYPE5, FieldExplanation="Moved from GSM to CDMA network" },
114: new FieldIdNameExplanation {Id = (int)NumType.TYPE8, FieldExplanation="Moved from CDMA to GSM network" },
115: new FieldIdNameExplanation {Id = (int)NumType.TYPE9, FieldExplanation="Local fixed network" }
116: };
117: */
118:
119: /// <summary/>
120: //public enum RnidxType { HLR = 0, RN = 1, ALL = 2 };
121:
122: /*
123: /// <summary/>
124: public static FieldIdNameExplanation[] RnidxTypeFieldIdExplanationList =
125: {
126: new FieldIdNameExplanation { Id = (int)RnidxType.HLR,FieldExplanation="HLR number index" },
127: new FieldIdNameExplanation { Id = (int)RnidxType.RN,FieldExplanation="Route number index" },
128: new FieldIdNameExplanation { Id = (int)RnidxType.ALL,FieldExplanation="HLR+RN" },
129: };
130: */
131:
132: /// <summary/>
133: public static FieldIdNameExplanation[] ParameterFieldNameExplanationList =
134: {
135: new FieldIdNameExplanation { FieldName = "TID",FieldExplanation="Termination ID" },
136: new FieldIdNameExplanation { FieldName = "PUI",FieldExplanation="PublicUser Id" },
137: new FieldIdNameExplanation { FieldName = "PRI",FieldExplanation="PrivateUser Id" },
138: new FieldIdNameExplanation { FieldName = "RGN",FieldExplanation="IMS Registration Group Name" },
139: new FieldIdNameExplanation { FieldName = "TET",FieldExplanation="Terminal Equipment Type" },
140: new FieldIdNameExplanation { FieldName = "MN",FieldExplanation="Module number" },
141: new FieldIdNameExplanation { FieldName = "DID",FieldExplanation="Port type" },
142: new FieldIdNameExplanation { FieldName = "PLF",FieldExplanation="Priority Line flag" },
143: new FieldIdNameExplanation { FieldName = "TS",FieldExplanation="Termination Status" },
144: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="New Service Right" },
145: new FieldIdNameExplanation { FieldName = "DT",FieldExplanation="Default Dial Tone" },
146: new FieldIdNameExplanation { FieldName = "HNID",FieldExplanation="Home Network ID" },
147: new FieldIdNameExplanation { FieldName = "NETID",FieldExplanation="Visited Network ID" },
148: new FieldIdNameExplanation { FieldName = "NETINFO",FieldExplanation="Access Network Info" },
149: new FieldIdNameExplanation { FieldName = "PHNCON",FieldExplanation="Phone Context Index" },
150: new FieldIdNameExplanation { FieldName = "DIGMAP",FieldExplanation="Initial DigitMap Index" },
151: new FieldIdNameExplanation { FieldName = "GLOBDMAPIDX",FieldExplanation="Global DigitMap Index" },
152: new FieldIdNameExplanation { FieldName = "PWD",FieldExplanation="Password" },
153: new FieldIdNameExplanation { FieldName = "SGN",FieldExplanation="SCC Group Name" },
154: new FieldIdNameExplanation { FieldName = "SOCGN",FieldExplanation="SOC Group Number" },
155: new FieldIdNameExplanation { FieldName = "DP",FieldExplanation="Download Profile Flag" },
156: new FieldIdNameExplanation { FieldName = "DR",FieldExplanation="Send Registration Subscription Flag" },
157: new FieldIdNameExplanation { FieldName = "EMGCN",FieldExplanation="Emergency Call Group Name" },
158: new FieldIdNameExplanation { FieldName = "CONF",FieldExplanation="Conference URI index" },
159: new FieldIdNameExplanation { FieldName = "CLIPMD",FieldExplanation="CLIP/R Mode" },
160: new FieldIdNameExplanation { FieldName = "IFMIMN",FieldExplanation="IFMI Module Number" },
161: new FieldIdNameExplanation { FieldName = "CODEC",FieldExplanation="Codec prefer" },
162: new FieldIdNameExplanation { FieldName = "CGP",FieldExplanation="Gate Proprity" },
163: new FieldIdNameExplanation { FieldName = "EID",FieldExplanation="Equipment ID" },
164: new FieldIdNameExplanation { FieldName = "MGWID",FieldExplanation="MGW ID" },
165: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Global MGW index" },
166: new FieldIdNameExplanation { FieldName = "MGWDESC",FieldExplanation="MGW description" },
167: new FieldIdNameExplanation { FieldName = "MGWGROUPNO",FieldExplanation="MGW Group Number" },
168: new FieldIdNameExplanation { FieldName = "CP",FieldExplanation="Audio codec prefer" },
169: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="MGW Group Name" },
170: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Session Border Control" },
171: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Session Border Control Description" },
172: new FieldIdNameExplanation { FieldName = "GWTP",FieldExplanation="Gateway type" },
173: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Control MID" },
174: new FieldIdNameExplanation { FieldName = "PTYPE",FieldExplanation="Protocol type" },
175: new FieldIdNameExplanation { FieldName = "CODETYPE",FieldExplanation="Code type" },
176: new FieldIdNameExplanation { FieldName = "TDMIFC1",FieldExplanation="TDM termination ID prefix1" },
177: new FieldIdNameExplanation { FieldName = "TDMIFC2",FieldExplanation="TDM termination ID prefix2" },
178: new FieldIdNameExplanation { FieldName = "TDMIFC3",FieldExplanation="TDM termination ID prefix3" },
179: new FieldIdNameExplanation { FieldName = "TDMIFC4",FieldExplanation="TDM termination ID prefix4" },
180: new FieldIdNameExplanation { FieldName = "TDMIFC5",FieldExplanation="TDM termination ID prefix5" },
181: new FieldIdNameExplanation { FieldName = "TDMIFC6",FieldExplanation="TDM termination ID prefix6" },
182: new FieldIdNameExplanation { FieldName = "TDMIFC7",FieldExplanation="TDM termination ID prefix7" },
183: new FieldIdNameExplanation { FieldName = "TDMIFC8",FieldExplanation="TDM termination ID prefix8" },
184: new FieldIdNameExplanation { FieldName = "TDMIFC9",FieldExplanation="TDM termination ID prefix9" },
185: new FieldIdNameExplanation { FieldName = "TDMIFC10",FieldExplanation="TDM termination ID prefix10" },
186: new FieldIdNameExplanation { FieldName = "TDMIFC11",FieldExplanation="TDM termination ID prefix11" },
187: new FieldIdNameExplanation { FieldName = "TDMIFC12",FieldExplanation="TDM termination ID prefix12" },
188: new FieldIdNameExplanation { FieldName = "TDMIFC13",FieldExplanation="TDM termination ID prefix13" },
189: new FieldIdNameExplanation { FieldName = "TDMIFC14",FieldExplanation="TDM termination ID prefix14" },
190: new FieldIdNameExplanation { FieldName = "TDMIFC15",FieldExplanation="TDM termination ID prefix15" },
191: new FieldIdNameExplanation { FieldName = "TDMIFC16",FieldExplanation="TDM termination ID prefix16" },
192: new FieldIdNameExplanation { FieldName = "RTPIFC",FieldExplanation="RTP termination ID prefix" },
193: new FieldIdNameExplanation { FieldName = "HAIRPIN",FieldExplanation="Hairpin connection" },
194: new FieldIdNameExplanation { FieldName = "MSTYPE",FieldExplanation="Master/Slave type" },
195: new FieldIdNameExplanation { FieldName = "MRSCAP",FieldExplanation="Media resource server" },
196: new FieldIdNameExplanation { FieldName = "UCATT",FieldExplanation="Special attributes" },
197: new FieldIdNameExplanation { FieldName = "UCATTEX",FieldExplanation="Extend Special attributes" },
198: new FieldIdNameExplanation { FieldName = "OIPDM",FieldExplanation="Origin IP domain" },
199: new FieldIdNameExplanation { FieldName = "E2ET",FieldExplanation="Support E2E trace or not" },
200: new FieldIdNameExplanation { FieldName = "TOS",FieldExplanation="TOS Value" },
201: new FieldIdNameExplanation { FieldName = "HEARTBEATTIMES",FieldExplanation="Heartbeat Times" },
202: new FieldIdNameExplanation { FieldName = "PREMRS1",FieldExplanation="Preference MRS 1" },
203: new FieldIdNameExplanation { FieldName = "PREMRS2",FieldExplanation="Preference MRS 2" },
204: new FieldIdNameExplanation { FieldName = "PREMRS3",FieldExplanation="Preference MRS 3" },
205: new FieldIdNameExplanation { FieldName = "AGID",FieldExplanation="Global AG number" },
206: new FieldIdNameExplanation { FieldName = "IMSFLAG",FieldExplanation="IMS flag" },
207: new FieldIdNameExplanation { FieldName = "MMFLAG",FieldExplanation="Single AG switch flag" },
208: new FieldIdNameExplanation { FieldName = "NOTHWDEV",FieldExplanation="Not Authentication MG" },
209: new FieldIdNameExplanation { FieldName = "MIXVOICE",FieldExplanation="Mix voice flag" },
210: new FieldIdNameExplanation { FieldName = "VBDCODECMODE",FieldExplanation="VBD code mode" },
211: new FieldIdNameExplanation { FieldName = "ET",FieldExplanation="Encryption type" },
212: new FieldIdNameExplanation { FieldName = "DYNIP",FieldExplanation="Support dynamic IP address" },
213: new FieldIdNameExplanation { FieldName = "KEY",FieldExplanation="Key" },
214: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="DH Authentication MGID" },
215: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="SPI" },
216: new FieldIdNameExplanation { FieldName = "SUPROOTPKG",FieldExplanation="Root package" },
217: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Normal MG execution time" },
218: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Normal MGC execution time" },
219: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="MG provisional response timer value" },
220: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="MGC provisional response timer value" },
221: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="MGC originated pending limit" },
222: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="MG originated pending limit" },
223: new FieldIdNameExplanation { FieldName = "LA",FieldExplanation="Local IP address" },
224: //new FieldIdNameExplanation { FieldName = "XXXXXX",FieldExplanation="Local port" },
225: new FieldIdNameExplanation { FieldName = "RA1",FieldExplanation="Remote IP address 1" },
226: new FieldIdNameExplanation { FieldName = "RA2",FieldExplanation="Remote IP address 2" },
227: new FieldIdNameExplanation { FieldName = "RA3",FieldExplanation="Remote IP address 3" },
228: new FieldIdNameExplanation { FieldName = "RA4",FieldExplanation="Remote IP address 4" },
229: new FieldIdNameExplanation { FieldName = "RA5",FieldExplanation="Remote IP address 5" },
230: new FieldIdNameExplanation { FieldName = "RP",FieldExplanation="Remote port" },
231: new FieldIdNameExplanation { FieldName = "LISTOFCODEC",FieldExplanation="Codec list" },
232: new FieldIdNameExplanation { FieldName = "EC",FieldExplanation="EC" },
233: new FieldIdNameExplanation { FieldName = "USRRATE",FieldExplanation="User Rate" },
234: new FieldIdNameExplanation { FieldName = "ENVOICEATTR",FieldExplanation="Enhanced Voice Attribute" },
235: new FieldIdNameExplanation { FieldName = "MGWFCFLAG",FieldExplanation="Gateway Support H.248.11 Protocol" },
236: new FieldIdNameExplanation { FieldName = "OBJRATE",FieldExplanation="OverLoad Object Rate" },
237: new FieldIdNameExplanation { FieldName = "PROTCTTM",FieldExplanation="OverLoad Protect time" },
238: new FieldIdNameExplanation { FieldName = "IPDOMAIN",FieldExplanation="IPDomain" },
239: };
240:
241: /// <summary/>
242: public class ProvisioningWorkflow
243: {
244: /// <summary/>
245: public string ReadCommand { get; set; }
246:
247: /// <summary/>
248: public string TecCreateCommand { get; set; }
249:
250: /// <summary/>
251: public string SkbCreateCommand { get; set; }
252:
253: /// <summary/>
254: public ProvisioningWorkflow()
255: {
256:
257: }
258: }
259:
260: /// <summary/>
261: public static string Host { get { return ConfigurationManager.AppSettings["softXHuaweiServerHost"].ToString(); } }
262:
263: /// <summary/>
264: public static int Port { get { return int.Parse(ConfigurationManager.AppSettings["softXHuaweiServerPort"].ToString()); } }
265:
266: /// <summary/>
267: public static string LoginUser { get { return ConfigurationManager.AppSettings["softXHuaweiServerLoginUser"].ToString(); } }
268:
269: /// <summary/>
270: public static string LogoutUser { get { return ConfigurationManager.AppSettings["softXHuaweiServerLogoutUser"].ToString(); } }
271:
272: /// <summary/>
273: public static string SemiColon { get { return ";"; } }
274:
275: ////////////////////////////////////////////////////////////////////////////
276:
277: /// <summary>
278: ///
279: /// </summary>
280: public class Response
281: {
282: /// <summary/>
283: public bool IsSuccess { get { return ReturnCode == Ia.Ftn.Cl.Model.Client.Huawei.SoftX.ResultCode.OperationSucceeded; } }
284:
285: /// <summary/>
286: public Ia.Ftn.Cl.Model.Client.Huawei.SoftX.ResultCode ReturnCode { get; set; }
287:
288: /// <summary/>
289: public string NetworkElement { get; set; }
290:
291: /// <summary/>
292: public string CodeExplanation { get; set; }
293:
294: /// <summary/>
295: public string CommandString { get; set; }
296:
297: /// <summary/>
298: public string Content { get; set; }
299:
300: /// <summary/>
301: public int Count { get; set; }
302:
303: /// <summary/>
304: public Dictionary<string, string> QueryDictionary { get; set; }
305:
306: /// <summary/>
307: public Response() { }
308: }
309:
310: ////////////////////////////////////////////////////////////////////////////
311:
312: /// <summary>
313: ///
314: /// </summary>
315: public SoftX() { }
316:
317: ////////////////////////////////////////////////////////////////////////////
318:
319: /// <summary>
320: ///
321: /// </summary>
322: public static Ia.Cl.Models.Result Connect()
323: {
324: var result = new Ia.Cl.Models.Result();
325:
326: tecSoftX = new Cl.Model.Client.Huawei.SoftX();
327: skbSoftX = new Cl.Model.Client.Huawei.SoftX();
328:
329: if (tecSoftX != null && !tecSoftX.IsConnected) tecSoftX.Connect(out result);
330: else result.AddWarning("TEC SoftX is already connected. ");
331:
332: if (skbSoftX != null && !skbSoftX.IsConnected) skbSoftX.Connect(out result);
333: else result.AddWarning("SKB SoftX is already connected. ");
334:
335: return result;
336: }
337:
338: ////////////////////////////////////////////////////////////////////////////
339:
340: /// <summary>
341: ///
342: /// </summary>
343: public static Ia.Cl.Models.Result Disconnect()
344: {
345: var result = new Ia.Cl.Models.Result();
346:
347: if (tecSoftX != null && tecSoftX.IsConnected) tecSoftX.Disconnect(out result);
348: else result.AddWarning("TEC SoftX is already disconnected. ");
349:
350: if (skbSoftX != null && skbSoftX.IsConnected) skbSoftX.Disconnect(out result);
351: else result.AddWarning("SKB SoftX is already disconnected. ");
352:
353: return result;
354: }
355:
356: ////////////////////////////////////////////////////////////////////////////
357:
358: /// <summary>
359: ///
360: /// </summary>
361: public static void Login()
362: {
363: tecSoftX.Login();
364: skbSoftX.Login();
365: }
366:
367: ////////////////////////////////////////////////////////////////////////////
368:
369: /// <summary>
370: ///
371: /// </summary>
372: public static void Logout()
373: {
374: tecSoftX.Logout();
375: skbSoftX.Logout();
376: }
377:
378: ////////////////////////////////////////////////////////////////////////////
379:
380: /// <summary>
381: ///
382: /// </summary>
383: public static void RegisterNe()
384: {
385: var c = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.RegisterNetworkElementCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.TecNetworkElement);
386: tecSoftX.SendQueue.Enqueue(c);
387:
388: c = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.RegisterNetworkElementCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SkbNetworkElement);
389: skbSoftX.SendQueue.Enqueue(c);
390: }
391:
392: ////////////////////////////////////////////////////////////////////////////
393:
394: /// <summary>
395: ///
396: /// </summary>
397: public static void UnregisterNe()
398: {
399: var c = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.UnregisterNetworkElementCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.TecNetworkElement);
400: tecSoftX.SendQueue.Enqueue(c);
401:
402: c = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.UnregisterNetworkElementCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SkbNetworkElement);
403: skbSoftX.SendQueue.Enqueue(c);
404: }
405:
406: ////////////////////////////////////////////////////////////////////////////
407:
408: /// <summary>
409: ///
410: /// </summary>
411: private static string RegisterNetworkElementCommand(NetworkElement networkElement)
412: {
413: // REG NE:IP="10.10.11.20";
414: return @"REG NE:IP=""" + networkElement.Ip + @""";";
415: }
416:
417: ////////////////////////////////////////////////////////////////////////////
418:
419: /// <summary>
420: ///
421: /// </summary>
422: private static string UnregisterNetworkElementCommand(NetworkElement networkElement)
423: {
424: // UNREG NE:IP="10.161.198.243";
425: return @"UNREG NE:IP=""" + networkElement.Ip + @""";";
426: }
427:
428: ////////////////////////////////////////////////////////////////////////////
429:
430: /// <summary>
431: ///
432: /// </summary>
433: public static Queue<string> TecReceiveQueue
434: {
435: get
436: {
437: return tecSoftX.ReceiveQueue;
438: }
439: }
440:
441: ////////////////////////////////////////////////////////////////////////////
442:
443: /// <summary>
444: ///
445: /// </summary>
446: public static Queue<string> TecSendQueue
447: {
448: get
449: {
450: return tecSoftX.SendQueue;
451: }
452: }
453:
454: ////////////////////////////////////////////////////////////////////////////
455:
456: /// <summary>
457: ///
458: /// </summary>
459: public static Queue<string> SkbReceiveQueue
460: {
461: get
462: {
463: return skbSoftX.ReceiveQueue;
464: }
465: }
466:
467: ////////////////////////////////////////////////////////////////////////////
468:
469: /// <summary>
470: ///
471: /// </summary>
472: public static Queue<string> SkbSendQueue
473: {
474: get
475: {
476: return skbSoftX.SendQueue;
477: }
478: }
479:
480: ////////////////////////////////////////////////////////////////////////////
481:
482: /// <summary>
483: ///
484: /// </summary>
485: public static bool IsConnected
486: {
487: get
488: {
489: return tecSoftX != null && tecSoftX.IsConnected && skbSoftX != null && skbSoftX.IsConnected;
490: }
491: }
492:
493: ////////////////////////////////////////////////////////////////////////////
494: ////////////////////////////////////////////////////////////////////////////
495:
496: /// <summary>
497: ///
498: /// </summary>
499: public static Ia.Cl.Models.Result ManageReceiveQueue()
500: {
501: string rowString, formattedString;
502:
503: var result = new Ia.Cl.Models.Result();
504: var tecSoftXResult = new Ia.Cl.Models.Result();
505: var skbSoftXResult = new Ia.Cl.Models.Result();
506:
507: try
508: {
509: while (tecSoftX.ReceiveQueue.Count > 0)
510: {
511: rowString = tecSoftX.ReceiveQueue.Dequeue();
512:
513: Debug.WriteLine("ManageReceiveQueue(): rowString: " + rowString);
514:
515: formattedString = rowString;
516:
517: tecSoftX.Update(formattedString, ref tecSoftX, out tecSoftXResult);
518: }
519:
520: while (skbSoftX.ReceiveQueue.Count > 0)
521: {
522: rowString = skbSoftX.ReceiveQueue.Dequeue();
523:
524: Debug.WriteLine("ManageReceiveQueue(): rowString: " + rowString);
525:
526: formattedString = rowString;
527:
528: skbSoftX.Update(formattedString, ref skbSoftX, out skbSoftXResult);
529: }
530:
531: result.AddResult(tecSoftXResult);
532: result.AddResult(skbSoftXResult);
533: }
534: catch (Exception ex)
535: {
536: result.AddError("ManageReceiveQueue: Exception: " + ex.Message);
537: }
538:
539: return result;
540: }
541:
542: ////////////////////////////////////////////////////////////////////////////
543:
544: /// <summary>
545: ///
546: /// </summary>
547: public static string ManageSendQueue(out Ia.Cl.Models.Result result)
548: {
549: string command = string.Empty;
550: var commandList = new List<string>();
551:
552: result = new Ia.Cl.Models.Result();
553:
554: try
555: {
556: if (tecSoftX.SendQueue.Count > 0)
557: {
558: command = tecSoftX.SendQueue.Dequeue();
559:
560: Debug.WriteLine("ManageSendQueue(): command: " + command);
561:
562: tecSoftX.Send(command, out Ia.Cl.Models.Result r);
563:
564: if (r.HasError) result.AddError(r.Message);
565:
566: commandList.Add(command);
567: }
568:
569: if (skbSoftX.SendQueue.Count > 0)
570: {
571: command = skbSoftX.SendQueue.Dequeue();
572:
573: Debug.WriteLine("ManageSendQueue(): command: " + command);
574:
575: skbSoftX.Send(command, out Ia.Cl.Models.Result r);
576:
577: if (r.HasError) result.AddError(r.Message);
578:
579: commandList.Add(command);
580: }
581: }
582: catch (Exception ex)
583: {
584: result.AddError("ManageSendQueue: Exception: " + ex.Message);
585: }
586:
587: return result.HasError ? string.Empty : string.Join(" ", commandList);
588: }
589:
590: ////////////////////////////////////////////////////////////////////////////
591:
592: /// <summary>
593: ///
594: /// </summary>
595: private static string KeepAliveShakeHandCommand
596: {
597: get
598: {
599: return "SHK HAND:;";
600: }
601: }
602:
603: ////////////////////////////////////////////////////////////////////////////
604:
605: /// <summary>
606: ///
607: /// </summary>
608: private static string ProperlySelectedSingleSoftXCommandQueueCommand(ref int referenceIndex, out int itemIndex, out int listCount)
609: {
610: if (properlySelectedSoftXCommandList.JustStartedOrRolledOver())
611: {
612: //list = new List<string>(); // SoftXCommandToRetrieveAllPossibleMgwsPreferablyNotInMgwTable();
613:
614: properlySelectedSoftXCommandList = SoftXCommandToRetrieveAllPossibleAsbrsPreferablyNotInAsbrsTable();
615: }
616:
617: var command = properlySelectedSoftXCommandList.Next(ref referenceIndex, out itemIndex, out listCount);
618:
619: return command;
620: }
621:
622: ////////////////////////////////////////////////////////////////////////////
623:
624: /// <summary>
625: ///
626: /// </summary>
627: public static List<string> SoftXCommandToRetrieveAllPossibleMgwsPreferablyNotInMgwTable()
628: {
629: HashSet<string> hashSet;
630:
631: hashSet = new HashSet<string>();
632:
633: //var nddOntInHuaweiSwitchNokiaAccessWithAccessList = Ia.Ftn.Cl.Model.Data.Huawei.Ims.NddOntInHuaweiSwitchNokiaAccessWithAccessList();
634: var nddOntInHuaweiSwitchNokiaAccessList = Ia.Ftn.Cl.Model.Data.Huawei.Ims.NddOntInHuaweiSwitchNokiaAccessList();
635:
636: var ipEidOfnddOntInHuaweiSwitchNokiaAccessWithAccessList = new List<string>();
637:
638: /*
639: foreach (var n in nddOntInHuaweiSwitchNokiaAccessWithAccessList)
640: {
641: if (Ia.Cl.Models.Default.IsValidIpv4(n.Ip))
642: {
643: ipEidOfnddOntInHuaweiSwitchNokiaAccessWithAccessList.Add(IpToEid(n.Ip));
644: }
645: else
646: {
647: }
648: }
649: */
650:
651: var ipEidOfnddOntInHuaweiSwitchNokiaAccessList = new List<string>();
652:
653: foreach (var n in nddOntInHuaweiSwitchNokiaAccessList)
654: {
655: if (Ia.Cl.Models.Default.IsValidIpv4(n.Ip))
656: {
657: ipEidOfnddOntInHuaweiSwitchNokiaAccessList.Add(IpToEid(n.Ip));
658: }
659: else
660: {
661: }
662: }
663:
664: var eid0List = Ia.Ftn.Cl.Model.Data.Huawei.Mgw.EidList();
665: eid0List = eid0List.Distinct().ToList();
666:
667: //var eidList = ipEidOfnddOntInHuaweiSwitchNokiaAccessWithAccessList.Except(eid0List).ToList();
668: var eidList = ipEidOfnddOntInHuaweiSwitchNokiaAccessList.Except(eid0List).ToList();
669:
670: // if eidList is empty then will use the all list
671: //if (eidList.Count == 0) eidList = ipEidOfnddOntInHuaweiSwitchNokiaAccessWithAccessList;
672: if (eidList.Count == 0) eidList = ipEidOfnddOntInHuaweiSwitchNokiaAccessList;
673:
674: var commandList = new List<string>();
675:
676: foreach (string eid in eidList)
677: {
678: commandList.Add(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.FormatSoftXLstCommand(SoftXOpcode.LstMgw, eid));
679: }
680:
681: hashSet.UnionWith(new HashSet<string>(commandList));
682:
683: return hashSet.OrderBy(u => u).ToList();
684: }
685:
686: ////////////////////////////////////////////////////////////////////////////
687:
688: /// <summary>
689: ///
690: /// </summary>
691: public static List<string> SoftXCommandToRetrieveAllPossibleAsbrsPreferablyNotInAsbrsTable()
692: {
693: string pui;
694: HashSet<string> hashSet;
695:
696: hashSet = new HashSet<string>();
697:
698: var possibleList = Ia.Ftn.Cl.Model.Data.Service.AllPossibleServiceNumberWithinSoftX().ConvertAll<string>(u => u.ToString());
699:
700: // temp
701: //possibleList = possibleList.Where(u => u.StartsWith("254")).ToList();
702:
703: var existingList = Ia.Ftn.Cl.Model.Data.Huawei.Asbr.ServiceList();
704:
705: var list = possibleList.Except(existingList).ToList();
706:
707: // if list is empty then will use the possibleList
708: if (list.Count == 0) list = possibleList;
709:
710: var commandList = new List<string>();
711:
712: foreach (string service in list)
713: {
714: pui = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.ImpuSipDomain(service);
715:
716: commandList.Add(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.FormatSoftXLstCommand(SoftXOpcode.LstAsbr, pui));
717: }
718:
719: hashSet.UnionWith(new HashSet<string>(commandList));
720:
721: return hashSet.OrderBy(u => u).ToList();
722: }
723:
724: ////////////////////////////////////////////////////////////////////////////
725: ////////////////////////////////////////////////////////////////////////////
726:
727:
728:
729: ////////////////////////////////////////////////////////////////////////////
730: ////////////////////////////////////////////////////////////////////////////
731:
732: /// <summary>
733: ///
734: /// </summary>
735: public static Ia.Cl.Models.Result AddAsbr(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, string service, int port)
736: {
737: string command;
738: Ia.Cl.Models.Result result;
739:
740: result = new Ia.Cl.Models.Result();
741:
742: var ont = Ia.Ftn.Cl.Model.Data.Nokia.Ont.Read(nddOnt.Id);
743:
744: if (ont != null)
745: {
746: port = (port != Ia.Ftn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown) ? port : Ia.Ftn.Cl.Model.Data.Huawei.Asbr.NextVacantTidForOnt(nddOnt, ont);
747:
748: if (port != Ia.Ftn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown)
749: {
750: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.AddAsbrCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.TecNetworkElement, nddOnt, service, port);
751: tecSoftX.SendQueue.Enqueue(command);
752:
753: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.AddAsbrCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SkbNetworkElement, nddOnt, service, port);
754: skbSoftX.SendQueue.Enqueue(command);
755: }
756: else
757: {
758: result.AddError("Port is invalid or does not exist:" + nddOnt.Access.Name);
759: }
760: }
761: else
762: {
763: result.AddError("Ont is null, does not exist for access:" + nddOnt.Access.Name);
764: }
765:
766: return result;
767: }
768:
769: ////////////////////////////////////////////////////////////////////////////
770:
771: /// <summary>
772: ///
773: /// </summary>
774: public static void ReadAsbr(string service)
775: {
776: string command;
777:
778: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ReadAsbrCommand(service);
779:
780: tecSoftX.SendQueue.Enqueue(command);
781: skbSoftX.SendQueue.Enqueue(command);
782: }
783:
784: ////////////////////////////////////////////////////////////////////////////
785:
786: /// <summary>
787: ///
788: /// </summary>
789: public static void RemoveAsbr(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont nddOnt, string service)
790: {
791: string command;
792:
793: // try to handle removing a number without knowing the ONT
794:
795: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.RemoveAsbrCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.TecNetworkElement, nddOnt, service, 0);
796: tecSoftX.SendQueue.Enqueue(command);
797:
798: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.RemoveAsbrCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SkbNetworkElement, nddOnt, service, 0);
799: skbSoftX.SendQueue.Enqueue(command);
800: }
801:
802: /*
803: ////////////////////////////////////////////////////////////////////////////
804:
805: /// <summary>
806: ///
807: /// </summary>
808: private static Ia.Cl.Models.Result ManageSynchronizationBetweenHuaweiImsAndNokiaAccess()
809: {
810: Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ProvisioningWorkflow provisioningWorkflow;
811:
812: var result = new Ia.Cl.Models.Result();
813:
814: provisioningWorkflow = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SynchronizeAsbrServiceToMatchHuaweiSwitchNokiaAccessServiceQueueCommand;
815:
816: if (provisioningWorkflow != null)
817: {
818: tecSoftX.SendQueue.Enqueue(provisioningWorkflow.TecCreateCommand);
819: tecSoftX.SendQueue.Enqueue(provisioningWorkflow.ReadCommand);
820:
821: skbSoftX.SendQueue.Enqueue(provisioningWorkflow.SkbCreateCommand);
822: skbSoftX.SendQueue.Enqueue(provisioningWorkflow.ReadCommand);
823:
824: result.AddSuccess("Create (TEC): " + provisioningWorkflow.TecCreateCommand + "(SKB): " + provisioningWorkflow.SkbCreateCommand + ", Read: " + provisioningWorkflow.ReadCommand);
825: }
826: else
827: {
828: result.AddWarning("No sync. ");
829: }
830:
831: return result;
832: }
833: */
834:
835: ////////////////////////////////////////////////////////////////////////////
836:
837: /// <summary>
838: ///
839: /// </summary>
840: public static Ia.Cl.Models.Result ManageSynchronizationBetweenHuaweiImsAndNokiaAccess(Ia.Ftn.Cl.Model.Business.Default.Procedure procedure)
841: {
842: Ia.Ftn.Cl.Model.Business.Procedure.Process process;
843:
844: var result = new Ia.Cl.Models.Result();
845:
846: process = addOrRemoveAsbrSubscriberProcedure.NextProcess();
847:
848: if (process.Type != Ia.Ftn.Cl.Model.Business.Procedure.ProcessType.None)
849: {
850: if (process.Type == Ia.Ftn.Cl.Model.Business.Procedure.ProcessType.Create)
851: {
852: result.AddSuccess("create: " + process.Service + " (" + process.Ont.Access.Name + ") " + addOrRemoveAsbrSubscriberProcedure.ProgressCounterString);
853:
854: AddAsbr(process.Ont, process.Service, Ia.Ftn.Cl.Model.Business.Default.PortUndefinedOrInvalidOrUnknown);
855:
856: // not suitable causes too many messages
857: //Ia.Ftn.Cl.Model.Data.Msmq.SecretaryApplication.Enqueue(Ia.Ftn.Cl.Model.Business.Msmq.Application.SoftXApplication, Ia.Ftn.Cl.Model.Business.Msmq.Process.ReadService, process.Service);
858: }
859: else if (process.Type == Ia.Ftn.Cl.Model.Business.Procedure.ProcessType.Read)
860: {
861: result.AddSuccess("read: " + process.Service + " (" + process.Ont.Access.Name + ") " + addOrRemoveAsbrSubscriberProcedure.ProgressCounterString);
862:
863: ReadAsbr(process.Service);
864: }
865: else if (process.Type == Ia.Ftn.Cl.Model.Business.Procedure.ProcessType.Delete)
866: {
867: result.AddSuccess("delete: " + process.Service + " (" + process.Ont.Access.Name + ") " + addOrRemoveAsbrSubscriberProcedure.ProgressCounterString);
868:
869: RemoveAsbr(process.Ont, process.Service);
870:
871: // not suitable causes too many messages
872: //Ia.Ftn.Cl.Model.Data.Msmq.SecretaryApplication.Enqueue(Ia.Ftn.Cl.Model.Business.Msmq.Application.SoftXApplication, Ia.Ftn.Cl.Model.Business.Msmq.Process.ReadService, process.Service);
873: }
874: else result.AddError("sync: undefined procedure. ");
875:
876: Ia.Ftn.Cl.Model.Data.Msmq.SecretaryApplication.Enqueue(Ia.Ftn.Cl.Model.Business.Msmq.Application.SoftXApplication, Ia.Ftn.Cl.Model.Business.Msmq.Process.SynchronizeCompleted, process.Service);
877: }
878: else result.AddWarning("sync: nothing to create or delete");
879:
880: return result;
881: }
882:
883: ////////////////////////////////////////////////////////////////////////////
884: ////////////////////////////////////////////////////////////////////////////
885:
886:
887:
888:
889:
890:
891:
892:
893:
894: ////////////////////////////////////////////////////////////////////////////
895: ////////////////////////////////////////////////////////////////////////////
896:
897: /// <summary>
898: ///
899: /// </summary>
900: public static string ManageProperly(ref int properlySelectedSoftXCommandListIndex)
901: {
902: var command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ProperlySelectedSingleSoftXCommandQueueCommand(ref properlySelectedSoftXCommandListIndex, out int itemIndex, out int listCount);
903:
904: tecSoftX.SendQueue.Enqueue(command);
905: skbSoftX.SendQueue.Enqueue(command);
906:
907: var r = command + " (" + itemIndex + "/" + listCount + ")";
908:
909: return r;
910: }
911:
912: ////////////////////////////////////////////////////////////////////////////
913:
914: /// <summary>
915: ///
916: /// </summary>
917: public static Ia.Cl.Models.Result ManageMsmqQueue()
918: {
919: string command;
920:
921: var result = new Ia.Cl.Models.Result();
922:
923: var queueCount = Ia.Ftn.Cl.Model.Data.Msmq.SoftXApplication.Count;
924:
925: if (queueCount > 0)
926: {
927: var message = Ia.Ftn.Cl.Model.Data.Msmq.SoftXApplication.Dequeue;
928:
929: if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.ReadService)
930: {
931: if (Ia.Ftn.Cl.Model.Data.Service.ServiceIsWithinSoftXDomainList(message.Service))
932: {
933: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ReadAsbrCommand(message.Service);
934:
935: tecSoftX.SendQueue.Enqueue(command);
936: skbSoftX.SendQueue.Enqueue(command);
937:
938: result.AddSuccess(message.Service);
939: }
940: else result.AddError("Service: " + message.Service + " is not within SoftX server.");
941: }
942: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.ReadAccess)
943: {
944: var accessName = message.AccessName;
945:
946: if (!string.IsNullOrEmpty(accessName))
947: {
948: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ReadMgwCommand(message.AccessName);
949:
950: tecSoftX.SendQueue.Enqueue(command);
951: skbSoftX.SendQueue.Enqueue(command);
952:
953: result.AddSuccess(message.AccessName);
954: }
955: else result.AddError("AccessName is null or empty.");
956: }
957: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.ResetAccess)
958: {
959: result.AddError("Process " + message.Process.ToString() + " undefined.");
960: }
961: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.CreateReadServiceAccessPort)
962: {
963: var service = message.Service;
964: var accessName = message.AccessName;
965: var port = message.Port;
966:
967: if (Ia.Ftn.Cl.Model.Data.Service.ServiceIsWithinSoftXDomainList(service))
968: {
969: var nddOnt = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntByAccessName(accessName);
970:
971: var createResult = AddAsbr(nddOnt, message.Service, port);
972:
973: ReadAsbr(service);
974:
975: result.AddSuccess("Create/Read: " + service + "|" + accessName + "|" + port + ": " + message.Service + "," + createResult.Message);
976: }
977: else result.AddError("Create/Read: " + service + "|" + accessName + "|" + port + ": Service: " + service + " is not within SoftX server.");
978: }
979: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.DeleteReadServiceAccess)
980: {
981: var service = message.Service;
982: var accessName = message.AccessName;
983:
984: if (Ia.Ftn.Cl.Model.Data.Service.ServiceIsWithinSoftXDomainList(message.Service))
985: {
986: if (!string.IsNullOrEmpty(accessName))
987: {
988: var nddOnt = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntByAccessName(accessName);
989:
990: RemoveAsbr(nddOnt, service);
991:
992: ReadAsbr(service);
993:
994: result.AddSuccess("Delete/Read: " + service + "|" + accessName + ": " + message.Service);
995: }
996: else result.AddError("Delete/Read: " + service + "|" + accessName + ": AccessName is null or empty.");
997: }
998: else result.AddError("Delete/Read: " + service + "|" + accessName + ": Service " + service + " is not within SoftX server.");
999: }
1000: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.Synchronize)
1001: {
1002: var r = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ManageSynchronizationBetweenHuaweiImsAndNokiaAccess(Ia.Ftn.Cl.Model.Business.Default.Procedure.InitializeOrIterate);
1003:
1004: result.AddSuccess("Synchronize: " + r.Message);
1005: }
1006: else if (message.Process == Ia.Ftn.Cl.Model.Business.Msmq.Process.ActiveApplicationRunningPermissionState)
1007: {
1008: Ia.Ftn.Cl.Model.Business.Default.PermitActiveApplicationsToRun = message.State;
1009:
1010: result.AddSuccess("PermitActiveApplicationsToRun: " + message.State);
1011: }
1012: else
1013: {
1014: throw new ArgumentOutOfRangeException("MSMQ process " + message.Process.ToString() + " is undefined");
1015: }
1016: }
1017: else
1018: {
1019: }
1020:
1021: return result;
1022: }
1023:
1024: ////////////////////////////////////////////////////////////////////////////
1025:
1026: /// <summary>
1027: ///
1028: /// </summary>
1029: public static Ia.Cl.Models.Result ManageCreateMissingMgw()
1030: {
1031: string command;
1032:
1033: var result = new Ia.Cl.Models.Result();
1034:
1035: var nddOnt = Ia.Ftn.Cl.Model.Data.Provision.NddHuaweiSwitchAndNokiaAccessOntWithAccessButNoMgwRecord(out string r0);
1036:
1037: if (nddOnt != null)
1038: {
1039: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.AddMgwCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.TecNetworkElement, nddOnt);
1040: tecSoftX.SendQueue.Enqueue(command);
1041:
1042: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.AddMgwCommand(Ia.Ftn.Cl.Model.Business.Huawei.SoftX.SkbNetworkElement, nddOnt);
1043: skbSoftX.SendQueue.Enqueue(command);
1044:
1045: command = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.ReadMgwCommand(nddOnt);
1046: tecSoftX.SendQueue.Enqueue(command);
1047: skbSoftX.SendQueue.Enqueue(command);
1048:
1049: result.AddSuccess("Updated: " + nddOnt.Access.Name + " " + r0);
1050: }
1051: else
1052: {
1053: result.AddWarning("There are no missing MGWs in Huawei-Nokia networks. ");
1054: }
1055:
1056: return result;
1057: }
1058:
1059: ////////////////////////////////////////////////////////////////////////////
1060:
1061: /// <summary>
1062: ///
1063: /// </summary>
1064: public static Ia.Cl.Models.Result ManageKeepAliveShakeHand()
1065: {
1066: var result = new Ia.Cl.Models.Result();
1067:
1068: var c = Ia.Ftn.Cl.Model.Business.Huawei.SoftX.KeepAliveShakeHandCommand;
1069:
1070: tecSoftX.SendQueue.Enqueue(c);
1071: skbSoftX.SendQueue.Enqueue(c);
1072:
1073: result.AddSuccess(c);
1074:
1075: return result;
1076: }
1077:
1078: ////////////////////////////////////////////////////////////////////////////
1079: ////////////////////////////////////////////////////////////////////////////
1080:
1081: /// <summary>
1082: ///
1083: /// </summary>
1084: public static bool SpecialBooleanParameterHandling(string parameterName, string parameterValue)
1085: {
1086: bool b;
1087:
1088: if (parameterValue == "Yes") b = true;
1089: else if (parameterName == "No") b = false;
1090: else if (parameterName == "Active") b = true;
1091: else b = false;
1092:
1093: return b;
1094: }
1095:
1096: ////////////////////////////////////////////////////////////////////////////
1097:
1098: /// <summary>
1099: ///
1100: /// </summary>
1101: public static int SpecialIntegerParameterHandling(string parameterName, string parameterValue)
1102: {
1103: int i;
1104:
1105: if (parameterValue == "NULL") i = 0;
1106: else i = int.Parse(parameterName);
1107:
1108: return i;
1109: }
1110:
1111: ////////////////////////////////////////////////////////////////////////////
1112: ////////////////////////////////////////////////////////////////////////////
1113:
1114: /// <summary>
1115: ///
1116: /// </summary>
1117: private static string ReadAsbrCommand(string service)
1118: {
1119: var pui = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.ImpuSipDomain(service);
1120:
1121: return FormatSoftXLstCommand(SoftXOpcode.LstAsbr, pui);
1122: }
1123:
1124: ////////////////////////////////////////////////////////////////////////////
1125:
1126: /// <summary>
1127: ///
1128: /// </summary>
1129: private static string ReadMgwCommand(string accessName)
1130: {
1131: string command;
1132:
1133: var ip = Ia.Ftn.Cl.Model.Data.NetworkDesignDocument.OntAccessNameToOntIpDictionary[accessName];
1134:
1135: if (Ia.Cl.Models.Default.IsValidIpv4(ip))
1136: {
1137: var eid = IpToEid(ip);
1138:
1139: command = FormatSoftXLstCommand(SoftXOpcode.LstMgw, eid);
1140: }
1141: else command = string.Empty;
1142:
1143: return command;
1144: }
1145:
1146: ////////////////////////////////////////////////////////////////////////////
1147:
1148: /// <summary>
1149: ///
1150: /// </summary>
1151: private static string ReadMgwCommand(Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont ont)
1152: {
1153: string command;
1154:
1155: if (ont != null)
1156: {
1157: var eid = IpToEid(ont.Ip);
1158:
1159: command = FormatSoftXLstCommand(SoftXOpcode.LstMgw, eid);
1160: }
1161: else command = string.Empty;
1162:
1163: return command;
1164: }
1165:
1166: ////////////////////////////////////////////////////////////////////////////
1167:
1168: /// <summary>
1169: ///
1170: /// </summary>
1171: private static string AddMgwCommand(NetworkElement networkElement, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont ont)
1172: {
1173: string command;
1174:
1175: if (ont != null)
1176: {
1177: command = FormatSoftXCommand(SoftXOpcode.AddMgw, networkElement, ont.Ip, ont.Access.Name);
1178: }
1179: else command = string.Empty;
1180:
1181: return command;
1182: }
1183:
1184: ////////////////////////////////////////////////////////////////////////////
1185:
1186: /// <summary>
1187: ///
1188: /// </summary>
1189: private static string AddAsbrCommand(NetworkElement networkElement, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont ont, string serivce, int port)
1190: {
1191: string command;
1192:
1193: if (ont != null)
1194: {
1195: command = FormatSoftXCommand(SoftXOpcode.AddAsbr, networkElement, ont.Ip, ont.Access.Name, serivce, port);
1196: }
1197: else command = string.Empty;
1198:
1199: return command;
1200: }
1201:
1202: ////////////////////////////////////////////////////////////////////////////
1203:
1204: /// <summary>
1205: ///
1206: /// </summary>
1207: private static string RemoveAsbrCommand(NetworkElement networkElement, Ia.Ftn.Cl.Model.Business.NetworkDesignDocument.Ont ont, string serivce, int port)
1208: {
1209: string command;
1210:
1211: if (ont != null)
1212: {
1213: command = FormatSoftXCommand(SoftXOpcode.RemoveAsbr, networkElement, ont.Ip, ont.Access.Name, serivce, port);
1214: }
1215: else command = string.Empty;
1216:
1217: return command;
1218: }
1219:
1220: ////////////////////////////////////////////////////////////////////////////
1221: ////////////////////////////////////////////////////////////////////////////
1222:
1223: /// <summary>
1224: ///
1225: /// </summary>
1226: private static string FormatSoftXLstCommand(SoftXOpcode softXOpcode, string parameter)
1227: {
1228: string command;
1229:
1230: if (softXOpcode == SoftXOpcode.LstMgw)
1231: {
1232: // LST MGW:EID="10.12.42.190:2944";
1233: command = @"LST MGW:EID=""" + parameter + @""";";
1234: }
1235: else if (softXOpcode == SoftXOpcode.LstAsbr)
1236: {
1237: // LST ASBR: PUI="sip:+96525449809@ims.moc.kw";
1238: command = @"LST ASBR:PUI=""" + parameter + @""";";
1239: }
1240: else command = string.Empty;
1241:
1242: return command;
1243: }
1244:
1245: ////////////////////////////////////////////////////////////////////////////
1246:
1247: /// <summary>
1248: ///
1249: /// </summary>
1250: private static string FormatSoftXCommand(SoftXOpcode softXOpcode, NetworkElement networkElement, string ontIp, string accessName)
1251: {
1252: return FormatSoftXCommand(softXOpcode, networkElement, ontIp, accessName, null, 0);
1253: }
1254:
1255: ////////////////////////////////////////////////////////////////////////////
1256:
1257: /// <summary>
1258: ///
1259: /// </summary>
1260: private static string FormatSoftXCommand(SoftXOpcode softXOpcode, NetworkElement networkElement, string ontIp, string accessName, string service, int port)
1261: {
1262: string command;
1263:
1264: if (softXOpcode == SoftXOpcode.AddMgw)
1265: {
1266: // ADD MGW: EID="ONT IP:2944", GWTP=AG, MGWDESC="ONT IP", MGCMODULENO=22, PTYPE=H248, LA="10.10.9.10", DYNIP=NS, RA1="ONT IP", RP=2944, LISTOFCODEC=PCMA-1&PCMU-1&G7231-0&G729-1&G726-0&T38-0&AMR-0&H261-0&H263-0&MPEG4-0&CLEARMODE-1&G726_40-0&G726_32-0&G726_24-0&G726_16-0&ILBC-0&SPEEX-0&G711A_VBD-0&G711U_VBD-0&GSM_FR-0, EC=TRUE, ET=NO, TDMIFC1=10, RTPIFC=11, OWDYNA=YES, SUPROOTPKG=NS, MGWFCFLAG=FALSE, HEARTBEATTIMES=5;
1267: command = @"ADD MGW:EID=""" + ontIp + @":" + RemotePort + @""", GWTP=AG, MGWDESC=""" + accessName + @""", MGCMODULENO=22, PTYPE=H248, LA=""" + networkElement.La + @""", DYNIP=NS, RA1=""" + ontIp + @""", RP=" + RemotePort + @", LISTOFCODEC=PCMA-1&PCMU-1&G7231-0&G729-1&G726-0&T38-0&AMR-0&H261-0&H263-0&MPEG4-0&CLEARMODE-1&G726_40-0&G726_32-0&G726_24-0&G726_16-0&ILBC-0&SPEEX-0&G711A_VBD-0&G711U_VBD-0&GSM_FR-0, EC=TRUE, ET=NO, TDMIFC1=10, RTPIFC=11, OWDYNA=YES, SUPROOTPKG=NS, MGWFCFLAG=FALSE, HEARTBEATTIMES=5;";
1268: }
1269: else if (softXOpcode == SoftXOpcode.AddAsbr)
1270: {
1271: var pui = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Pui(service);
1272: var pri = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Pri(service);
1273: var tid = port;
1274:
1275: // ADD ASBR: PUI="sip:+9652400xxxx@ims.moc.kw", PRI="+9652400xxxx@ims.moc.kw", REGTP=SINGLE, DID=ESL, EID="ONT IP:2944", TID="1", HNID="agcf-hnid", NETID="tec-agcf-vnid", NETINFO="access", PHNCON="Kuwait", DIGMAP=10, PWD="admin", DP=YES;
1276: command = @"ADD ASBR:PUI=""" + pui + @""", PRI=""" + pri + @""", REGTP=SINGLE, DID=ESL, EID=""" + ontIp + @":" + RemotePort + @""", TID=""" + tid + @""", HNID=""agcf-hnid"", NETID=""" + networkElement.NetId + @""", NETINFO=""access"", PHNCON=""Kuwait"", DIGMAP=10, PWD=""admin"", DP=YES;";
1277: }
1278: else if (softXOpcode == SoftXOpcode.RemoveAsbr)
1279: {
1280: var pui = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Pui(service);
1281: var pri = Ia.Ftn.Cl.Model.Business.NumberFormatConverter.Pri(service);
1282: var tid = port;
1283:
1284: // RMV ASBR: PUI="sip:+556239901189@ims1.gvt.net.br";
1285: command = @"RMV ASBR:PUI=""" + pui + @""";";
1286: }
1287: else command = string.Empty;
1288:
1289: return command;
1290: }
1291:
1292: ////////////////////////////////////////////////////////////////////////////
1293:
1294: /// <summary>
1295: ///
1296: /// </summary>
1297: private static string FormatSoftXModCommand(SoftXOpcode amsOpcode, string service, int rnidxRoute)
1298: {
1299: string command;
1300:
1301: if (amsOpcode == SoftXOpcode.LstAsbr)
1302: {
1303: command = @"MOD SERUATTR:MODE=NUM,USRNUM=""" + service + @""",RNIDXTYPE=RN,RNIDX=" + rnidxRoute + ";";
1304: }
1305: else command = string.Empty;
1306:
1307: return command;
1308: }
1309:
1310: ////////////////////////////////////////////////////////////////////////////
1311:
1312: /// <summary>
1313: ///
1314: /// </summary>
1315: public static string IpToEid(string ip)
1316: {
1317: return ip + ":" + RemotePort;
1318: }
1319:
1320: ////////////////////////////////////////////////////////////////////////////
1321: ////////////////////////////////////////////////////////////////////////////
1322: }
1323:
1324: ////////////////////////////////////////////////////////////////////////////
1325: ////////////////////////////////////////////////////////////////////////////
1326: }
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- ApplicationOperator (Ia.Cl.Model) : ApplicationOperator
- Access (Ia.Ftn.Cl.Model.Business) : Access support class for Fixed Telecommunications Network (FTN) business model.
- Address (Ia.Ftn.Cl.Model.Business) : Address Framework class for Fixed Telecommunications Network (FTN) business model.
- Administration (Ia.Ftn.Cl.Model.Business) : Administration support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Application) : Default Application network information support class for the Fixed Telecommunications Network business model
- Authority (Ia.Ftn.Cl.Model.Business) : Authority support class of Fixed Telecommunications Network (FTN) business model.
- Configuration (Ia.Ftn.Cl.Model.Business) : Configuration Framework class for Fixed Telecommunications Network (FTN) business model.
- Contact (Ia.Ftn.Cl.Model.Business) : Contact support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business) : Default general support class of Fixed Telecommunications Network (FTN) business model.
- Axe (Ia.Ftn.Cl.Model.Business.Ericsson) : Ericsson AXE support class of Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Ericsson) : AXE Subscriber support class for Fixed Telecommunications Network (FTN) business model.
- Heartbeat (Ia.Ftn.Cl.Model.Business) : Heartbeat information support class for the Fixed Telecommunications Network business model
- Asbr (Ia.Ftn.Cl.Model.Business.Huawei) : AGCF Users (ASBR) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Board (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Board support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Huawei) : Defaul general support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Dev (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Dev support class of Fixed Telecommunications Network (FTN) business model.
- Ems (Ia.Ftn.Cl.Model.Business.Huawei) : Element Management System (EMS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) business model
- Mgw (Ia.Ftn.Cl.Model.Business.Huawei) : Media Gateway (MGW) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Nce (Ia.Ftn.Cl.Model.Business.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) business model
- OntSipInfo (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS ONT SIP Info support class of Fixed Telecommunications Network (FTN) business model.
- Ont (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Ont support class of Fixed Telecommunications Network (FTN) business model.
- Onu (Ia.Ngn.Cl.Model.Business.Huawei) : Huawei's ONU support class of Next Generation Network'a (NGN's) business model.
- Owsbr (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's OwSbr Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Port (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Port support class of Fixed Telecommunications Network (FTN) business model.
- Sbr (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Seruattr (Ia.Ftn.Cl.Model.Business.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- SoftX (Ia.Ftn.Cl.Model.Business.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Sps (Ia.Ftn.Cl.Model.Business.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) business model.
- Vag (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- VoipPstnUser (Ia.Ftn.Cl.Model.Business.Huawei) : Huawei's EMS VOIP PSTN User support class of Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Fixed Telecommunications Network (FTN) business model
- Ip (Ia.Ftn.Cl.Model.Business) : IP support class of Fixed Telecommunications Network (FTN) business model.
- Mail (Ia.Ftn.Cl.Model.Business) : Mail process support class of Fixed Telecommunications Network (FTN) business model.
- Default (Ia.Ftn.Cl.Model.Business.Maintenance) : Default maintenance network information support class for the Fixed Telecommunications Network business model
- Find (Ia.Ftn.Cl.Model.Business.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network business model
- Script (Ia.Ftn.Cl.Model.Business.Maintenance) : Script support class for Fixed Telecommunications Network (FTN) class library model.
- Task (Ia.Ftn.Cl.Model.Business.Maintenance) : Execute backend task support class for the Fixed Telecommunications Network business model
- DatabaseInformation (Ia.Ftn.Mdaa.Cl.Model.Business) : DatabaseInformation support class for Ministry Database Analysis Application business model.
- Default (Ia.Ftn.Cl.Model.Business.Mdaa) : Default mdaa network information support class for the Fixed Telecommunications Network business model
- MinistryDatabase (Ia.Ftn.Cl.Model.Business.Mdaa) : MinistryDatabase support class for Fixed Telecommunications Network (FTN) business model.
- TableInformation (Ia.Ftn.Mdaa.Cl.Model.Business) : TableInformation support class for Ministry Database Analysis Application business model.
- Migration (Ia.Ftn.Cl.Model.Business) : Migration support class of Fixed Telecommunications Network (FTN) business model.
- Msmq (Ia.Ftn.Cl.Model.Business) : MSMQ support class for Fixed Telecommunications Network (FTN) business model.
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Business) : Network Design Document support class for Fixed Telecommunications Network (FTN) business model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Endpoint support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Gateway Records support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AgcfGatewayTable (Ia.Ftn.Cl.Model.Business.Nokia) : AGCF Gateway Table support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- AmsTransaction (Ia.Ftn.Cl.Model.Nokia.Business) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Ams (Ia.Ftn.Cl.Model.Business.Nokia) : Access Management System (AMS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Ims (Ia.Ftn.Cl.Model.Business.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- OntOntPots (Ia.Ftn.Cl.Model.Business.Nokia) : ONT-ONTPOTS support class of Fixed Telecommunications Network (FTN) Nokia business model.
- OntServiceHsi (Ia.Ngn.Cl.Model.Business.Nokia) : ONT-SERVICEHSI support class of Next Generation Network'a (NGN's) Nokia business model.
- OntServiceVoip (Ia.Ftn.Cl.Model.Business.Nokia) : ONT-SERVICEVOIP support class of Fixed Telecommunications Network (FTN) Nokia business model.
- Ont (Ia.Ftn.Cl.Model.Business.Nokia) : ONT support class of Fixed Telecommunications Network (FTN) Nokia business model.
- Sdc (Ia.Ftn.Cl.Model.Business.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- SubParty (Ia.Ftn.Cl.Model.Business.Nokia) : SubParty support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Nokia) : Subscriber support class for Nokia's Fixed Telecommunications Network (FTN) business model.
- Procedure (Ia.Ftn.Cl.Model.Business) : Provision support class of Fixed Telecommunications Network (FTN) business model.
- Provision (Ia.Ftn.Cl.Model.Business) : Provision support class of Fixed Telecommunications Network (FTN) business model.
- Report (Ia.Ftn.Cl.Model.Business) : Report support class of Fixed Telecommunications Network (FTN) business model.
- Secretary (Ia.Ftn.Cl.Model.Business) : Secretary support class of Fixed Telecommunications Network (FTN) business model.
- ServiceAddress (Ia.Ftn.Cl.Model.Business) : ServiceAddress Framework class for Fixed Telecommunications Network (FTN) business model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Business) : Service Request Administrative Issue support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model.Business) : Service Request History support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model.Business) : Service Request Hsi support class of Next Generation Network'a (NGN's) business model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model.Business) : Service Request Ont Detail support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model.Business) : Service Request Ont support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Business) : Service Request Service support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestStatisticalVariable (Ia.Ftn.Cl.Model.Business) : ServiceRequestStatisticalVariable support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequestType (Ia.Ftn.Cl.Model.Business) : Service Request Type support class of Fixed Telecommunications Network (FTN) business model.
- ServiceRequest (Ia.Ftn.Cl.Model.Business) : Service Request support class of Fixed Telecommunications Network (FTN) business model.
- ServiceSerialRequestService (Ia.Ftn.Cl.Model.Business) : Service Serial Request Service support class of Fixed Telecommunications Network (FTN) business model.
- ServiceServiceRequestOnt (Ia.Ftn.Cl.Model.Business) : ServiceServiceRequestOnt support class for Fixed Telecommunications Network (FTN) business model.
- Service (Ia.Ftn.Cl.Model.Business) : Service support class of Fixed Telecommunications Network (FTN) business model.
- Service2 (Ia.Ftn.Cl.Model.Business) : Service Entity Framework class for Fixed Telecommunications Network (FTN) business model.
- Ewsd (Ia.Ftn.Cl.Model.Business.Siemens) : Nokia's Siemens EWSD support class of Fixed Telecommunications Network (FTN) business model.
- Subscriber (Ia.Ftn.Cl.Model.Business.Siemens) : EWSD Subscriber support class for Fixed Telecommunications Network (FTN) business model.
- Transction (Ia.Ftn.Cl.Model.Business) : Transction support class of Fixed Telecommunications Network (FTN) business model.
- Axe (Ia.Ftn.Cl.Model.Client.Ericsson) : Ericsson's AXE support class for Ericsson's PSTN Exchange Migration to Fixed Telecommunications Network (FTN) client model.
- Ems (Ia.Ftn.Cl.Model.Client.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Huawei's Fixed Telecommunications Network (FTN) EMS client model.
- Ims (Ia.Ftn.Cl.Model.Client.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Huawei's Fixed Telecommunications Network (FTN) client model.
- SoftX (Ia.Ftn.Cl.Model.Client.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) client model.
- Sps (Ia.Ftn.Cl.Model.Client.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) SPS client model.
- Ams (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) AMS client model.
- Ims (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) client model.
- Sdc (Ia.Ftn.Cl.Model.Client.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) client support class for Nokia's Fixed Telecommunications Network (FTN) client model.
- Access (Ia.Ftn.Cl.Model.Data) : Access support class for Fixed Telecommunications Network (FTN) data model.
- Administration (Ia.Ftn.Cl.Model.Data) : Administration support class for Fixed Telecommunications Network (FTN) data model.
- Contact (Ia.Ftn.Cl.Model.Data) : Contact Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Default (Ia.Ftn.Cl.Model.Data) : Default support class for Fixed Telecommunications Network (FTN) data model.
- Axe (Ia.Ftn.Cl.Model.Data.Ericsson) : Ericsson AXE support class of Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Ericsson) : AXE Subscriber support class for Fixed Telecommunications Network (FTN) data model.
- Event (Ia.Ftn.Cl.Model.Data) : Nokia AMS Event support class for Fixed Telecommunications Network (FTN) data model.
- Guide (Ia.Ftn.Cl.Model.Data) : Guide support class for Fixed Telecommunications Network (FTN) data model.
- Help (Ia.Ftn.Cl.Model.Data) : Help class for Fixed Telecommunications Network (FTN) data model.
- Asbr (Ia.Ftn.Cl.Model.Data.Huawei) : AGCF Users (ASBR) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Board (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Board support class of Fixed Telecommunications Network (FTN) data model.
- Default (Ia.Ftn.Cl.Model.Data.Huawei) : Defaul general support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Dev (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Dev support class of Fixed Telecommunications Network (FTN) data model.
- Ems (Ia.Ftn.Cl.Model.Data.Huawei) : Access Management System (AMS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data.Huawei) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Huawei's Fixed Telecommunications Network (FTN) data model
- Mgw (Ia.Ftn.Cl.Model.Data.Huawei) : Media Gateway (MGW) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- OntSipInfo (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS ONT SIP INFO support class of Fixed Telecommunications Network (FTN) data model.
- Ont (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Ont support class of Fixed Telecommunications Network (FTN) data model.
- Onu (Ia.Ngn.Cl.Model.Data.Huawei) : Huawei ONU support class for Next Generation Network (NGN) data model.
- Owsbr (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Owsbr Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Port (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Port support class of Fixed Telecommunications Network (FTN) data model.
- Sbr (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Seruattr (Ia.Ftn.Cl.Model.Data.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- SoftX (Ia.Ftn.Cl.Model.Data.Huawei) : U2020 Northbound Interface IP (SoftX) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Sps (Ia.Ftn.Cl.Model.Data.Huawei) : Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) data model.
- Vag (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- VoipPstnUser (Ia.Ftn.Cl.Model.Data.Huawei) : Huawei's EMS VOIP PSTN User support class of Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Fixed Telecommunications Network (FTN) data model
- Mail (Ia.Ftn.Cl.Model.Data) : Mail class for Fixed Telecommunications Network (FTN) data model.
- Cache (Ia.Ngn.Cl.Model.Data.Maintenance) : Cache support class for the Next Generation Network data model
- Find (Ia.Ftn.Cl.Model.Data.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network data model
- MinistryDatabase (Ia.Ftn.Cl.Model.Data) : MinistryDatabase support class for Fixed Telecommunications Network (FTN) data model.
- Migration (Ia.Ftn.Cl.Model.Data) : Migration support class of Fixed Telecommunications Network (FTN) data model.
- Miscellaneous (Ia.Ftn.Cl.Model.Data) : Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Msmq (Ia.Ftn.Cl.Model.Data) : MSMQ support class for Fixed Telecommunications Network (FTN) data model.
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Data) : Network Design Document support class for Fixed Telecommunications Network (FTN) data model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Data.Nokia) : AGCF Endpoint support class for Nokia data model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Data.Nokia) : AGCF Gateway Records support class for Nokia data model.
- AmsTransaction (Ia.Ftn.Cl.Model.Data.Nokia) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Ams (Ia.Ftn.Cl.Model.Data.Nokia) : Access Management System (AMS) support class for Nokia data model.
- Default (Ia.Ftn.Cl.Model.Data.Nokia) : Defaul general support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- Ims (Ia.Ftn.Cl.Model.Data.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- OntOntPots (Ia.Ftn.Cl.Model.Data.Nokia) : ONT-ONTPOTS support class for Fixed Telecommunications Network (FTN) Nokia data model.
- OntServiceHsi (Ia.Ngn.Cl.Model.Data.Nokia) : ONT-SERVICEHSI support class for Next Generation Network (NGN) Nokia data model.
- OntServiceVoip (Ia.Ftn.Cl.Model.Data.Nokia) : ONT-SERVICEVOIP support class for Fixed Telecommunications Network (FTN) Nokia data model.
- Ont (Ia.Ftn.Cl.Model.Data.Nokia) : ONT support class for Fixed Telecommunications Network (FTN) Nokia data model.
- Sdc (Ia.Ftn.Cl.Model.Data.Nokia) : Fixed Telecommunications Network's Operations Support System Management Intranet (FTN OSS) support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- SubParty (Ia.Ftn.Cl.Model.Data.Nokia) : SubParty support class for Nokia's Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) data model.
- Pots (Ia.Ftn.Cl.Model.Data) : POTS legacy support class for Fixed Telecommunications Network (FTN) data model.
- Provision (Ia.Ftn.Cl.Model.Data) : Provision support class for Fixed Telecommunications Network (FTN) data model.
- ReportHistory (Ia.Ftn.Cl.Model.Data) : Report History support class for Fixed Telecommunications Network (FTN) data model.
- Report (Ia.Ftn.Cl.Model.Data) : Report support class for Fixed Telecommunications Network (FTN) data model.
- Secretary (Ia.Ftn.Cl.Model.Data) : Secretary support class of Fixed Telecommunications Network (FTN) data model.
- ServiceExemption (Ia.Ftn.Cl.Model.Data) : ServiceExemption Framework class for Fixed Telecommunications Network (FTN) data model.
- ServiceInitialState (Ia.Ngn.Cl.Model.Data) : Service Initial State Framework class for Next Generation Network (NGN) data model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Data) : Service Request Administrative Issue support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model.Data) : Service Request History support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model.Data) : Service Request Hsi support class for Next Generation Network (NGN) data model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model.Data) : Service Request Ont Detail support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model.Data) : Service Request Ont support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Data) : Service Request Service support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequestType (Ia.Ftn.Cl.Model.Data) : Service Request Type support class for Fixed Telecommunications Network (FTN) data model.
- ServiceRequest (Ia.Ftn.Cl.Model.Data) : Service Request support class for Fixed Telecommunications Network (FTN) data model.
- Service (Ia.Ftn.Cl.Model.Data) : Service support class for Fixed Telecommunications Network (FTN) data model.
- Service2 (Ia.Ftn.Cl.Model.Data) : Service support class for Fixed Telecommunications Network (FTN) data model.
- Ewsd (Ia.Ftn.Cl.Model.Data.Siemens) : Nokia's Siemens EWSD support class of Fixed Telecommunications Network (FTN) data model.
- Subscriber (Ia.Ftn.Cl.Model.Data.Siemens) : EWSD Subscriber support class for Fixed Telecommunications Network (FTN) data model.
- Staff (Ia.Ftn.Cl.Model.Data) : Staff support class for Fixed Telecommunications Network (FTN) data model.
- Transaction (Ia.Ftn.Cl.Model.Data) : Transaction support class for Fixed Telecommunications Network (FTN) data model.
- Access (Ia.Ftn.Cl.Model) : Access Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Contact (Ia.Ftn.Cl.Model) : Contact Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AxeSubscriber (Ia.Ftn.Cl.Model.Ericsson) : AXE Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Event (Ia.Ftn.Cl.Model) : Event Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Asbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's AGCF Users (ASBR) Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsBoard (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Board Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsDev (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Dev Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Mgw (Ia.Ftn.Cl.Model.Huawei) : Huawei's Media Gateway (MGW) Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Msan (Ia.Ngn.Cl.Model.Huawei) : Huawei's Msan Entity Framework class for Next Generation Network (NGN) entity model.
- EmsOntSipInfo (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS ONT SIP INFO Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsOnt (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Ont Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Onu (Ia.Ngn.Cl.Model.Huawei) : Huawei's ONU Entity Framework class for Next Generation Network (NGN) entity model.
- Owsbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's Owsbr Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsPort (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS Port Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Sbr (Ia.Ftn.Cl.Model.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Seruattr (Ia.Ftn.Cl.Model.Huawei) : SERUATTR Signaling Service Processing System (SPS) support class for Huawei's Fixed Telecommunications Network (FTN) entity model.
- EmsVag (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS VAG Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EmsVoipPstnUser (Ia.Ftn.Cl.Model.Huawei) : Huawei's EMS VOIP PSTN User Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Inventory (Ia.Ftn.Cl.Model) : Inventory Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- LogicalCircuit (Ia.Ngn.Cl.Model) : Logical-Circuit Entity Framework class for Next Generation Network (NGN) entity model.
- Miscellaneous (Ia.Ftn.Cl.Model) : Miscellaneous Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- NddPon (Ia.Ngn.Cl.Model.NetworkDesignDocument) : Network Design Document support class for Next Generation Network (NGN) entity model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Nokia) : AGCF Endpoint Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Nokia) : AGCF Gateway Record Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- AlInitialInstallation (Ia.Ngn.Cl.Model.AlcatelLucent) : Alcatel-Lucent Initial Installation Entity Framework class for Next Generation Network (NGN) entity model.
- AmsTransaction (Ia.Ftn.Cl.Model.Nokia) : Nokia AmsTransaction Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- SubParty (Ia.Ftn.Cl.Model.Nokia) : SubParty Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Subscriber (Ia.Ftn.Cl.Model.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- OntOntPots (Ia.Ftn.Cl.Model) : ONT-ONTPOTS Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- OntServiceHsi (Ia.Ngn.Cl.Model) : ONT-SERVICEHSI Entity Framework class for Next Generation Network (NGN) entity model.
- OntServiceVoip (Ia.Ftn.Cl.Model) : ONT-SERVICEVOIP Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Ont (Ia.Ftn.Cl.Model) : ONT Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ReportHistory (Ia.Ftn.Cl.Model) : Report History Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Report (Ia.Ftn.Cl.Model) : Report Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceExemption (Ia.Ftn.Cl.Model) : ServiceExemption Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceInitialState (Ia.Ngn.Cl.Model) : Service Initial State Entity Framework class for Next Generation Network (NGN) entity model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model) : Service Request Administrative Issue Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestHistory (Ia.Ftn.Cl.Model) : Service Request History Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestHsi (Ia.Ngn.Cl.Model) : Service Request Hsi Entity Framework class for Next Generation Network (NGN) entity model.
- ServiceRequestOntDetail (Ia.Ftn.Cl.Model) : Service Request Ont Detail Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestOnt (Ia.Ftn.Cl.Model) : Service Request Ont Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestService (Ia.Ftn.Cl.Model) : Service Request Service Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequestType (Ia.Ftn.Cl.Model) : Service Request Type Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- ServiceRequest (Ia.Ftn.Cl.Model) : Service Request Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Service2 (Ia.Ftn.Cl.Model) : Service Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- EwsdSubscriber (Ia.Ftn.Cl.Model.Siemens) : EWSD Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Staff (Ia.Ftn.Cl.Model) : Staff Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Transaction (Ia.Ftn.Cl.Model) : Transaction Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
- Chat (Ia.Ftn.Cl.Model.Telegram) : Telegram Chat/Group/User support class of Fixed Telecommunications Network (FTN) business and data model.
- Access (Ia.Ftn.Cl.Model.Ui) : Access support class for Fixed Telecommunications Network (FTN) ui model.
- Default (Ia.Ftn.Cl.Model.Ui.Administration) : Administration support class for Fixed Telecommunications Network (FTN) ui model.
- Framework (Ia.Ftn.Cl.Model.Ui.Administration) : Network Design Document support class for Fixed Telecommunications Network (FTN) UI model.
- Default (Ia.Ftn.Cl.Model.Ui) : Default support class for Fixed Telecommunications Network (FTN) ui model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Ericsson) : AXE Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- EmsOnt (Ia.Ftn.Cl.Model.Ui.Huawei) : Huawei's EMS Ont Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Sbr (Ia.Ftn.Cl.Model.Ui.Huawei) : Huawei's Sbr Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- InventoryForDataGridView (Ia.Ftn.Cl.Model.Ui) : Inventory For DataGridView support class for Fixed Telecommunications Network (FTN) ui model.
- Mail (Ia.Ftn.Cl.Model.Ui) : Mail process support class of Fixed Telecommunications Network (FTN) UI model.
- AccessFamilyTypeAreaBlock (Ia.Ftn.Cl.Model.Ui.Maintenance) : Maintenance support class for Fixed Telecommunications Network (FTN) ui model.
- Find (Ia.Ftn.Cl.Model.Ui.Maintenance) : Find subscriber and network information support class for the Fixed Telecommunications Network ui model
- Ams (Ia.Ftn.Cl.Model.Ui.Maintenance.Transaction) : Ams support class for Fixed Telecommunications Network (FTN) ui model.
- Default (Ia.Ftn.Cl.Model.Ui.Maintenance.Report) : Maintenance Report data support class for the Fixed Telecommunications Network ui model
- NetworkDesignDocument (Ia.Ftn.Cl.Model.Ui) : Network Design Document support class for Fixed Telecommunications Network (FTN) UI model.
- AgcfEndpoint (Ia.Ftn.Cl.Model.Ui.Nokia) : AGCF Endpoint Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- AgcfGatewayRecord (Ia.Ftn.Cl.Model.Ui.Nokia) : AGCF Gateway Record Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- SubParty (Ia.Ftn.Cl.Model.Ui.Nokia) : SubParty Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Nokia) : Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) ui model.
- Performance (Ia.Ftn.Cl.Model.Ui) : Performance support class for Fixed Telecommunications Network (FTN) ui model.
- Access (Ia.Ftn.Cl.Model.Ui.Provision) : Access support class for Fixed Telecommunications Network (FTN) ui model.
- ReportAccessServiceRequest (Ia.Ftn.Cl.Model.Ui) : Report Access Service Request support class for Fixed Telecommunications Network (FTN) ui model.
- Report (Ia.Ftn.Cl.Model.Ui) : Report support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceAccessFlatTermId (Ia.Ftn.Cl.Model.Ui) : ServiceAccessFlatTermId support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceCustomerAddressAccessStatisticalAccessName (Ia.Ftn.Cl.Model.Ui) : ServiceRequest ServiceRequestService Access Statistic support class for Fixed Telecommunications Network (FTN) ui model.
- ServiceRequestAdministrativeIssue (Ia.Ftn.Cl.Model.Ui) : Service Request Administrative Issue Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- ServiceRequestService (Ia.Ftn.Cl.Model.Ui) : Service Request Service Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Service2 (Ia.Ftn.Cl.Model.Ui) : Service class for Fixed Telecommunications Network (FTN) UI model.
- Subscriber (Ia.Ftn.Cl.Model.Ui.Siemens) : EWSD Subscriber Entity Framework class for Fixed Telecommunications Network (FTN) UI model.
- Text (Ia.Ftn.Cl.Model.Ui) : Text support class for Fixed Telecommunications Network (FTN) ui model.
- Administration (Ia.Ftn.Wa.Model.Business) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Contact (Ia.Ftn.Wa.Model.Business) : Contact support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Default (Ia.Ftn.Wa.Model.Business) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Script (Ia.Ftn.Wa.Model.Business.Maintenance) : Script support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- AccessController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Access API Controller class of Optical Fiber Network (OFN) model.
- EncryptionController (Ia.Ngn.Ofn.Wa.Api.Controller.Cryptography) : Cryptography, Encryption Controller
- Default2Controller (Ia.Ftn.Wa.Api.Model.Controller) : Default API Controller class of Optical Fiber Network (OFN) model.
- MaintenanceController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Maintenance API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestAdministrativeIssueController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request Administrative Issue API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestTypeController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request Type API Controller class of Optical Fiber Network (OFN) model.
- ServiceRequestController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service Request API Controller class of Optical Fiber Network (OFN) model.
- ServiceController (Ia.Ngn.Ofn.Wa.Api.Model.Controller) : Service API Controller class of Optical Fiber Network (OFN) model.
- Administration (Ia.Ftn.Wa.Model.Data) : Administration support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Script (Ia.Ftn.Wa.Model.Data) : Script support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Default (Ia.Ftn.Wa.Model.Ui) : Default support class for Fixed Telecommunications Network (FTN) web application (Intranet) model.
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- Agent (Ia.Cl.Model) : Agent model
- ApplicationConfiguration (Ia.Cl.Model) : Webhook API Controller class.
- Authentication (Ia.Cl.Model) : Manage and verify user logging and passwords. The administrator will define the user's password and logging website. The service will issue a true of false according to authentication.
- Storage (Ia.Cl.Models.Azure) : Azure Cloud related support functions.
- Default (Ia.Cl.Models.Business.Nfc) : Default NFC Near-Field Communication (NFC) Support Business functions
- Inventory (Ia.Cl.Models.Business.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Business functions
- Tag (Ia.Cl.Models.Business.Nfc) : TAG NFC Near-Field Communication (NFC) Support Business functions
- Country (Ia.Cl.Model) : Country geographic coordinates and standard UN naming conventions.
- Germany (Ia.Cl.Model) : German cities and states.
- Kuwait (Ia.Cl.Model) : Kuwait provinces, cities, and areas.
- SaudiArabia (Ia.Cl.Model) : Saudi Arabia provinces, cities, and areas.
- Encryption (Ia.Cl.Models.Cryptography) : Symmetric Key Algorithm (Rijndael/AES) to encrypt and decrypt data.
- Default (Ia.Cl.Models.Data) : Support class for data model
- Default (Ia.Cl.Models.Data.Nfc) : Default NFC Near-Field Communication (NFC) Support Data functions
- Inventory (Ia.Cl.Models.Data.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Data functions
- Project (Ia.Cl.Models.Nfc.Data) : Project Support class for NFC data model
- Tag (Ia.Cl.Models.Data.Nfc) : TAG NFC Near-Field Communication (NFC) Support Data functions
- Default (Ia.Cl.Models.Db) : Database support class.
- Msmq (Ia.Cl.Models.Db) : MSMQ Database support class. This handles storing and retrieving MSMQ storage.
- MySql (Ia.Model.Db) : MySQL supporting class.
- Object (Ia.Cl.Models.Db) : Object entity class
- Odbc (Ia.Cl.Models.Db) : ODBC support class.
- OleDb (Ia.Cl.Models.Db) : OLEDB support class
- Oracle (Ia.Cl.Models.Db) : Oracle support class.
- Sqlite (Ia.Cl.Models.Db) : SQLite support class.
- SqlServer (Ia.Cl.Models.Db) : SQL Server support class.
- SqlServerCe (Ia.Cs.Db) : SQL Server CE support class.
- Temp (Ia.Cl.Models.Db) : Temporary Storage support class.
- Text (Ia.Cl.Models.Db) : Text Database support class. This handles storing and retrieving text storage.
- Xml (Ia.Cl.Models.Db) : XML Database support class. This handles storing and retrieving XDocument storage.
- Default (Ia.Cl.Model) : General use static class of common functions used by most applications.
- Gv (Ia.Model.Design) : ASP.NET design related support class.
- Enumeration () : Enumeration class. Extends enumeration to class like behaviour.
- Extention () : Extention methods for different class objects.
- File (Ia.Cl.Model) : File manipulation related support class.
- Ftp (Ia.Cl.Model) : A wrapper class for .NET 2.0 FTP
- Location (Ia.Cl.Models.Geography) : Geographic location related function, location, coordinates (latitude, longitude), bearing, degree and radian conversions, CMap value for resolution, and country geographic info-IP from MaxMind.
- GeoIp (Ia.Cl.Model) : GeoIp class of Internet Application project model.
- Gmail (Ia.Cl.Model) : Gmail API support class
- StaticMap (Ia.Cl.Models.Google) : Google support class.
- Drive (Ia.Cl.Models.Google) : Google Drive Directory and File support class.
- Heartbeat (Ia.Cl.Model) : Heartbeat class.
- Hijri (Ia.Cl.Model) : Hijri date handler class.
- HtmlHelper (Ia.Cl.Model) : HtmlHelper for ASP.Net Core.
- Html (Ia.Cl.Model) : Handle HTML encoding, decoding functions.
- Http (Ia.Cl.Model) : Contains functions that relate to posting and receiving data from remote Internet/Intranet pages
- Identity (Ia.Cl.Model) : ASP.NET Identity support class.
- Image (Ia.Cl.Model) : Image processing support class.
- Imap (Ia.Cl.Model) : IMAP support class.
- Language (Ia.Cl.Model) : Language related support class including langauge list and codes.
- Individual (Ia.Cl.Models.Life) : Individual object.
- Main (Ia.Cl.Models.Life) : General base class for life entities. Make it link through delegates to create and update database objects.
- Log (Ia.Cl.Model) : Log file support class.
- Mouse (Ia.Cl.Model) : Windows mouse movements and properties control support class.
- Msmq (Ia.Cl.Model) : MSMQ (Microsoft Message Queuing) Support class.
- Newspaper (Ia.Cl.Model) : Newspaper and publication display format support class.
- Inventory (Ia.Cl.Models.Nfc) : Inventory NFC Near-Field Communication (NFC) Support Entity functions
- Tag (Ia.Cl.Models.Nfc) : TAG NFC Near-Field Communication (NFC) Support Entity functions
- Ocr (Ia.Cl.Model) : Handles OCR operations.
- Packet (Ia.Cl.Model) : Packet model
- PrayerTime (Ia.Cl.Model) : Prayer times support class.
- Punycode (Ia.Cl.Model) : Punycode support class.
- QrCode (Ia.Cl.Model) : QR Code support class.
- Result (Ia.Cl.Model) : Result support class.
- Seo (Ia.Cl.Model) : Search Engine Optimization (SEO) support class.
- DynamicSiteMapProvider () : Sitemap support class.
- Sms (Ia.Cl.Model) : SMS API service support class. Handles sending and recieving SMS messages through the ClickATell.com SMS API Service gateway. Requires subscription.
- Smtp (Ia.Cl.Model) : SMTP send mail server suppot class.
- Socket (Ia.Cl.Model) : Search Engine Optimization (SEO) support class.
- Sound (Ia.Cl.Model) : Sound support class.
- Stopwatch (Ia.Cl.Model) : Stopwatch model
- TagHelper (Ia.Cl.Models.T) : TagHelper for ASP.Net Core.
- Telnet (Ia.Cl.Model) : Telnet communication support class.
- Trace (Ia.Cl.Model) : Trace function to try to identifiy a user using IP addresses, cookies, and session states.
- Default (Ia.Cl.Models.Ui) : Default support UI class
- Upload (Ia.Cl.Model) : Handle file uploading functions.
- Utf8 (Ia.Cl.Model) : Handle UTF8 issues.
- Weather (Ia.Cl.Model) : Weather class
- Winapi (Ia.Cl.Model) : WINAPI click events support class.
- Word (Ia.Cl.Model) : Word object.
- Twitter (Ia.Cl.Model) : Twitter API support class.
- Xml (Ia.Cl.Model) : XML support class.
- Zip (Ia.Cl.Model) : Zip
- Business (Ia.Islamic.Koran.Belief.Model) : Koran Reference Network support functions: Business model
- Default (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: Business model
- PrayerTime (Ia.Islamic.Koran.Cl.Model.Business) : Prayer Time Business class of Islamic Koran Reference Network project model.
- Word (Ia.Islamic.Cl.Model.Business) : Koran Reference Network Class Library support functions: business model
- DefaultController (Ia.Ngn.Cl.Model.Api.Controller) : Service Suspension API Controller class of Next Generation Network'a (NGN's) model.
- KoranController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Koran API Controller class of Islamic Koran Reference Network project model.
- PrayerTimeController (Ia.Islamic.Koran.Cl.Model.Api.Controller) : Prayer Time API Controller class of Islamic Koran Reference Network project model.
- Chapter (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Default (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: Data model
- Koran (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- VerseTopic (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Verse (Ia.Islamic.Cl.Model.Data) : Koran Reference Network Class Library support functions: data model
- Koran (Ia.Islamic.Cl.Model.Context) : Koran Reference Network Data Context
- Ef (Ia.Cl.Model) : Entity Framework support function
- Chapter (Ia.Islamic.Cl.Model) : Chapter Koran Reference Network Class Library support functions: Entity model
- Koran (Ia.Islamic.Cl.Model) : Koran Koran Reference Network Class Library support functions: Entity model
- VerseTopic (Ia.Islamic.Cl.Model) : VerseTopic Koran Reference Network Class Library support functions: Entity model
- Verse (Ia.Islamic.Cl.Model) : Verse Koran Reference Network Class Library support functions: Entity model
- WordVerse (Ia.Islamic.Cl.Model) : WordVerse Koran Reference Network Class Library support functions: Entity model
- Word (Ia.Islamic.Cl.Model) : Word Koran Reference Network Class Library support functions: Entity model
- Translation (Ia.Islamic.Cl.Model) : Koran Reference Network Class Library support functions: Data model
- VerseTopicUi (Ia.Islamic.Cl.Model.Ui) : Koran Reference Network Class Library support functions: UI model
- Default (Ia.Islamic.Koran.Wa.Model.Ui) : Koran Reference Network Class Library support functions: UI model
- Default (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Preparation (Ia.Islamic.Koran.Wfa.Model.Business) : Koran Reference Network Windows Form support functions: Business model
- Default (Ia.Islamic.Koran.Wfa.Model.Data) : Koran Reference Network Windows Form support functions: Data model
- Kanji (Ia.Learning.Cl.Model.Business) : Kanji business support class
- Kanji (Ia.Learning.Cl.Model.Data) : Kanji support class
- Default (Ia.Learning.Cl.Model) : Default data support functions
- MoeBook (Ia.Learning.Cl.Model) : Ministry of Education Books support class for Learning data model.
- Business (Ia.Learning.Kafiya.Model) : Default business support class.
- Data (Ia.Learning.Kafiya.Model) : Default data support class.
- Default (Ia.Learning.Kanji.Model.Business) : Default business support class.
- Default (Ia.Learning.Kanji.Model.Ui) : Default UI support class.
- Newspaper (Ia.Cl.Model) : Newspaper and publication display format support class.
- Default (Ia.Statistics.Cl.Model.Boutiqaat) : Structure of the boutiqaat.com website.
- Default (Ia.Statistics.Cl.Model.Dabdoob) : Structure of the dabdoob.com website.
- Default (Ia.Statistics.Cl.Model.EnglishBookshop) : Structure of the theenglishbookshop.com website.
- Default (Ia.Statistics.Cl.Model.FantasyWorldToys) : Structure of the fantasyworldtoys.com website.
- Default (Ia.Statistics.Cl.Model.HsBookstore) : Structure of the hsbookstore.com website.
- Default (Ia.Statistics.Cl.Model.LuluHypermarket) : Structure of the lulutypermarket.com website.
- Default (Ia.Statistics.Cl.Model.Natureland) : Structure of the natureland.net website.
- Site (Ia.Statistics.Cl.Model) : Site support class for Optical Fiber Network (OFN) data model.
- Default (Ia.Statistics.Cl.Model.SultanCenter) : Structure of the sultan-center.com website.
- Default (Ia.Statistics.Cl.Model.Taw9eel) : Structure of the taw9eel.com website.
- Default (Ia.TentPlay.Cl.Model.Business) : Support class for TentPlay business model
- Default (Ia.TentPlay.Cl.Model.Business.Trek) : Support class for TentPlay Trek business model
- FeatureClassDistanceToCapital (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClassDistanceToCapital Support class for TentPlay business model
- FeatureClass (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureDesignation (Ia.TentPlay.Cl.Model.Business.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureName (Ia.TentPlay.Cl.Model.Business.Trek) : Support class for TentPlay Trek business model
- Feature (Ia.TentPlay.Cl.Model.Business.Trek) : Feature class for TentPlay Trek business model
- CompanyInformation (Ia.TentPlay.Cl.Model.Data) : CompanyInformation Support class for TentPlay data model
- Default (Ia.TentPlay.Cl.Model.Data) : Support class for TentPlay data model
- ApplicationInformation (Ia.TentPlay.Cl.Model.Data.Trek) : ApplicationInformation Support class for TentPlay Trek data model
- Default (Ia.TentPlay.Cl.Model.Data.Trek) : Default class for TentPlay Trek data model
- FeatureClass (Ia.TentPlay.Cl.Model.Data.Trek) : FeatureClass Support class for TentPlay Trek business model
- FeatureDesignation (Ia.TentPlay.Cl.Model.Data.Trek) : FeatureDesignation Support class for TentPlay Trek data model
- Feature (Ia.TentPlay.Cl.Model.Data.Trek) : Feature Support class for TentPlay entity data
- NgaCountryWaypoint (Ia.TentPlay.Waypoint.Cl.Model.Data) : NgaCountryWaypoint Support class for TentPlay Waypoint entity data
- Score (Ia.TentPlay.Cl.Model.Memorise) : Score entity functions
- FeatureDesignation (Ia.TentPlay.Cl.Model.Trek) : FeatureDesignation Support class for TentPlay Trek entity model
- Feature (Ia.TentPlay.Cl.Model.Trek) : Feature Support class for TentPlay entity model
- ApplicationInformation (Ia.TentPlay.Cl.Model.Memorise) : ApplicationInformation Support class for TentPlay Memorise model
- Default (Ia.TentPlay.Cl.Model.Memorise) : Default class for TentPlay Memorise data model
- German (Ia.TentPlay.Cl.Model.Memorise) : German class
- Kana (Ia.TentPlay.Cl.Model.Memorise) : Kana class
- Kanji (Ia.TentPlay.Cl.Model.Memorise) : Kanji class
- Math (Ia.TentPlay.Cl.Model.Memorise) : Math Class
- MorseCode (Ia.TentPlay.Cl.Model.Memorise) : Morse code class
- PhoneticAlphabet (Ia.TentPlay.Cl.Model.Memorise) : Phonetic Alphabet
- Russian (Ia.TentPlay.Cl.Model.Memorise) : Russian class
- Test (Ia.TentPlay.Cl.Model.Memorise) : Test Class
- Default (Ia.TentPlay.Cl.Model.Ui.Trek) : Default class for TentPlay Trek UI model