)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Home » Code Library » EmsOntSipInfo (Ia.Ftn.Cl.Models.Huawei)

Public general use code classes and xml files that we've compiled and used over the years:

Huawei's EMS ONT SIP INFO Entity Framework class for Fixed Telecommunications Network (FTN) entity model.

    1: using System;
    2: using System.ComponentModel.DataAnnotations;
    3: using System.ComponentModel.DataAnnotations.Schema;
    4: using System.Linq;
    5: using System.Threading;
    6: using System.Threading.Tasks;
    7:  
    8: namespace Ia.Ftn.Cl.Models.Huawei
    9: {
   10:     ////////////////////////////////////////////////////////////////////////////
   11:  
   12:     /// <summary publish="true">
   13:     /// Huawei's EMS ONT SIP INFO Entity Framework class for Fixed Telecommunications Network (FTN) entity model.
   14:     /// </summary>
   15:     /// 
   16:     /// <remarks> 
   17:     /// Copyright © 2006-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   18:     /// </remarks> 
   19:     public class EmsOntSipInfo : IEquatable<EmsOntSipInfo>
   20:     {
   21:         /*
   22:          * iManager_NCE_V200R014C60_TL1_NBI_User_Guide_13.pdf
   23:          * 
   24:          * 14.7.24 Querying ONT SIP User Accounts (LST-ONTSIPINFO)
   25:          * 
   26:          * Command Format LST-ONTSIPINFO::(DID=Device-ID|DEV=Device-name),((FN=Frame-id,SN=Slot-id,PN=Portid,ONTID=ont-id)|(ONTKEY=ont-key))[,SIPUSERNAME=Sip-userName]:{ctag}::; Supporting Device Device Type No. Device Type 34 MA5680T (V800R008C00 and later versions) 249 MA5600T (V800R008C00 and later versions) 2331 MA5608T 95 MA5603T (V800R008C00 and later versions) 2346/2349/2352/2353 MA5800-X17/MA5800-X7/MA5800-X15/MA5800-X2
   27:          *  
   28:          */
   29:  
   30:         /// <summary/>
   31:         //public enum ServiceTypeList { IMPU = 1, TEMPLATEIDX, DSPIDX, LP, CSC, UNAME, VCCFLAG, VTFLAG, NSCFU, NSCFUVM, NSCFB, NSCFBVM, NSCFNR, NSCFNRVM, NSCFNL, NSCFNLVM, NSCD, NSCDVM, NSCFNRC, NSCFNRCVM, NSCLIP, NSCIDCW, NSRIO, NSCNIP, NSCLIR, NSRIP, NSCNIR, NSRID, NSNRID, NSRND, NSNRND, NSCW, NSCCW, NSOIP, NSACRM, NSGOIR, NSMOIR, NSTIP, NSTIR, NSOTIR, NSCLIPNOSCREENING, NSCR, NSWAKE_UP, NSAOC_D, NSAOC_E, NSXEXH, NSXEGJ, NSCWCFNR, NSIIFC, NSDN_CALL_OUT_BAR, NSCCBS, NSCCNR, NSCCBSR, NSCCNRR, NS3PTY, NSNPTY, NSDND, NSMCR, NSCBA, NSTMP_LIN, NSCODEC_CNTRL, NSMWI, NSDC, NSHOLD, NSECT, NSCFTB, NSDAN, NSSTOP_SECRET, NSMCID, NSEBO, NSICO, NSOUTG, NSINQYH, NSUINFO, NSDN_CALL_OUT_ALLOW, NSSIC, NSSOC, NSSETCFNRTIME, NSCFS, NSCFSB, NSFAX, NSABRC, NSACRTOVM, NSPREPAID, NSCRBT, NSICB, NSMRINGING, NSCIS, NSCBEG, NSCOLP, NSCOLR, NSCOLPOVR, NSBAOC, NSBOIC, NSBOICEXHC, NSBAIC, NSBICROM, NSSPEED_DIAL, NSSD1D, NSSD2D, NSGRNCALL, NSCPARK, NSGAA, NSQSNS, NSMSN, NSHOTLINE, NSAOC_S, NSNIGHTSRV, NSBACKNUM, NSAUTOCON, NSCAMPON, NSCTD, NSCLICKHOLD, NSQUEUE, NSSANSWER, NSICENCF, NSCFGO, NSCECT, NSCTGO, NSCTIO, NSSETBUSY, NSOVERSTEP, NSABSENT, NSMONITOR, NSFMONITOR, NSDISCNT, NSFDISCNT, NSINSERT, NSFINSERT, NSASI, NSPWCB, NSRD, NSLCPS, NSNCPS, NSICPS, NSCBCLOCK, NSMINIBAR, NSMCN, NSDSTR, NSOPRREG, NSONEKEY, NSINBOUND, NSOUTBOUND, NSCALLERID, NSCUN, NSIPTVVC, NSNP, NSSEC, NSSECSTA, NSHRCN, NSSB, NSOCCR, LCO, LC, LCT, NTT, ITT, ICTX, OCTX, INTT, IITT, ICLT, ICDDD, ICIDD, IOLT, CTLCO, CTLCT, CTLD, CTINTNANP, CTINTWORLD, CTDA, CTOSM, CTOSP, CTOSP1, CCO1, CCO2, CCO3, CCO4, CCO5, CCO6, CCO7, CCO8, CCO9, CCO10, CCO11, CCO12, CCO13, CCO14, CCO15, CCO16, HIGHENTCO, OPERATOR, SUPYSRV, IDDCI, NTCI, LTCI, RSC, CIG, OUTRST, INRST, NOAT, RINGCOUNT, VMAIND, VDMAIND, TGRP, TIDHLD, TIDCW, SCF, LMTGRP, FLBGRP, SLBGRP, COP, G711_64K_A_LAW, G711_64K_U_LAW, G722, G723, G726, G728, G729, CODEC_MP4A, CODEC2833, CODEC2198, G726_40, G726_32, G726_24, G726_16, AMR, CLEARMODE, ILBC, SPEEX, G729EV, EVRC, EVRCB, H261, H263, CODEC_MP4V, H264, T38, T120, G711A_VBD, G711U_VBD, G726_VBD, G726_40_VBD, G726_32_VBD, G726_24_VBD, G726_16_VBD, WIND_BAND_AMR, GSM610, H263_2000, BROADVOICE_32, UNKNOWN_CODEC, ACODEC, VCODEC, POLIDX, NCPI, ICPI, EBOCL, EBOPL, EBOIT, RM, CPC, PCHG, TFPT, CHT, MCIDMODE, MCIDCMODE, MCIDAMODE, PREPAIDIDX, CRBTID, ODBBICTYPE, ODBBOCTYPE, ODBBARTYPE, ODBSS, ODBBRCFTYPE, PNOTI, MAXPARACALL, ATSDTMBUSY, CALLCOUNT, CDNOTICALLER, ISCHGFLAG, CHC, CUSER, CGRP, CUSERGRP, STCF, CHARSC, REGUIDX, SOCBFUNC, SOCBPTONEIDX, ADMINCBA, ADCONTROL_DIVERSION, DPR, PRON, CPCRUS, CUSCAT, SPT100REL }
   32:  
   33:         /// <summary/>
   34:         public EmsOntSipInfo() { }
   35:  
   36:         /// <summary/>
   37:         [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
   38:         public string Id { get; set; }
   39:  
   40:         /// <summary>
   41:         /// Last ResultCode of device
   42:         /// </summary>
   43:         public long ResultCode { get; set; }
   44:  
   45:         /// <summary>
   46:         /// Operational state ID of the device
   47:         /// </summary>
   48:         public int StateId { get; set; }
   49:  
   50:         /// <summary>        
   51:         /// SIPUSERNAME OCTET STRING SIZE (64) Indicates the registration user name of a SIP user port. This value is a phone number.
   52:         /// </summary>
   53:         public string SIPUSERNAME { get; set; }
   54:  
   55:         /// <summary>        
   56:         /// SIPUSERPWD OCTET STRING SIZE (64) Indicates the password of a SIP user port.
   57:         /// </summary>
   58:         public string SIPUSERPWD { get; set; }
   59:  
   60:         /// <summary>        
   61:         /// SIPNAME OCTET STRING SIZE (64) Indicates the authentication user name of a SIP user port.
   62:         /// </summary>
   63:         public string SIPNAME { get; set; }
   64:  
   65:         /// <summary>        
   66:         /// Tel designation used to speficity the POT
   67:         /// </summary>
   68:         public int TEL { get; set; }
   69:  
   70:         /// <summary/>
   71:         public DateTime Created { get; set; }
   72:  
   73:         /// <summary/>
   74:         public DateTime Updated { get; set; }
   75:  
   76:         /// <summary/>
   77:         [ForeignKey("EmsOnt_Id")]
   78:         public virtual Ia.Ftn.Cl.Models.Huawei.EmsOnt EmsOnt { get; set; }
   79:  
   80:         ////////////////////////////////////////////////////////////////////////////
   81:  
   82:         /// <summary>
   83:         ///
   84:         /// </summary>
   85:         [NotMapped]
   86:         public string ResultCodeString
   87:         {
   88:             get
   89:             {
   90:                 return this.ResultCode.ToString();
   91:             }
   92:         }
   93:  
   94:         ////////////////////////////////////////////////////////////////////////////
   95:  
   96:         /// <summary>
   97:         ///
   98:         /// </summary>
   99:         [NotMapped]
  100:         public string State
  101:         {
  102:             get
  103:             {
  104:                 return Ia.Ftn.Cl.Models.Data.Huawei.Ems.BellcoreStateFromId(this.StateId);
  105:             }
  106:         }
  107:  
  108:         ////////////////////////////////////////////////////////////////////////////
  109:  
  110:         /// <summary>
  111:         ///
  112:         /// </summary>
  113:         public static bool operator ==(Ia.Ftn.Cl.Models.Huawei.EmsOntSipInfo a, Ia.Ftn.Cl.Models.Huawei.EmsOntSipInfo b)
  114:         {
  115:             bool areEqual;
  116:  
  117:             if (ReferenceEquals(a, b)) areEqual = true;
  118:             else if (ReferenceEquals(a, null)) areEqual = false;
  119:             else if (ReferenceEquals(b, null)) areEqual = false;
  120:             else
  121:             {
  122:                 if (a.ResultCode != b.ResultCode) areEqual = false;
  123:                 else if (a.StateId != b.StateId) areEqual = false;
  124:                 else if (a.SIPUSERNAME != b.SIPUSERNAME) areEqual = false;
  125:                 else if (a.SIPUSERPWD != b.SIPUSERPWD) areEqual = false;
  126:                 else if (a.SIPNAME != b.SIPNAME) areEqual = false;
  127:                 else if (a.TEL != b.TEL) areEqual = false;
  128:                 else if (a.EmsOnt.Id != b.EmsOnt.Id) areEqual = false;
  129:                 else areEqual = true;
  130:             }
  131:  
  132:             return areEqual;
  133:         }
  134:  
  135:         ////////////////////////////////////////////////////////////////////////////
  136:  
  137:         /// <summary>
  138:         ///
  139:         /// </summary>
  140:         public static bool operator !=(Ia.Ftn.Cl.Models.Huawei.EmsOntSipInfo a, Ia.Ftn.Cl.Models.Huawei.EmsOntSipInfo b)
  141:         {
  142:             return !(a == b);
  143:         }
  144:  
  145:         ////////////////////////////////////////////////////////////////////////////
  146:  
  147:         /// <summary>
  148:         ///
  149:         /// </summary>
  150:         public bool Equals(EmsOntSipInfo emsOntSipInfo)
  151:         {
  152:             // below: this will not check the Id, Created, Updated fields
  153:             bool areEqual;
  154:  
  155:             if (ReferenceEquals(null, emsOntSipInfo)) areEqual = false;
  156:             else if (ReferenceEquals(this, emsOntSipInfo)) areEqual = true;
  157:             else
  158:             {
  159:                 if (this.ResultCode != emsOntSipInfo.ResultCode) areEqual = false;
  160:                 else if (this.StateId != emsOntSipInfo.StateId) areEqual = false;
  161:                 else if (this.SIPUSERNAME != emsOntSipInfo.SIPUSERNAME) areEqual = false;
  162:                 else if (this.SIPUSERPWD != emsOntSipInfo.SIPUSERPWD) areEqual = false;
  163:                 else if (this.SIPNAME != emsOntSipInfo.SIPNAME) areEqual = false;
  164:                 else if (this.TEL != emsOntSipInfo.TEL) areEqual = false;
  165:                 else if (this.EmsOnt.Id != emsOntSipInfo.EmsOnt.Id) areEqual = false;
  166:                 else areEqual = true;
  167:             }
  168:  
  169:             return areEqual;
  170:         }
  171:  
  172:         ////////////////////////////////////////////////////////////////////////////
  173:  
  174:         /// <summary>
  175:         ///
  176:         /// </summary>
  177:         public override bool Equals(object obj)
  178:         {
  179:             bool areEqual;
  180:  
  181:             if (ReferenceEquals(null, obj)) areEqual = false;
  182:             else if (ReferenceEquals(this, obj)) areEqual = true;
  183:             else
  184:             {
  185:                 areEqual = obj.GetType() == GetType() && Equals((EmsOntSipInfo)obj);
  186:             }
  187:  
  188:             return areEqual;
  189:         }
  190:  
  191:         ////////////////////////////////////////////////////////////////////////////
  192:  
  193:         /// <summary>
  194:         ///
  195:         /// </summary>
  196:         public override int GetHashCode()
  197:         {
  198:             unchecked
  199:             {
  200:                 int hashCode;
  201:  
  202:                 hashCode = ResultCode.GetHashCode();
  203:                 hashCode = (hashCode * 397) ^ StateId.GetHashCode();
  204:                 hashCode = (hashCode * 397) ^ SIPUSERNAME.GetHashCode();
  205:                 hashCode = (hashCode * 397) ^ SIPUSERPWD.GetHashCode();
  206:                 hashCode = (hashCode * 397) ^ SIPNAME.GetHashCode();
  207:                 hashCode = (hashCode * 397) ^ TEL.GetHashCode();
  208:                 hashCode = (hashCode * 397) ^ EmsOnt.Id.GetHashCode();
  209:  
  210:                 return hashCode;
  211:             }
  212:         }
  213:  
  214:         ////////////////////////////////////////////////////////////////////////////
  215:  
  216:         /// <summary>
  217:         ///
  218:         /// </summary>
  219:         public bool Update(Ia.Ftn.Cl.Models.Huawei.EmsOntSipInfo updatedItem)
  220:         {
  221:             // below: this will not update Id, Created
  222:             bool updated;
  223:  
  224:             updated = false;
  225:  
  226:             if (this.ResultCode != updatedItem.ResultCode) { this.ResultCode = updatedItem.ResultCode; updated = true; }
  227:             if (this.StateId != updatedItem.StateId) { this.StateId = updatedItem.StateId; updated = true; }
  228:             if (this.SIPUSERNAME != updatedItem.SIPUSERNAME) { this.SIPUSERNAME = updatedItem.SIPUSERNAME; updated = true; }
  229:             if (this.SIPUSERPWD != updatedItem.SIPUSERPWD) { this.SIPUSERPWD = updatedItem.SIPUSERPWD; updated = true; }
  230:             if (this.SIPNAME != updatedItem.SIPNAME) { this.SIPNAME = updatedItem.SIPNAME; updated = true; }
  231:             if (this.TEL != updatedItem.TEL) { this.TEL = updatedItem.TEL; updated = true; }
  232:             if (this.EmsOnt != updatedItem.EmsOnt) { this.EmsOnt = updatedItem.EmsOnt; updated = true; }
  233:  
  234:             if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
  235:  
  236:             return updated;
  237:         }
  238:  
  239:         ////////////////////////////////////////////////////////////////////////////
  240:         ////////////////////////////////////////////////////////////////////////////
  241:  
  242:         /// <summary>
  243:         ///
  244:         /// </summary>
  245:         public string ToSimpleTextString()
  246:         {
  247:             return Ia.Ftn.Cl.Models.Data.Huawei.OntSipInfo.ToSimpleTextString(this);
  248:         }
  249:  
  250:         ////////////////////////////////////////////////////////////////////////////
  251:         ////////////////////////////////////////////////////////////////////////////
  252:     }
  253:  
  254:     ////////////////////////////////////////////////////////////////////////////
  255:     ////////////////////////////////////////////////////////////////////////////
  256: }