Professional Applications Programmers/Consultants برمجة واستشارات تطبيقات الإنترنت
Skip Navigation LinksHome » Code Library » AgcfGatewayRecord

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

AGCF Gateway Record Entity Framework class for Next Generation Network (NGN) entity model.

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.Linq;
   4:  using System.Web;
   5:  using System.Web.Security;
   6:  using System.ComponentModel.DataAnnotations;
   7:  using System.ComponentModel.DataAnnotations.Schema;
   8:  using System.Text.RegularExpressions;
   9:  using System.Data.Entity;
  10:   
  11:  namespace Ia.Ngn.Cl.Model.Nokia
  12:  {
  13:      ////////////////////////////////////////////////////////////////////////////
  14:   
  15:      /// <summary publish="true">
  16:      /// AGCF Gateway Record Entity Framework class for Next Generation Network (NGN) entity model.
  17:      /// </summary>
  18:      /// 
  19:      /// <remarks> 
  20:      /// Copyright � 2014-2017 Jasem Y. Al-Shamlan (info@ia.com.kw), Internet Applications - Kuwait. All Rights Reserved.
  21:      ///
  22:      /// 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
  23:      /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  24:      ///
  25:      /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  26:      /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  27:      /// 
  28:      /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
  29:      /// 
  30:      /// Copyright notice: This notice may not be removed or altered from any source distribution.
  31:      /// </remarks> 
  32:      public partial class AgcfGatewayRecord
  33:      {
  34:          /// <summary>
  35:          /// 1360 COM WebAPI User Guide 255-400-419R3.X
  36:          /// ngfs-agcfgatewayrecord-v2(rtrv,ent,ed,dlt)
  37:          /// </summary>
  38:          public AgcfGatewayRecord() { }
  39:   
  40:          /// <summary/>
  41:          [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
  42:          public int Id { get; set; }
  43:   
  44:          /// <summary>
  45:          /// NgcfAgcfGatewayRecordAid (opt for ent,req for ed) LCP Format as GatewayTableId`GatewayRecordId. GatewayRecordId (2048-4047). The value of GatewayTableId should be same as 'TableId'. The value of GatewayRecordId should be same as 'GwId' LCP-CTS R8.0 From CTS R8.0,GatewayRecordId support(2048-18047) LCP-CTS R8.1.1 From CTS R8.1.1,GatewayRecordId support(2048-502047) LCP-CTS R9.1 From CTS R9.1, GatewayRecordId support(2048-5002047)
  46:          /// </summary>
  47:          public string NgcfAgcfGatewayRecordAid { get; set; }
  48:          
  49:          /// <summary>
  50:          /// TableId (req for ent,req for ed) LCP Same value as the aid of Agcf Gateway Table, Integer (1-99)
  51:          /// </summary>
  52:          public int TableId { get; set; }
  53:          
  54:          /// <summary>
  55:          /// GwId (req for ent,req for ed). LCP Integer (2048-4047). cannot be modified. Default 2048. LCP-CTS R8.0 Integer (2048-18047). Default 2048 LCP-CTS R8.1.1 Integer (2048-502047) Default 2048 LCP-CTS R9.1 Integer (2048-5002047) Default 2048
  56:          /// </summary>
  57:          public int GwId { get; set; }
  58:          
  59:          /// <summary>
  60:          /// AgcfSipIaPort (req for ent,opt for ed). LCP String (1-71)
  61:          /// </summary>
  62:          public string AgcfSipIaPort { get; set; }
  63:          
  64:          /// <summary>
  65:          /// ConnectionType (opt for ent,opt for ed). LCP Valid value: UDP/IP TCP/IP Default UDP/IP
  66:          /// </summary>
  67:          public bool ConnectionType { get; set; }
  68:          
  69:          /// <summary>
  70:          /// ContextAudits (opt for ent,opt for ed). LCP Valid value: None Audit Value Based Default Audit Value Based
  71:          /// </summary>
  72:          public bool ContextAudits { get; set; }
  73:          
  74:          /// <summary>
  75:          /// GwDigitMapId (req for ent,opt for ed). LCP Integer (1-5)
  76:          /// </summary>
  77:          public int GwDigitMapId { get; set; }
  78:          
  79:          /// <summary>
  80:          /// EnableChannelStatusAudits (opt for ent,opt for ed). LCP Boolean (true or false) D. LCP Command. 230 Default false LCP-CTS R8.1.1 Deprecated and will be replaced by "Channel Status Audit/Arming Options".
  81:          /// </summary>
  82:          public bool EnableChannelStatusAudits { get; set; }
  83:          
  84:          /// <summary>
  85:          /// GwUserId (opt for ent,opt for ed). LCP String (1-28). Supported since CTS R6.1, could not be empty after CTS R6.1,, cannot be modified 
  86:          /// </summary>
  87:          public string GwUserId { get; set; }
  88:          
  89:          /// <summary>
  90:          /// GwDomain (req for ent,opt for ed). LCP String (1-255), cannot be modified
  91:          /// </summary>
  92:          public string GwDomain { get; set; }
  93:          
  94:          /// <summary>
  95:          /// GwName (req for ent,opt for ed). LCP String (1-32)
  96:          /// </summary>
  97:          public string GwName { get; set; }
  98:          
  99:          /// <summary>
 100:          /// GwPrivId (req for ent,opt for ed). LCP String(1-100) LCP-CTS R6.1 Deprecated and must be empty since CTS R6.1 (R17.18).
 101:          /// </summary>
 102:          public string GwPrivId { get; set; }
 103:          
 104:          /// <summary>
 105:          /// IP1 (req for ent,opt for ed). LCP Format as: ((([0-1]?[0-9]?[0-9])|(2[0-4][0-9])|(25[0-5]))\.){3}((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])) Default 0.0.0.0
 106:          /// </summary>
 107:          public string IP1 { get; set; }
 108:          
 109:          /// <summary>
 110:          /// IP2 (opt for ent,opt for ed). LCP Format as: ((([0-1]?[0-9]?[0-9])|(2[0-4][0-9])|(25[0-5]))\.){3}((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])) Default 0.0.0.0
 111:          /// </summary>
 112:          public string IP2 { get; set; }
 113:          
 114:          /// <summary>
 115:          /// LocalTermTypePrefix (opt for ent,opt for ed). LCP String (1-32) Default AL LCP-CTS R6.2 Deprecated in CTS 6.2 and later:
 116:          /// </summary>
 117:          public string LocalTermTypePrefix { get; set; }
 118:          
 119:          /// <summary>
 120:          /// LocalTermTypeAnalogPrefix (opt for ent,opt for ed). LCP-CTS R6.2 String (1-32) Default: AL replaces LocalTermTypePrefix
 121:          /// </summary>
 122:          public string LocalTermTypeAnalogPrefix { get; set; }
 123:          
 124:          /// <summary>
 125:          /// IsLocalTermTypeTDMAnalog (opt for ent,opt for ed). LCP Boolean (true or false) Default true
 126:          /// </summary>
 127:          public bool IsLocalTermTypeTDMAnalog { get; set; }
 128:          
 129:          /// <summary>
 130:          /// NetTermTypePrefix (opt for ent,opt for ed). LCP String (1-32) Default RTP/
 131:          /// </summary>
 132:          public string NetTermTypePrefix { get; set; }
 133:          
 134:          /// <summary>
 135:          /// IsNetTermTypeRTPUDP (opt for ent,opt for ed). LCP Boolean (true or false) default true
 136:          /// </summary>
 137:          public bool IsNetTermTypeRTPUDP { get; set; }
 138:          
 139:          /// <summary>
 140:          /// PhysicalTermIdScheme (opt for ent,opt for ed). LCP-CTS R6.0 Valid value:CTS 6.0 and beyond: a. al/dslam/rack/shelf/slot/port b. al/rack/shelf/slot/port c. al/shelf/slot/port Default al/dslam/rack/shelf/slot/port LCP-CTS R6.1 CTS 6.1 addition d. Flat Term ID LCP-CTS R6.2 Deprecated values in CTS 6.2 and later: al/dslam/rack/shelf/slot/port al/rack/shelf/slot/port al/shelf/slot/port New values for CTS 6.2 and later: prefix/dslam/rack/shelf/slot/port[/channel] D. LCP Command. 231 prefix/rack/shelf/slot/port[/channel] prefix/shelf/slot/port[/channel] LCP Boolean (true or false) Default false
 141:          /// </summary>
 142:          public string PhysicalTermIdScheme { get; set; }
 143:          
 144:          /// <summary>
 145:          /// SendCompactMessages (opt for ent,opt for ed). LCP-CTS R8.1.1 default value changed to true
 146:          /// </summary>
 147:          public bool SendCompactMessages { get; set; }
 148:          
 149:          /// <summary>
 150:          /// SendEphemeralPrefix (opt for ent,opt for ed). LCP Boolean (true or false) Default false
 151:          /// </summary>
 152:          public bool SendEphemeralPrefix { get; set; }
 153:          
 154:          /// <summary>
 155:          /// UdpPort (opt for ent,opt for ed). LCP default value:2944 LCP-CTS R8.1.1 value range: 2944-20287 This field specifies the UDP/IP port used by a gateway. From R24.21, the default value depends on the "Gateway Type" field. - Multiple RGWs/iAGs can share port 2944, so the default port for RGWs/iADs is 2944. - For AGWs, non-2944 port number must be unique, so the default should be a free port, the following formala will most likely identify a free port: ((Gateway ID - 2048)%17242) + 2945. 
 156:          /// </summary>
 157:          public int UdpPort { get; set; }
 158:          
 159:          /// <summary>
 160:          /// GwVariantId (req for ent,opt for ed). LCP Integer (1-17) LCP-CTS R8.0 Integer (1-64)
 161:          /// </summary>
 162:          public int GwVariantId { get; set; }
 163:          
 164:          /// <summary>
 165:          /// AreaId (opt for ent,opt for ed). LCP-ISC R21.1.1 Integer (0-100) Default: 0 - means the Area ID is not provisioned Used by the iAGCF to populate the X-ALU-Area-ID parameter sent to the S-CSCF during gateway registrations.
 166:          /// </summary>
 167:          public int AreaId { get; set; }
 168:          
 169:          /// <summary>
 170:          /// ComfortNoise (opt for ent,opt for ed). LCP-ISC R20.0 Boolean (true or false) Default:false
 171:          /// </summary>
 172:          public bool ComfortNoise { get; set; }
 173:          
 174:          /// <summary>
 175:          /// Dtmf (opt for ent,opt for ed). LCP-ISC R20.0 Boolean (true or false) Default:false
 176:          /// </summary>
 177:          public bool Dtmf { get; set; }
 178:          
 179:          /// <summary>
 180:          /// FaxEvents (opt for ent,opt for ed). LCP-ISC R20.0 Boolean (true or false) Default:false
 181:          /// </summary>
 182:          public bool FaxEvents { get; set; }
 183:          
 184:          /// <summary>
 185:          /// ModemEvents (opt for ent,opt for ed). LCP-ISC R20.0 Boolean (true or false) Default:false
 186:          /// </summary>
 187:          public bool ModemEvents { get; set; }
 188:          
 189:          /// <summary>
 190:          /// TextTelephonyEvents (opt for ent,opt for ed). LCP-ISC R20.0 Boolean (true or false) Default:false
 191:          /// </summary>
 192:          public bool TextTelephonyEvents { get; set; }
 193:          
 194:          /// <summary>
 195:          /// AllCodecDataStr (opt for ent,opt for ed). LCP-CTS R6.2 Format as Type|CodecAlgType|PayloadSize|SilenceSupression Type: Audio CodecAlgType: valid value: G.711 - aLaw, G.711 - uLaw. default G.711 - uLaw D. LCP Command. 232 PayloadSize: Integer 1-6 or a multiple of 5 less than or equal to 80. Default 20 SilenceSupression: Boolean (true or false) default false LCP-CTS R7.0 CodecAlgType: valid value: G.711 - aLaw, G.711 - uLaw, G.723, G.729. LCP-CTS R7.0.1 PayloadSize: The field will actually contain "Packetization Time" in milliseconds. Valid range depends on CodecAlgType, as follows: G.711 - aLaw: 10 to 30 in increments of 10 G.711 - uLaw: 10 to 30 in increments of 10 G.723: 30 to 60 in increments of 30 G.729: 10 to 60 in increments of 10 Default for G.723 is 30ms, and for the other 3 types - 20ms.
 196:          /// </summary>
 197:          public string AllCodecDataStr { get; set; }
 198:          
 199:          /// <summary>
 200:          /// AgwIuaIpAddress (opt for ent,opt for ed). LCP-CTS R6.2 String (0-45)[a-fA-F0-9:.]*
 201:          /// </summary>
 202:          public string AgwIuaIpAddress { get; set; }
 203:          
 204:          /// <summary>
 205:          /// AgwIuaSctpPort (opt for ent,opt for ed). LCP-CTS R6.2 Integer 1-65535 Default:9900
 206:          /// </summary>
 207:          public int AgwIuaSctpPort { get; set; }
 208:          
 209:          /// <summary>
 210:          /// AgcfLocalSctpPort (opt for ent,opt for ed). LCP-CTS R6.2 Integer 1025-65535 Default: GatewayId - 2048 + 9900
 211:          /// </summary>
 212:          public int AgcfLocalSctpPort { get; set; }
 213:          
 214:          /// <summary>
 215:          /// SctpProfile (opt for ent,opt for ed). LCP-CTS R6.2 Integer 0-15 Default:0
 216:          /// </summary>
 217:          public int SctpProfile { get; set; }
 218:   
 219:          /// <summary>
 220:          /// IuaIIDMapScheme (opt for ent,opt for ed). LCP-CTS R6.2 Range: "", rack/shelf/slot/port/channel, Flat Term ID Default: rack/shelf/slot/port/channel 
 221:          /// </summary>
 222:          public string IuaIIDMapScheme { get; set; }
 223:          
 224:          /// <summary>
 225:          /// LocalTermTypeIsdnPrefix (opt for ent,opt for ed). LCP-CTS R6.2 This field and AgwIuaIpAddress, AgwIuaIpAddress, AgwIuaSctpPort, AgcfLocalSctpPort , SctpProfile, IuaIIDMapScheme, AuditAllActiveIsdnCalls are for ISDN, if one of them is provided with a non null value, then all ISDN fields must be provided, and vice versa. Default values only apply when AgwIuaIpAddress is not empty. string (1-10) Default: BA
 226:          /// </summary>
 227:          public string LocalTermTypeIsdnPrefix { get; set; }
 228:          
 229:          /// <summary>
 230:          /// AuditAllActiveIsdnCalls (opt for ent,opt for ed). LCP-CTS R6.2 Boolean (true or false) Default:false
 231:          /// </summary>
 232:          public bool AuditAllActiveIsdnCalls { get; set; }
 233:          
 234:          /// <summary>
 235:          /// MateSite (opt for ent,opt for ed). LCP-CTS R6.1 A value of 0 indicates that the GW is not geo-redundant. Otherwise, the GW is considered Geo-Redundant and all the HW data including HSS data will be provisioned on primary and protection switches. The Id given here should D. LCP Command. 233 be that of the switch (2-8) as seen under the alternate switch's protection site list. 
 236:          /// </summary>
 237:          public int MateSite { get; set; }
 238:          
 239:          /// <summary>
 240:          /// MateExternalIPAddr (opt for ent,opt for ed). LCP-CTS R6.1 Default IPv4 external address of the AGCF card on the alternate switch. So, on the Primary, it will be the Protection Switch's AGCF Card IP address. And on the Protection, it will be the Primary Switch's AGCF Card IP address.
 241:          /// </summary>
 242:          public string MateExternalIPAddr { get; set; }
 243:          
 244:          /// <summary>
 245:          /// IsPrimary (opt for ent,opt for ed). LCP-CTS R6.1 True indicates to the switch that it is designated as the primary in the geo-redundancy mode. False otherwise.
 246:          /// </summary>
 247:          public bool IsPrimary { get; set; }
 248:          
 249:          /// <summary>
 250:          /// AddtionalDigitMapList (opt for ent,opt for ed). LCP-CTS R7.1 Digit Map Table id list. Format as tableid1^tableid2^...
 251:          /// </summary>
 252:          public string AddtionalDigitMapList { get; set; }
 253:          
 254:          /// <summary>
 255:          /// AuthTimer (opt for ent,opt for ed). LCP-CTS R8.1.1 Integer (1-60) default:10
 256:          /// </summary>
 257:          public int AuthTimer { get; set; }
 258:          
 259:          /// <summary>
 260:          /// LocalSecKey (opt for ent,opt for ed,na for rtrv). LCP-CTS R8.1.1 Integer (2-65535) default:888
 261:          /// </summary>
 262:          public int LocalSecKey { get; set; }
 263:          
 264:          /// <summary>
 265:          /// SharedBasNumber (opt for ent,opt for ed). LCP-CTS R8.1.1 Ulong (2-4294967295) default:101
 266:          /// </summary>
 267:          public long SharedBasNumber { get; set; }
 268:          
 269:          /// <summary>
 270:          /// SharedPriNumber (opt for ent,opt for ed). LCP-CTS R8.1.1 Integer (2-65535) default:523
 271:          /// </summary>
 272:          public int SharedPriNumber { get; set; }
 273:          
 274:          /// <summary>
 275:          /// SharedSecKey (opt for ent,opt for ed,na for rtrv). LCP-CTS R8.1.1 Hex_Digits (0-32) default:null
 276:          /// </summary>
 277:          public string SharedSecKey { get; set; }
 278:          
 279:          /// <summary>
 280:          /// MgID (opt for ent,opt for ed). LCP-CTS R8.1.1 Hex_Digits (0-32) default:null
 281:          /// </summary>
 282:          public string MgID { get; set; }
 283:          
 284:          /// <summary>
 285:          /// EnnableMD5DigAuteh (opt for ent,opt for ed). LCP-CTS R8.1.1 Boolean (true or false) Default false
 286:          /// </summary>
 287:          public bool EnnableMD5DigAuteh { get; set; }
 288:          
 289:          /// <summary>
 290:          /// ChannelAudits (opt for ent,opt for ed). LCP-CTS R8.1.1 0-Audit disabled 1-Arming Modify+AuditValue in one Transaction 2-Arming Modify and AuditValue done one after another sequentially. default value:Arming Modify+AuditValue in one Transaction
 291:          /// </summary>
 292:          public int ChannelAudits { get; set; }
 293:          
 294:          /// <summary>
 295:          /// GroupId (opt for ent,opt for ed). LCP-CTS R8.1.1 value range:0-500 0 for AGWs; For RGW/iAD, if the GW ID is k, the default value of GW group ID is 1 + (k - 2048)/1000 LCP-CTS R9.1 value range:0-500 0 for AGWs; For RGW/iAD, if the GW ID is k, the default value of GW group ID is 1 + (k - 2048)/10000 
 296:          /// </summary>
 297:          public int GroupId { get; set; }
 298:          
 299:          /// <summary>
 300:          /// AgcfGateWayType (opt for ent,opt for ed). LCP-CTS R8.1.1 RGWs/iADs and AGWs
 301:          /// <summary/>
 302:          public int AgcfGateWayType { get; set; }
 303:   
 304:          /// <summary/>
 305:          public virtual ICollection<AgcfEndpoint> AgcfEndpoints { get; set; }
 306:   
 307:          public DateTime Created { get; set; }
 308:          /// <summary/>
 309:          public DateTime Updated { get; set; }
 310:          /// <summary/>
 311:          public System.Guid UserId { get; set; }
 312:   
 313:          ////////////////////////////////////////////////////////////////////////////
 314:   
 315:          /// <summary>
 316:          ///
 317:          /// </summary>
 318:          public static int AgcfGatewayRecordId(int tableId, int gwId)
 319:          {
 320:              int id;
 321:              string s;
 322:   
 323:              s = tableId.ToString() + gwId.ToString().PadLeft(6,'0');
 324:   
 325:              id = int.Parse(s);
 326:   
 327:              return id;
 328:          }
 329:   
 330:          ////////////////////////////////////////////////////////////////////////////
 331:   
 332:          /// <summary>
 333:          ///
 334:          /// </summary>
 335:          public bool Equal(AgcfGatewayRecord b)
 336:          {
 337:              // below: this will not check the Id, Created, Updated fields
 338:              bool areEqual;
 339:   
 340:              //if (this.BatteryBackupAvailable != b.BatteryBackupAvailable) areEqual = false;
 341:              //else areEqual = true;
 342:   
 343:              areEqual = false;
 344:   
 345:              return areEqual;
 346:          }
 347:   
 348:          ////////////////////////////////////////////////////////////////////////////
 349:   
 350:          /// <summary>
 351:          ///
 352:          /// </summary>
 353:          public bool Update(AgcfGatewayRecord updatedAgcfGatewayRecord)
 354:          {
 355:              // below: this will not update Id, Created
 356:              bool updated;
 357:   
 358:              updated = false;
 359:   
 360:              if (this.NgcfAgcfGatewayRecordAid != updatedAgcfGatewayRecord.NgcfAgcfGatewayRecordAid) { this.NgcfAgcfGatewayRecordAid = updatedAgcfGatewayRecord.NgcfAgcfGatewayRecordAid; updated = true; }
 361:              if (this.TableId != updatedAgcfGatewayRecord.TableId) { this.TableId = updatedAgcfGatewayRecord.TableId; updated = true; }
 362:              if (this.GwId != updatedAgcfGatewayRecord.GwId) { this.GwId = updatedAgcfGatewayRecord.GwId; updated = true; }
 363:              if (this.AgcfSipIaPort != updatedAgcfGatewayRecord.AgcfSipIaPort) { this.AgcfSipIaPort = updatedAgcfGatewayRecord.AgcfSipIaPort; updated = true; }
 364:              if (this.ConnectionType != updatedAgcfGatewayRecord.ConnectionType) { this.ConnectionType = updatedAgcfGatewayRecord.ConnectionType; updated = true; }
 365:              if (this.ContextAudits != updatedAgcfGatewayRecord.ContextAudits) { this.ContextAudits = updatedAgcfGatewayRecord.ContextAudits; updated = true; }
 366:              if (this.GwDigitMapId != updatedAgcfGatewayRecord.GwDigitMapId) { this.GwDigitMapId = updatedAgcfGatewayRecord.GwDigitMapId; updated = true; }
 367:              if (this.EnableChannelStatusAudits != updatedAgcfGatewayRecord.EnableChannelStatusAudits) { this.EnableChannelStatusAudits = updatedAgcfGatewayRecord.EnableChannelStatusAudits; updated = true; }
 368:              if (this.GwUserId != updatedAgcfGatewayRecord.GwUserId) { this.GwUserId = updatedAgcfGatewayRecord.GwUserId; updated = true; }
 369:              if (this.GwDomain != updatedAgcfGatewayRecord.GwDomain) { this.GwDomain = updatedAgcfGatewayRecord.GwDomain; updated = true; }
 370:              if (this.GwName != updatedAgcfGatewayRecord.GwName) { this.GwName = updatedAgcfGatewayRecord.GwName; updated = true; }
 371:              if (this.GwPrivId != updatedAgcfGatewayRecord.GwPrivId) { this.GwPrivId = updatedAgcfGatewayRecord.GwPrivId; updated = true; }
 372:              if (this.IP1 != updatedAgcfGatewayRecord.IP1) { this.IP1 = updatedAgcfGatewayRecord.IP1; updated = true; }
 373:              if (this.IP2 != updatedAgcfGatewayRecord.IP2) { this.IP2 = updatedAgcfGatewayRecord.IP2; updated = true; }
 374:              if (this.LocalTermTypePrefix != updatedAgcfGatewayRecord.LocalTermTypePrefix) { this.LocalTermTypePrefix = updatedAgcfGatewayRecord.LocalTermTypePrefix; updated = true; }
 375:              if (this.LocalTermTypeAnalogPrefix != updatedAgcfGatewayRecord.LocalTermTypeAnalogPrefix) { this.LocalTermTypeAnalogPrefix = updatedAgcfGatewayRecord.LocalTermTypeAnalogPrefix; updated = true; }
 376:              if (this.IsLocalTermTypeTDMAnalog != updatedAgcfGatewayRecord.IsLocalTermTypeTDMAnalog) { this.IsLocalTermTypeTDMAnalog = updatedAgcfGatewayRecord.IsLocalTermTypeTDMAnalog; updated = true; }
 377:              if (this.NetTermTypePrefix != updatedAgcfGatewayRecord.NetTermTypePrefix) { this.NetTermTypePrefix = updatedAgcfGatewayRecord.NetTermTypePrefix; updated = true; }
 378:              if (this.IsNetTermTypeRTPUDP != updatedAgcfGatewayRecord.IsNetTermTypeRTPUDP) { this.IsNetTermTypeRTPUDP = updatedAgcfGatewayRecord.IsNetTermTypeRTPUDP; updated = true; }
 379:              if (this.PhysicalTermIdScheme != updatedAgcfGatewayRecord.PhysicalTermIdScheme) { this.PhysicalTermIdScheme = updatedAgcfGatewayRecord.PhysicalTermIdScheme; updated = true; }
 380:              if (this.SendCompactMessages != updatedAgcfGatewayRecord.SendCompactMessages) { this.SendCompactMessages = updatedAgcfGatewayRecord.SendCompactMessages; updated = true; }
 381:              if (this.SendEphemeralPrefix != updatedAgcfGatewayRecord.SendEphemeralPrefix) { this.SendEphemeralPrefix = updatedAgcfGatewayRecord.SendEphemeralPrefix; updated = true; }
 382:              if (this.UdpPort != updatedAgcfGatewayRecord.UdpPort) { this.UdpPort = updatedAgcfGatewayRecord.UdpPort; updated = true; }
 383:              if (this.GwVariantId != updatedAgcfGatewayRecord.GwVariantId) { this.GwVariantId = updatedAgcfGatewayRecord.GwVariantId; updated = true; }
 384:              if (this.AreaId != updatedAgcfGatewayRecord.AreaId) { this.AreaId = updatedAgcfGatewayRecord.AreaId; updated = true; }
 385:              if (this.ComfortNoise != updatedAgcfGatewayRecord.ComfortNoise) { this.ComfortNoise = updatedAgcfGatewayRecord.ComfortNoise; updated = true; }
 386:              if (this.Dtmf != updatedAgcfGatewayRecord.Dtmf) { this.Dtmf = updatedAgcfGatewayRecord.Dtmf; updated = true; }
 387:              if (this.FaxEvents != updatedAgcfGatewayRecord.FaxEvents) { this.FaxEvents = updatedAgcfGatewayRecord.FaxEvents; updated = true; }
 388:              if (this.ModemEvents != updatedAgcfGatewayRecord.ModemEvents) { this.ModemEvents = updatedAgcfGatewayRecord.ModemEvents; updated = true; }
 389:              if (this.TextTelephonyEvents != updatedAgcfGatewayRecord.TextTelephonyEvents) { this.TextTelephonyEvents = updatedAgcfGatewayRecord.TextTelephonyEvents; updated = true; }
 390:              if (this.AllCodecDataStr != updatedAgcfGatewayRecord.AllCodecDataStr) { this.AllCodecDataStr = updatedAgcfGatewayRecord.AllCodecDataStr; updated = true; }
 391:              if (this.AgwIuaIpAddress != updatedAgcfGatewayRecord.AgwIuaIpAddress) { this.AgwIuaIpAddress = updatedAgcfGatewayRecord.AgwIuaIpAddress; updated = true; }
 392:              if (this.AgwIuaSctpPort != updatedAgcfGatewayRecord.AgwIuaSctpPort) { this.AgwIuaSctpPort = updatedAgcfGatewayRecord.AgwIuaSctpPort; updated = true; }
 393:              if (this.AgcfLocalSctpPort != updatedAgcfGatewayRecord.AgcfLocalSctpPort) { this.AgcfLocalSctpPort = updatedAgcfGatewayRecord.AgcfLocalSctpPort; updated = true; }
 394:              if (this.SctpProfile != updatedAgcfGatewayRecord.SctpProfile) { this.SctpProfile = updatedAgcfGatewayRecord.SctpProfile; updated = true; }
 395:              if (this.IuaIIDMapScheme != updatedAgcfGatewayRecord.IuaIIDMapScheme) { this.IuaIIDMapScheme = updatedAgcfGatewayRecord.IuaIIDMapScheme; updated = true; }
 396:              if (this.LocalTermTypeIsdnPrefix != updatedAgcfGatewayRecord.LocalTermTypeIsdnPrefix) { this.LocalTermTypeIsdnPrefix = updatedAgcfGatewayRecord.LocalTermTypeIsdnPrefix; updated = true; }
 397:              if (this.AuditAllActiveIsdnCalls != updatedAgcfGatewayRecord.AuditAllActiveIsdnCalls) { this.AuditAllActiveIsdnCalls = updatedAgcfGatewayRecord.AuditAllActiveIsdnCalls; updated = true; }
 398:              if (this.MateSite != updatedAgcfGatewayRecord.MateSite) { this.MateSite = updatedAgcfGatewayRecord.MateSite; updated = true; }
 399:              if (this.MateExternalIPAddr != updatedAgcfGatewayRecord.MateExternalIPAddr) { this.MateExternalIPAddr = updatedAgcfGatewayRecord.MateExternalIPAddr; updated = true; }
 400:              if (this.IsPrimary != updatedAgcfGatewayRecord.IsPrimary) { this.IsPrimary = updatedAgcfGatewayRecord.IsPrimary; updated = true; }
 401:              if (this.AddtionalDigitMapList != updatedAgcfGatewayRecord.AddtionalDigitMapList) { this.AddtionalDigitMapList = updatedAgcfGatewayRecord.AddtionalDigitMapList; updated = true; }
 402:              if (this.AuthTimer != updatedAgcfGatewayRecord.AuthTimer) { this.AuthTimer = updatedAgcfGatewayRecord.AuthTimer; updated = true; }
 403:              if (this.LocalSecKey != updatedAgcfGatewayRecord.LocalSecKey) { this.LocalSecKey = updatedAgcfGatewayRecord.LocalSecKey; updated = true; }
 404:              if (this.SharedBasNumber != updatedAgcfGatewayRecord.SharedBasNumber) { this.SharedBasNumber = updatedAgcfGatewayRecord.SharedBasNumber; updated = true; }
 405:              if (this.SharedPriNumber != updatedAgcfGatewayRecord.SharedPriNumber) { this.SharedPriNumber = updatedAgcfGatewayRecord.SharedPriNumber; updated = true; }
 406:              if (this.SharedSecKey != updatedAgcfGatewayRecord.SharedSecKey) { this.SharedSecKey = updatedAgcfGatewayRecord.SharedSecKey; updated = true; }
 407:              if (this.MgID != updatedAgcfGatewayRecord.MgID) { this.MgID = updatedAgcfGatewayRecord.MgID; updated = true; }
 408:              if (this.EnnableMD5DigAuteh != updatedAgcfGatewayRecord.EnnableMD5DigAuteh) { this.EnnableMD5DigAuteh = updatedAgcfGatewayRecord.EnnableMD5DigAuteh; updated = true; }
 409:              if (this.ChannelAudits != updatedAgcfGatewayRecord.ChannelAudits) { this.ChannelAudits = updatedAgcfGatewayRecord.ChannelAudits; updated = true; }
 410:              if (this.GroupId != updatedAgcfGatewayRecord.GroupId) { this.GroupId = updatedAgcfGatewayRecord.GroupId; updated = true; }
 411:              if (this.AgcfGateWayType != updatedAgcfGatewayRecord.AgcfGateWayType) { this.AgcfGateWayType = updatedAgcfGatewayRecord.AgcfGateWayType; updated = true; }
 412:              if (this.UserId != updatedAgcfGatewayRecord.UserId) { this.UserId = updatedAgcfGatewayRecord.UserId; updated = true; }
 413:   
 414:              if(updated) this.Updated = DateTime.UtcNow.AddHours(3);
 415:   
 416:              return updated;
 417:          }
 418:   
 419:          ////////////////////////////////////////////////////////////////////////////
 420:          ////////////////////////////////////////////////////////////////////////////
 421:      }
 422:   
 423:      ////////////////////////////////////////////////////////////////////////////
 424:      ////////////////////////////////////////////////////////////////////////////
 425:  }