)>}]
شركة التطبيقات المتكاملة لتصميم وبرمجة البرمجيات الخاصة ش.ش.و.
Integrated Applications Programming Company
Skip Navigation Links

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

Huawei's Media Gateway (MGW) Entity Framework class for Optical Fiber Network (OFN) entity model.

    1: using System;
    2: using System.Collections.Generic;
    3: using System.ComponentModel.DataAnnotations;
    4: using System.ComponentModel.DataAnnotations.Schema;
    5: using System.Linq;
    6: using System.Threading;
    7: using System.Threading.Tasks;
    8:  
    9: namespace Ia.Ngn.Cl.Model.Huawei
   10: {
   11:     ////////////////////////////////////////////////////////////////////////////
   12:  
   13:     /// <summary publish="true">
   14:     /// Huawei's Media Gateway (MGW) Entity Framework class for Optical Fiber Network (OFN) entity model.
   15:     /// </summary>
   16:     /// 
   17:     /// <remarks> 
   18:     /// Copyright © 2019-2021 Jasem Y. Al-Shamlan (info@ia.com.kw), Integrated Applications - Kuwait. All Rights Reserved.
   19:     ///
   20:     /// 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
   21:     /// the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
   22:     ///
   23:     /// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
   24:     /// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   25:     /// 
   26:     /// You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses.
   27:     /// 
   28:     /// Copyright notice: This notice may not be removed or altered from any source distribution.
   29:     /// </remarks> 
   30:     public class Mgw
   31:     {
   32:         /*
   33: LST MGW is used to query the data record of a media gateway (MGW) from the configuration database.
   34: 
   35: •    To query brief information about all MGW data records, do not specify any parameter.
   36: •    To query detailed information about a specific MGW data record, specify related parameters.
   37: 
   38: Note
   39: 
   40: You can specify either MGW ID or Equipment ID to query the information about an MGW. If you specify both of them, MGW ID and Equipment ID must be consistent.
   41:          */
   42:  
   43:         /// <summary/>
   44:         public Mgw() { }
   45:  
   46:         /// <summary/>
   47:         [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
   48:         public string Id { get; set; }
   49:  
   50:         /// <summary>
   51:         /// Network element
   52:         /// </summary>
   53:         public string NetworkElement { get; set; }
   54:  
   55:         /// <summary>
   56:         /// Equipment ID: This parameter uniquely identifies an MGW. The equipment ID is equivalent to the registration account of the media gateway. Its expression depends on the format of MID carried in the registration request sent by the media gateway to the SoftX3000.
   57:         /// If MID is a string of characters, the equipment ID of the media gateway on the SoftX3000 is a string of characters.
   58:         /// If MID is an IP address, the equipment ID of the media gateway on the SoftX3000 is also an IP address.
   59:         /// The SoftX3000 supports either format for the equipment ID, but the specific format to be used must be consistent with that used by the media gateway. Otherwise, the media gateway may fail to register with the SoftX3000. Currently, the media gateways provided by Huawei have the following formats for the equipment ID.
   60:         /// For the media gateways adopting the MGCP protocol, such as IAD, AMG, MRS, and MTA, the equipment ID is in domain name format, for example, "huawei.com" and "iad0086.com".
   61:         /// For the media gateways adopting the H.248 protocol, such as IAD, AMG, TMG, and UMG, the equipment ID is in IP address: Port number format, for example, "210.10.11.86:2944".
   62:         /// Value: a string of up to 32 characters
   63:         /// No default value
   64:         /// </summary>
   65:         public string EID { get; set; }
   66:  
   67:         /// <summary>
   68:         /// Gateway type: This parameter specifies the type of the media gateway to be added.
   69:         /// The options are as follows:
   70:         /// Access gateway
   71:         /// Trunk gateway
   72:         /// Integrated access device
   73:         /// Universal media gateway
   74:         /// Media resource server
   75:         /// Media terminal adaptor
   76:         /// If this parameter is set to Media resource server, the media gateway to be added is an external MRS (for example, MRS6000 or MRS6100). To add an internal MRS, you do not need to execute ADD MGW.
   77:         /// When you add an MRS gateway that has the announcement playing function, if the error code 63088 is returned, you need to modify the maximum tuple number of the table tbl_Bctoneid (by running MOD MAXT: TID=TID78, LT=CDBI;). If you add a gateway that has the MRS function, for example, an UMG with an embedded MRS, the MRS6000, or the MRS6100, you need to increase the maximum tuple number by 300.
   78:         /// On the SoftX3000 functioning as the AGCF, Gateway type can be set only to Access gateway, Integrated access device, or Universal media gateway.
   79:         /// No default value
   80:         /// </summary>
   81:         public string GWTP { get; set; }
   82:  
   83:         /// <summary>
   84:         /// MGW description: This parameter describes a media gateway to facilitate maintenance.
   85:         /// Value: a string of up to 64 characters
   86:         /// No default value
   87:         /// </summary>
   88:         public string MGWDESC { get; set; }
   89:  
   90:         /// <summary>
   91:         /// FCCU/AGCU/UACU module number: This parameter specifies the number of the FCCU/AGCU/UACU module on the SoftX3000 that processes the call control messages of the media gateway. This parameter must be defined by running ADD BRD before being referenced.
   92:         /// You need to consider the processing capability of each FCCU/AGCU/UACU module when adding a media gateway, avoiding overflow of tuples during addition of subscribers or trunks. The processing capability of each FCCU/AGCU/UACU module is as follows:
   93:         /// One FCCU/AGCU/UACU can process a maximum of 50,000 voice subscribers, 50,000 SIP subscribers, 25,000 H.323 subscribers.
   94:         /// One FCCU/AGCU/UACU can process call control messages sent over a maximum of 9,000 TDM trunk circuits.
   95:         /// Value range: 22-101
   96:         /// No default value
   97:         /// </summary>
   98:         public int MGCMODULENO { get; set; }
   99:  
  100:         /// <summary>
  101:         /// Protocol type: This parameter specifies the protocol type adopted by the media gateway. This parameter is valid when Gateway type is not Universal media gateway.
  102:         /// The MGCP protocol is adopted by default when the media gateway is AG, IAD, or MTA.
  103:         /// The H.248 protocol is adopted when the media gateway is UMG.
  104:         /// No default value
  105:         /// </summary>
  106:         public string PTYPE { get; set; }
  107:  
  108:         /// <summary>
  109:         /// Local IP address: This parameter specifies the IP address of the FE port on the SoftX3000 that processes all the protocol messages of the media gateway. This parameter must be defined by running ADD FECFG before being referenced.
  110:         /// </summary>
  111:         public string LA { get; set; }
  112:  
  113:         /// <summary>
  114:         /// Support dynamic IP address: This parameter specifies the IP address assignment mode of the media gateway on the SoftX3000. It is valid only when Gateway type is set to Access gateway, Integrated access device, or Media terminal adaptor.
  115:         /// The options are as follows:
  116:         /// Supported: Indicates that the dynamic IP address is supported.
  117:         /// Not supported: Indicates that the dynamic IP address is not supported.
  118:         /// If the MGW is configured to support dynamic IP address, the data of the MGW and data of subscribers served by the MGW must be configured on the same module.
  119:         /// Default value: Not supported
  120:         /// </summary>
  121:         public string DYNIP { get; set; }
  122:  
  123:         /// <summary>
  124:         /// RA1-RA5: [Remote IP address 1] to [Remote IP address 5]: They specify the IP addresses of the media gateways. Remote IP address 1 must be specified, while the other addresses may be specified according to the actual configuration of the media gateway (they are used for interworking with Huawei developed UMG8900).
  125:         /// When setting Remote IP address 1, note the following:
  126:         /// If the type of the media gateway is AMG or IAD using a static IP address, Remote IP address 1 is set to the actual IP address of the AMG or IAD and Support dynamic IP address in this command must be set to Not supported.
  127:         /// If the type of the media gateway is AMG or IAD using a dynamic IP address (or connected to the SoftX3000 through NAT), Remote IP address 1 can be set to any IP address that you make and Support dynamic IP address in this command must be set to Supported.
  128:         /// If the type of the media gateway is TMG or UMG, Remote IP address 1 is set to the IP address of the TMG or UMG for communications through the H.248 protocol.
  129:         /// If the media gateway is MRS6100, Remote IP address 1 is set to the IP address of the MCCU.
  130:         /// If the media gateway is MRS6000, Remote IP address 1 is set to the internal IP address of the MPC.
  131:         /// Value: a string of up to 15 characters
  132:         /// No default value
  133:         /// </summary>
  134:         public string RA1 { get; set; }
  135:         public string RA2 { get; set; }
  136:         public string RA3 { get; set; }
  137:         public string RA4 { get; set; }
  138:         public string RA5 { get; set; }
  139:  
  140:         /// <summary>
  141:         /// Remote port: This parameter specifies the number of the UDP port used by the media gateway to communicate with the SoftX3000, that is, the number of the local UDP port on the media gateway.
  142:         /// When setting this parameter, note the following:
  143:         /// If the media gateway adopts the MGCP protocol, the remote port number is 2427 by default. If the media gateway adopts the H.248 protocol, the remote port number is 2944 by default.
  144:         /// If the media gateway adopts the H.248 protocol, the local UDP port number on the SoftX3000 is 2944, which cannot be modified. If the media gateway adopts the MGCP protocol, the local UDP port number on the SoftX3000 is 2727 by default, and you can modify it with the SET MGCPPARA command.
  145:         /// Despite the protocol (MGCP or H.248) to be adopted, the local UDP port number on the media gateway (that is, the remote port number on the SoftX3000) can be configured flexibly. It can be configured to be the same as or different from the local UDP port number on the SoftX3000.
  146:         /// Value range: 0-65535
  147:         /// No default value
  148:         /// </summary>
  149:         public int RP { get; set; }
  150:  
  151:         /// <summary>
  152:         /// Codec list: This parameter specifies the codec capabilities supported by the media gateway.
  153:         /// When setting this parameter, note the following:
  154:         /// The codec list for a media gateway configured on the SoftX3000 must have intersections with the codec capabilities supported by the media gateway; otherwise, this media gateway cannot run normally.
  155:         /// If the carrier has higher requirements on voice and fax quality, select PCM A, PCM u, T.38, and CLEARMODE.
  156:         /// If you do not know the codec capabilities supported by a media gateway, select PCM A, PCM u, G.723.1, G.729, G.726, T.38 and CLEARMODE.
  157:         /// For the UMG acting as VIG, select all codec types, or select PCM A, PCM u, G.723.1, AMR, H.261, H.263, and MPEG4.
  158:         /// The codec types iLBC and Speex are free and carriers do not need to pay for the license fee. You can configure the MGCP media gateway to support these two codec types; however, the SoftX3000 supports the processing of the two codec types only in H.248.
  159:         /// No default value
  160:         /// </summary>
  161:         public string LISTOFCODEC { get; set; }
  162:  
  163:         /// <summary>
  164:         /// Media resource server: This parameter specifies whether the UMG provides the media resource server function. It is valid only when Gateway type is set to Universal media gateway.
  165:         /// Default value: Not supported
  166:         /// </summary>
  167:         public string MRSCAP { get; set; }
  168:  
  169:         /// <summary>
  170:         /// Hairpin connection: This parameter specifies whether the media gateway supports hairpin connection.
  171:         /// The options are as follows:
  172:         /// Supported: Indicates that the media stream exchange between the terminals served by the gateway is implemented through internal switching network of the gateway instead of the external IP network. However, the external IP packet network still implements the media stream exchange between internal terminal and external terminal.
  173:         /// Not supported: Indicates that the media stream exchange is implemented through the external IP network.
  174:         /// On the SoftX3000 functioning as the AGCF, set Hairpin connection to Not supported.
  175:         /// Default value: Not supported
  176:         /// </summary>
  177:         public string HAIRPIN { get; set; }
  178:  
  179:         /// <summary>
  180:         /// EC: This parameter specifies whether the media gateway has the echo cancellation (EC) function.
  181:         /// The options are as follows:
  182:         /// Supported: Indicates that the media gateway has the EC function. The SoftX3000 can operate the EC resources on the media gateway through the MGCP or H.248 protocol.
  183:         /// Not supported: Indicates that the media gateway does not have the EC function. The SoftX3000 cannot operate the EC resources on the media gateway through the MGCP or H.248 protocol.
  184:         /// If you set Special attributes in the command to No EC cancellation, the SoftX3000 never delivers an EC parameter when interworking with the media gateway through the MGCP or H.248 protocol.
  185:         /// Default value: Supported
  186:         /// </summary>
  187:         public string EC { get; set; }
  188:  
  189:         /// <summary>
  190:         /// Code type: This parameter specifies the code type used by the transmission protocol between the media gateway and the SoftX3000.
  191:         /// The options are as follows:
  192:         /// ASN.1: Indicates the binary format.
  193:         /// ABNF: Indicates the text format.
  194:         /// For the MGCP protocol, the SoftX3000 only supports ABNF.
  195:         /// For the H.248 protocol, the SoftX3000 supports both ABNF and ASN.1.
  196:         /// Default value: ABNF
  197:         /// </summary>
  198:         public string CODETYPE { get; set; }
  199:  
  200:         /// <summary>
  201:         /// Special attributes: This parameter specifies the special attributes of the media gateway deployed in the actual networking.
  202:         /// The options are as follows:
  203:         /// SDP HEX: Indicates whether the Session Description Protocol (SDP) packets sent from the SoftX3000 to the media gateway use the HEX format. Because most media gateways only identify SDP packets in text format but not those in HEX format, select this option only when the media gateway is TMG8010 of Huawei. This option is not selected in other cases. This option also takes effect on the SoftX3000 functioning as the AGCF.
  204:         /// No BNC character: Indicates whether the H.248 protocol messages sent from the SoftX3000 to the media gateway carry a BNC Character packet that identifies whether the bearer network is the ATM network or the IP network. Because most media gateways regard the IP network as the bearer network by default, that is, the H.248 protocol messages sent from the SoftX3000 to the media gateway do not carry a BNC Character packet. Do not select this option only when the media gateway is UMG8900 of Huawei. This option is selected in other cases. This option also takes effect on the SoftX3000 functioning as the AGCF.
  205:         /// No EC cancellation: Indicates whether the MGCP messages or H.248 messages sent from the SoftX3000 to the media gateway carries an "Echo canceller" field. "Echo canceller" is one of the attributes of media stream, indicating the EC mode (not started, G.165, or G.168) that media stream adopts. Currently, most media gateways support the "Echo canceller" field, so do not select this option for most media gateways. This option also takes effect on the SoftX3000 functioning as the AGCF.
  206:         /// No jitter: Indicates whether the MGCP messages or H.248 messages sent from the SoftX3000 to the media gateway carry a Jitter Buffer field. "Jitter buffer" is one of the attributes of media stream, indicating the duration (in millisecond) of the jitter buffer needed by media stream. At present, most media gateways do not support the "Jitter buffer" field, so select this option for most media gateways. This option also takes effect on the SoftX3000 functioning as the AGCF.
  207:         /// No fax: Indicates whether the MGCP messages or H.248 messages sent by the SoftX3000 instructs the media gateway to detect the fax signal tones of the terminal devices. If the media gateway does not support the detection of fax signal tones, select this option to achieve correct interworking between the SoftX3000 and media gateways provided by other vendors. If the media gateway supports the detection of fax signal tones, do not select this option. When this option is selected, the SoftX3000 does not process the fax signal sent by the MGW during calls involving ESL and V5 subscribers. This option does not take effect when detecting fax signal tones sent by terminals has set to a permanent event on the SoftX3000 and calls are routed over trunks. When this option is selected in such a scenario, the SoftX3000 still detects fax signal tones; therefore, fax services can still be provided.
  208:         /// No modem: Indicates whether the MGCP messages or H.248 messages sent by the SoftX3000 instructs the media gateway to detect the modem signal tones of the terminal devices. If the media gateway does not support the detection of modem signal tones, select this option to achieve correct interworking between the SoftX3000 and media gateways provided by other vendors. If the media gateway supports the detection of modem signal tones, do not select this option. When this option is selected, the SoftX3000 does not process the fax signal sent by the MGW during calls involving ESL and V5 subscribers. This option does not take effect when detecting modem signal tones sent by terminals has set to a permanent event on the SoftX3000 and calls are routed over trunks. When this option is selected in such a scenario, the SoftX3000 still detects modem signal tones; therefore, modem services can still be provided.
  209:         /// Local SDP address present: Indicates whether to contain the local IP address when the media gateway modifies the local Codec in the Add/Modify messages. It is unnecessary for most of the media gateways to contain the local IP addresses when they modify the local Codec. Therefore, this option is selected only when a media gateway modifies the IP address for a special IAD (for example, it adopts the waveform coding) or when a specific service requires the media gateway to modify the local IP address. When this option is selected, a new local IP address (required by a specific service) is contained in the Add/Modify messages or the local descriptor is not contained in the messages. This option also takes effect on the SoftX3000 functioning as the AGCF.
  210:         /// Tmr and usi for DCME: Indicates whether to send the TMR and USI parameters to the gateway. If this parameter is selected, the ISUP outgoing trunk carries the TMR and USI parameters to the gateway. Otherwise, the ISUP outgoing trunk does not carry the TMR and USI parameters to the gateway. This option does not take effect on the SoftX3000 functioning as the AGCF.
  211:         /// V3 fax flow: Indicates whether the media gateway supports the T.38 fax communication procedure defined in the SoftX3000 V300R001 and later software versions. Select this option in most cases. This option is not selected only when the media gateway uses a software version that matches with the SoftX3000 V200R101. This option must be selected on the SoftX3000 functioning as the AGCF.
  212:         /// Endpoint start from 0: The endpoints of the MGCP gateway are coded from 0. For most MGCP media gateways, the endpoints are coded from 1. This option also takes effect on the SoftX3000 functioning as the AGCF.
  213:         /// Support 2833: Indicates whether the media gateway supports the RFC2833 protocol, that is, whether two media gateways (such as AMG and MRS) interact DTMF signal with each other through common RTP audio packets or through dedicated RTP signal tone packets (defined in RFC2833). In most cases, when the media gateway is MRS6000 or MRS6100, select this option. For the other media gateways, if they support RFC2833, it is recommended to select this option, for it can improve the reliable transmission of the DTMF digital information in the IP network. This option also takes effect on the SoftX3000 functioning as the AGCF.
  214:         /// MGW support send tone: Indicates whether the media gateway supports tone sending. Generally, when the terminal subscribers of such voice media gateways as IAD and AMG use supplementary services such as call waiting, the SoftX3000 controls the MRS to play the call waiting tone to the subscribers. If the carrier expects that the SoftX3000 controls a media gateway to play the call waiting tone to the subscribers of this media gateway, you must select this option. This option does not take effect on the SoftX3000 functioning as the AGCF.
  215:         /// Support 2198: Indicates whether the media gateway supports RFC2198, that is, whether RTP payload (for example, RFC2833 packets) is transmitted between two media gateways in redundancy mode to improve the reliability of RTP payload transmission. If you select this option, when a media gateway sends the RTP payload, it will first packetize the RTP payload into primary packets and redundant packets and then send them to the IP network simultaneously. The recipient determines whether to use or discard them according to the time stamp in the packets. Generally, if a media gateway is MRS6000 or MRS6100, you need to select this option. For other media gateways, whether to select it depends on the actual situation. If a media gateway supports RFC2198, this option is recommended, for it benefits IN services. This option also takes effect on the SoftX3000 functioning as the AGCF.
  216:         /// AUEP E parameter: Indicates whether the E parameter is audited during the audit of the endpoint status. If the option is selected, the SoftX3000 audits the E parameter (ReasonCode, the reason code in the last command being restarted or the last command for deleting connection. The command is sent by the endpoint of the gateway). If the option is not selected, the SoftX3000 audits the R parameter (RequestedEvents, the current value of the request event being used by the endpoint of the gateway). When the SoftX3000 interconnects with a gateway manufactured by other companies (for example, Cisco), select this option according to the actual requirements. This option also takes effect on the SoftX3000 functioning as the AGCF.
  217:         /// Expand al star: Indicates whether to expand the al/* event. If the option is selected, the al/* event will be expanded to al/of, al/on, or al/fl when the gateway does not support the al/* event. If the gateway is manufactured by Huawei, do not select the option. If the gateway is manufactured by other companies (for example, Nortel), select the option according to the actual requirements. This option also takes effect on the SoftX3000 functioning as the AGCF.
  218:         /// Expand tonedet: Indicates whether to expand the tonedet packet. If the option is selected, the SoftX3000 sends number receiving events in tonedet/std packets one by one to the gateway. If it is not selected, the SoftX3000 sends number receiving events in dd/std packets one by one to the gateway. When using Huawei gateway, you should not select this option; when using the gateway of other companies (like Nortel), you should select this option according to the actual conditions. This option also takes effect on the SoftX3000 functioning as the AGCF.
  219:         /// Support mg as heartbeats TID: It supports treating endpoint "mg" as the EndpointId of a heartbeat message. The attribute is only valid for the MGCP gateway. This option also takes effect on the SoftX3000 functioning as the AGCF.
  220:         /// No send heartbeat event detect: Indicates that the SoftX3000 does not send a heartbeat event detect message to the gateway. This option also takes effect on the SoftX3000 functioning as the AGCF.
  221:         /// Send g/cause event detect: Indicates that the SoftX3000 sends the g/cause event detect. This applies to H.248 gateway only. This option also takes effect on the SoftX3000 functioning as the AGCF.
  222:         /// Support H248 V2 protocol: Indicates that the SoftX3000 supports the H.248 protocol version 2. This option also takes effect on the SoftX3000 functioning as the AGCF.
  223:         /// Not support H248 version negotiation: Indicates that the SoftX3000 does not support the negotiation with H.248 version. This option also takes effect on the SoftX3000 functioning as the AGCF.
  224:         /// Support L package: Indicates whether the SoftX3000 supports sending L/rt, L/cg, and L/cf packages. When this option is selected, it indicates that the SoftX3000 sends ringback tone event to the media gateway in L/rt package, confirmation tone event in L/cf package, congestion tone event in L/cg package; otherwise, the SoftX3000 sends the ringback tone event in G/rt, confirmation tone event in G/cf package, congestion tone event in G/cg package. When the media gateway is an MTA (for instance, one made by Motorola), you can select this option according to actual requirements; when the media gateway is of other types, do not select this option. This option does not take effect on the SoftX3000 serving as the AGCF.
  225:         /// Support All Trace for 3015: Indicates whether to support RFC3015 when the SoftX3000 sends the All trace message to the UMG. If it is selected, the SoftX3000 complies with RFC3015 when it sends the All trace message to the UMG. If it is not selected, the SoftX3000 complies with RFC3525 when it sends the All trace message to the UMG. When the UMG protocol stack complies with RFC3015 and the text format is used, select this item. In other cases, this parameter is invalid. This option also takes effect on the SoftX3000 that functions as the AGCF.
  226:         /// Support MWI Voice Tone: This parameter is valid for the H.248 gateway. It specifies whether the gateway supports the message waiting indication service. If yes, the subscriber hears the message indication upon off-hook when there is a message. If not, the subscriber hears the special dial tone. By default, the gateway does not support the message waiting indication service. This option also takes effect on the SoftX3000 functioning as the AGCF.
  227:         /// Support global digitmap: Indicates whether to support global digitmap. It is valid only for H.248 gateways. By default, global digitmap is not supported. This option does not take effect on the SoftX3000 functioning as the AGCF.
  228:         /// Support bearer quality sample: Indicates whether to support bearer quality sample. It is valid only for H.248 gateways. By default, bearer quality sample is not supported. This option does not take effect and must not be selected on the SoftX3000 functioning as the AGCF.
  229:         /// Support bearer quality monitor: Indicates whether to support bearer quality monitor. By default, such mini-gateways as IAD and MTA do not support bearer quality monitor, while main-gateways such as UMG, AMG, TMG, and MRS support bearer quality monitor. Each FCCU/UACU/AGCU can allow a maximum of 60 gateways to support the bearer quality monitor function. If the number of AMGs exceeds the upper limit, those important or typical AMGs will be selected to support the function. This option also takes effect on the SoftX3000 functioning as the AGCF.
  230:         /// Support FXR/t38: Indicates whether the MGCP gateway uses the fxr/t38 event, g/ft event, or g/fe event to send the fax event. By default, the MGCP gateway uses the g/ft event or g/fe event. If this option is selected, the MGCP gateway uses the fxr/t38 event. This option also takes effect on the SoftX3000 functioning as the AGCF.
  231:         /// MGCP standard mwi: Indicates whether to send L/mwi.
  232:         /// If this option is not selected, when the dialing tone CRO_TID_MESSAGE_WAITING_TONE is required at the subscriber side, the SoftX3000 sends L/s (001) according to the extended tone message dial type.
  233:         /// If this option is selected, when the dialing tone CRO_TID_MESSAGE_WAITING_TONE is required at the subscriber side, it sends the dialing tone L/mwi according to the standard tone message dial type based on the MGCP protocol. This option also takes effect on the SoftX3000 functioning as the AGCF.
  234:         /// Support xdd package: This parameter is valid for the H.248 gateway. It specifies whether the gateway supports the xdd package. If yes, the SoftX3000 sends the xdd package to the gateway when sending the digit allocation event, so that the gateway can collect digits in the xdd mode. By default, the gateway does not support the xdd package. In the digit map that supports the xdd package, "." cannot be used to end the digit map. This option also takes effect on the SoftX3000 functioning as the AGCF.
  235:         /// G711 support silence suppress: Indicates whether G711 supports silence suppression. By default, G711 does not support silence suppression. This option also takes effect on the SoftX3000 functioning as the AGCF.
  236:         /// G723 support silence suppress: Indicates whether G723 supports silence suppression. By default, G723 supports silence suppression. This option also takes effect on the SoftX3000 functioning as the AGCF.
  237:         /// G726 support silence suppress: Indicates whether G7263 supports silence suppression. By default, G726 does not support silence suppression. This option also takes effect on the SoftX3000 functioning as the AGCF.
  238:         /// G729 support silence suppress: Indicates whether G729 supports silence suppression. By default, G729 supports silence suppression. This option also takes effect on the SoftX3000 functioning as the AGCF.
  239:         /// Using G729A: Indicates whether G729A or G729B is used when the coding scheme is G729. By default, G729B is used. This option also takes effect on the SoftX3000 functioning as the AGCF.
  240:         /// Support MGCP Package B: Indicates whether to support MGCP package B. It is valid only for MGCP gateways. If MGCP package B is supported, the SoftX3000 sends package B to an MGCP gateway to inform the gateway of the permanent events to be detected during gateway registration or gateway recovery from fault. By default, MGCP package B is not supported. This option also takes effect on the SoftX3000 functioning as the AGCF.
  241:         /// Support Acceptance Tone: Indicates whether the gateway supports playing the Acceptance Tone. By default, the gateway does not support playing the Acceptance Tone. Only the H.248 gateways can be configured to play the Acceptance Tone. This option does not take effect on the SoftX3000 functioning as the AGCF.
  242:         /// Return 250 in DLCX response: Indicates whether the SoftX3000 sends a 250 message after receiving the DLCX message from the gateway. By default, the SoftX3000 sends a 200 message instead of 250 message. This option also takes effect on the SoftX3000 functioning as the AGCF.
  243:         /// Support Delete Connect Parameter in DLCX Message: Indicates whether to delete the Connect parameter from the DLCX message. This option is reserved.
  244:         /// Use UMG Enhance Trace: Indicates whether the UMG gateway enables the UMG enhanced trace. By default, the UMG does not enable the UMG enhanced trace. Only UMG can be configured to enable the UMG enhanced trace. This option does not take effect and must not be selected on the SoftX3000 functioning as the AGCF.
  245:         /// Fax EC Control: Indicates the sending mode of the EC parameter in V3 fax flow. It is valid only when the fax uses the V3 flow and the EC parameter must be sent. When Fax EC Control is selected, the SoftX3000 sets EC to ON for low-speed fax and sets EC to OFF for high-speed modem. When Fax EC Control is not selected, the SoftX3000 sets EC to OFF for both low-speed fax and high-speed modem. Configure this option based on the actual requirement. Note that this attribute is used only in the V3 fax flow. For gateways using MGCP, especially those manufactured by Huawei, it is recommended Fax EC Control is not selected. This is because the SoftX3000 has the following agreement with the AG, UMG, TMG, and IAD of Huawei: For V3 flow, the SoftX3000 sends s:off,e:off for fax and s:off,e:off for modem. This option also takes effect on the SoftX3000 functioning as the AGCF.
  246:         /// Support announcement: Indicates whether the gateway supports playing the fixed announcement. This option also takes effect on the SoftX3000 functioning as the AGCF.
  247:         /// Support edd package: Indicates whether the gateway supports digit collection through edd packages. It is valid only for H.248 gateways. By default, the gateway does not support digit collection through edd packages. If digit collection through xdd packages and edd packages is configured, the digit collection through edd packages has higher priority. This option also takes effect on the SoftX3000 functioning as the AGCF.
  248:         /// Support rtp/pltrans event: Indicates whether the gateway supports rtp/pltrans event detection. It is valid only for H.248 gateways. By default, the gateway does not support rtp/pltrans event detection. This option does not take effect on the SoftX3000 functioning as the AGCF.
  249:         /// Support nt/netfail event: Indicates whether the gateway supports nt/netfail event detection. It is valid only for H.248 gateways. By default, the gateway does not support rtp/pltrans event detection. This option also takes effect on the SoftX3000 functioning as the AGCF.
  250:         /// Support New T38: Indicates whether the SoftX3000 sends the T38 parameters from the service end to the gateway. By default, this parameter is deselected. If this parameter is selected, the SoftX3000 sends the T38 parameters to the gateway. Otherwise, the SoftX3000 does not send the T38 parameters to the gateway but adopts the original processing flow. Before you select this parameter, check whether the gateway supports T38 parameters. If the gateway does not support T38 parameters, an error is returned, and the T38 parameters cannot be transmitted transparently. This option also takes effect on the SoftX3000 functioning as the AGCF.
  251:         /// Support first msg with VBD codec: Indicates whether the VBD codec is contained in the initial message of a basic call. By default, the VBD codec is not contained. This option does not take effect on the SoftX3000 functioning as the AGCF.
  252:         /// Support ANS control: When different gateways connected to the same type of softswitch communicate with each other in low-speed MODEM mode, the SoftX3000 uses this parameter for ANS control based on the gateway configuration. The gateways can be AGs, UMGs, or TGs. When the gateway adopts the H.248 protocol, Support ANS control is deselected by default. This option also takes effect on the SoftX3000 functioning as the AGCF.
  253:         /// Support static JitterBuffer: The service data transmission has different requirements on the delay from the ordinary call. When this option is selected, the SoftX3000, during the called number analysis, sends the specific JitterBuffer containing in the H.248 message for the specific prefix to the MGW. Based on the parameter sent from the SoftX3000, the MGW controls the data transmission. This option does not take effect on the SoftX3000 functioning as the AGCF.
  254:         /// Support New Calling Present Mode: This option controls the following functions: 
  255:         /// Calling number presentation mode. When this option is selected, the SoftX3000 does not send alert/cw during a CW call that requires the calling number to be displayed. When it is not selected, the SoftX3000 sends alert/cw during such a call.
  256:         /// The value of Pattern in CLIP and CIDCW services. When this option is not selected, the value range of Pattern, which is sent by the SoftX3000 during the alerting process, is 0-5. (When Pattern is 0, the SoftX3000 does not add Pattern in the outgoing message.) When this option is selected, the value range of Pattern is 1-6. This option also takes effect on the SoftX3000 functioning as the AGCF.
  257:         /// Support T.38 Codec SDP: Indicates how to encode T.38 in a T.38 fax call. By default, the system issues m=audio port RTP/AVP 98. If you select this option, the system issues m=image port udptl t38. This option also takes effect on the SoftX3000 functioning as the AGCF. (This option is applicable only to the gateways that use the MGCP protocol.)
  258:         /// Support H248.9: Indicates whether the gateway adopts the H.248.7 interface or the H.248.9 interface for announcement playing. If this option is selected and the gateway supports the H.248.9 protocol, the gateway plays announcements by using the H.248.9 protocol. If this option is not selected and the gateway supports the H.248.7 protocol, the gateway plays announcements by using the H.248.7 protocol. By default, the gateway plays announcements by using the H.248.7 protocol. It is recommended that this option is not selected on the SoftX3000 functioning as the AGCF.
  259:         /// Support G.168: Indicates whether the gateway supports G.168 for fax transmission. If this option is selected, the value of Special attributes is 1, indicating that the gateway supports G.168. By default, the gateway does not support G.168. This option also takes effect on the SoftX3000 functioning as the AGCF.
  260:         /// Support Optimization Register: Indicates that when the MGCP based media gateway registers with the SoftX3000, the SoftX3000 does not send the off-hook detection event to the terminations of the media gateway; when the H.248 based media gateway registers with the SoftX3000, the SoftX3000 does not send the off-hook detection event to the terminations of the media gateway but to the root termination. This option also takes effect on the SoftX3000 functioning as the AGCF.
  261:         /// Support Optimization Disconnected Register: Indicates that upon receiving the registration message that contains the service change method Disconnected sent from the media gateway, the SoftX3000 does not send the off-hook detection event and circuit audit event to the media gateway in case the media gateway is in the normal state. This option also takes effect on the SoftX3000 functioning as the AGCF.
  262:         /// CLIPNMODE does not Control Pattern: This option controls whether the value of Pattern sent by the SoftX3000 during the alerting process of the CLIP and CIDCW services is affected by whether Support New Calling Present Mode is selected.
  263:         /// If this option is not selected, the value of Pattern is affected by whether Support New Calling Present Mode is selected. When Support New Calling Present Mode is selected, the SoftX3000 sends alert/cw during a call and the value range of Pattern is 1-6.
  264:         /// If this option is selected, the value of Pattern is not affected by whether Support New Calling Present Mode is selected. When Support New Calling Present Mode is selected, the value range of Pattern is 0-5. When Pattern is 0, the SoftX3000 does not add Pattern in the outgoing message.
  265:         /// This option does not take effect on the SoftX3000 functioning as the AGCF.
  266:         /// Support Report By One Number: Indicates that the SoftX3000 sends digitmaps to the H.248 MGW to collect digits one by one. If this value option is selected, the first digitmap sent to the MGW is 1|2|3|4|5|6|7|8|9|0|E|F|A|D and the subsequent digitmap sent to the MGW is x|E|F by default. 
  267:         /// For different types of media gateways, different default values are set for the above-mentioned options. After adding a media gateway, you can query it by running LST MGW.
  268:         /// No default value
  269:         /// </summary>
  270:         public string UCATT { get; set; }
  271:  
  272:         /// <summary>
  273:         /// Encryption type: This parameter specifies whether to encrypt the protocol messages between the SoftX3000 and the media gateway, as well as the encryption type. 
  274:         /// The options are as follows:
  275:         /// MD5: Indicates that the protocol messages need to be encrypted and the MD5 encryption algorithm is adopted.
  276:         /// Diffie-Hellman: Indicates that the protocol messages need to be encrypted and the DH authentication algorithm is adopted.
  277:         /// IAH-MD5: Indicates that the H.248 messages need to be authenticated using the authentication header (AH) and encrypted using the MD5 encryption algorithm. This option is valid for H.248 gateway only.
  278:         /// IAH-SHA1: Indicates that the H.248 messages need to be authenticated using the AH and encrypted using the SHA1 encryption algorithm. This option is valid for H.248 gateway only.
  279:         /// Not supported: Indicates that the encryption is not supported.
  280:         /// Default value: Not supported
  281:         /// </summary>
  282:         public string ET { get; set; }
  283:  
  284:         /// <summary>
  285:         /// Security parameters index: It is an interworking parameter used when Encryption type" is set to IAH-MD5 or IAH-SHA1. The parameter entered must be a decimal character string.
  286:         /// If this parameter is null, the value mapping the IP address of the SoftX3000 is used.
  287:         /// Value range: 0-4294967295
  288:         /// No default value
  289:         /// </summary>
  290:         public long SPI { get; set; }
  291:  
  292:         /// <summary>
  293:         /// Key: This parameter specifies the key for the MD5 encryption algorithm or the DH authentication algorithm when MGCP/H.248 messages exchanged between the SoftX3000 and a media gateway need to be encrypted. It is a string of 8 to 16 characters (eight characters at least).
  294:         /// When H.248 messages are authenticated based on the AH, if the MD5 encryption algorithm is used, the key must be a string of 16 characters; if the SHA1 encryption algorithm is used, the key must be a string of 20 characters.
  295:         /// To increase the password complexity, the password must contain at least two types of the following characters:
  296:         /// A lower-case letter.
  297:         /// An upper-case letter.
  298:         /// A digit.
  299:         /// A special character, including grave (`), swung dash (~), exclamation mark (!), at sign (@), number sign (#), dollar sign ($), percent (%), caret (^), ampersand (&), asterisk (*), parentheses (( )), hyphen (-), underscore (_), plus sign (+), vertical bar (|), brackets ([ ]), braces ({ }), colon (:), angle brackets (< >), period (.), slash (/), question mark (?), and space ( ).
  300:         /// NOTE: 
  301:         /// Note that a simple password poses security risks to the system. Therefore, exercise caution when setting the password.
  302:         /// Value: a string of up to 20 characters
  303:         /// No default value
  304:         /// </summary>
  305:         public string KEY { get; set; }
  306:  
  307:         /// <summary>
  308:         /// Resource capability: This parameter specifies the capability of an interface of the MRS, that is, to specify what resource devices the interface can support. It is valid only when Gateway type is set to Universal media gateway or Media resource server.
  309:         /// The options are as follows:
  310:         /// Tone: basic tone and ordinary service voice.
  311:         /// Play Tone: Variable tones and intelligent service voice.
  312:         /// Send DTMF: Sending DTMF signal tone.
  313:         /// Detect DTMF: Detecting DTMF signal tone (equivalent to DTMF digit receiving resources)
  314:         /// Multiparty: Multi-party conversation.
  315:         /// No default value
  316:         /// </summary>
  317:         public string CAPABILITY { get; set; }
  318:  
  319:         /// <summary>
  320:         /// Rate of tone: This parameter specifies the ratio of service tone resources. It is valid only when Gateway type is set to Universal media gateway or Media resource server.
  321:         /// When setting this parameter, note the following:
  322:         /// If the quantity of a kind of resources is set to 0, the MRS does not provide that kind of resources for the SoftX3000 or the MRS is not capable of providing that kind of resources.
  323:         /// If the quantity of a kind of resources is set to an integer rather than 0, the MRS provides that kind of resources for the SoftX3000. In this case, the MRS must be capable of providing that kind of resources; otherwise, the SoftX3000 may fail to allocate the MRS resources.
  324:         /// It is recommended to set the quantity of a kind of resources on the SoftX3000 to the number of that kind of resources the MRS is capable of providing. If what you set is less than the number of that kind of resources the MRS is capable of providing, the resource capability of the MRS is not used fully. If what you set is greater than the number of that kind of resources the MRS is capable of providing, the SoftX3000 may fail to allocate the MRS resources.
  325:         /// When the SoftX3000 controls more than two MRSs, the softswitch shall select a certain proportion of resources among them. Assume that three MRSs can provide service tone resources, among which MRS1 can provide 100 such resources, MRS2 can provide 200 such resources, and MRS3 can provide 300 such resources. Generally, the probability is 1/6 that the MRS1 is selected by the SoftX3000, 2/6 for MRS2, and 3/6 for MRS3. when all resources of MRS3 are occupied, the probability of MRS1 is 1/3 and MRS2 is 2/3, and so on.
  326:         /// Value range: 0-99999
  327:         /// Default value: 100
  328:         /// </summary>
  329:         public int RATEOFTONE { get; set; }
  330:  
  331:         /// <summary>
  332:         /// Rate of MPTY: This parameter specifies the ratio of conference resources. It is valid only when Gateway type is set to Universal media gateway or Media resource server.
  333:         /// When setting this parameter, note the following:
  334:         /// If the quantity of a kind of resources is set to 0, the MRS does not provide that kind of resources for the SoftX3000 or the MRS is not capable of providing that kind of resources.
  335:         /// If the quantity of a kind of resources is set to an integer rather than 0, the MRS provides that kind of resources for the SoftX3000. In this case, the MRS must be capable of providing that kind of resources; otherwise, the SoftX3000 may fail to allocate the MRS resources.
  336:         /// It is recommended to set the quantity of a kind of resources on the SoftX3000 to the number of that kind of resources the MRS is capable of providing. If what you set is less than the number of that kind of resources the MRS is capable of providing, the resource capability of the MRS is not used fully. If what you set is greater than the number of that kind of resources the MRS is capable of providing, the SoftX3000 may fail to allocate the MRS resources.
  337:         /// When the SoftX3000 controls more than two MRSs, the softswitch shall select a certain proportion of resources among them. Assume that three MRSs can provide conference resources, among which MRS1 can provide 100 such resources, MRS2 can provide 200 such resources, and MRS3 can provide 300 such resources. Generally, the probability is 1/6 that the MRS1 is selected by the SoftX3000, 2/6 for MRS2, and 3/6 for MRS3. when all resources of MRS3 are occupied, the probability of MRS1 is 1/3 and MRS2 is 2/3, and so on.
  338:         /// Value range: 0-99999
  339:         /// Default value: 100
  340:         /// </summary>
  341:         public int RATEOFMPTY { get; set; }
  342:  
  343:         /// <summary>
  344:         /// Rate of detect DTMF: This parameter specifies the ratio of DTMF detection resources. It is valid only when Gateway type is set to Universal media gateway or Media resource server.
  345:         /// When setting this parameter, note the following:
  346:         /// If the quantity of a kind of resources is set to 0, the MRS does not provide that kind of resources for the SoftX3000 or the MRS is not capable of providing that kind of resources.
  347:         /// If the quantity of a kind of resources is set to an integer rather than 0, the MRS provides that kind of resources for the SoftX3000. In this case, the MRS must be capable of providing that kind of resources; otherwise, the SoftX3000 may fail to allocate the MRS resources.
  348:         /// It is recommended to set the quantity of a kind of resources on the SoftX3000 to the number of that kind of resources the MRS is capable of providing. If what you set is less than the number of that kind of resources the MRS is capable of providing, the resource capability of the MRS is not used fully. If what you set is greater than the number of that kind of resources the MRS is capable of providing, the SoftX3000 may fail to allocate the MRS resources.
  349:         /// When the SoftX3000 controls more than two MRSs, the softswitch shall select a certain proportion of resources among them. Assume that three MRSs can provide DTMF detection resources, among which MRS1 can provide 100 such resources, MRS2 can provide 200 such resources, and MRS3 can provide 300 such resources. Generally, the probability is 1/6 that the MRS1 is selected by the SoftX3000, 2/6 for MRS2, and 3/6 for MRS3. when all resources of MRS3 are occupied, the probability of MRS1 is 1/3 and MRS2 is 2/3, and so on.
  350:         /// Value range: 0-99999
  351:         /// Default value: 100
  352:         /// </summary>
  353:         public int RATEOFDETECTDTMF { get; set; }
  354:  
  355:         /// <summary>
  356:         /// Rate of send DTMF: This parameter specifies the ratio of DTMF sending resources. It is valid only when Gateway type is set to Universal media gateway or Media resource server.
  357:         /// When setting this parameter, note the following:
  358:         /// If the quantity of a kind of resources is set to 0, the MRS does not provide that kind of resources for the SoftX3000 or the MRS is not capable of providing that kind of resources.
  359:         /// If the quantity of a kind of resources is set to an integer rather than 0, the MRS provides that kind of resources for the SoftX3000. In this case, the MRS must be capable of providing that kind of resources; otherwise, the SoftX3000 may fail to allocate the MRS resources.
  360:         /// It is recommended to set the quantity of a kind of resources on the SoftX3000 to the number of that kind of resources the MRS is capable of providing. If what you set is less than the number of that kind of resources the MRS is capable of providing, the resource capability of the MRS is not used fully. If what you set is greater than the number of that kind of resources the MRS is capable of providing, the SoftX3000 may fail to allocate the MRS resources.
  361:         /// When the SoftX3000 controls more than two MRSs, the softswitch shall select a certain proportion of resources among them. Assume that three MRSs can provide DTMF sending resources, among which MRS1 can provide 100 such resources, MRS2 can provide 200 such resources, and MRS3 can provide 300 such resources. Generally, the probability is 1/6 that the MRS1 is selected by the SoftX3000, 2/6 for MRS2, and 3/6 for MRS3. when all resources of MRS3 are occupied, the probability of MRS1 is 1/3 and MRS2 is 2/3, and so on.
  362:         /// Value range: 0-99999
  363:         /// Default value: 100
  364:         /// </summary>
  365:         public int RATEOFSENDDTMF { get; set; }
  366:  
  367:         /// <summary>
  368:         /// Minimum termination ID: This parameter specifies the minimum termination resources ID on the specified MRS that are available for the SoftX3000. It is valid only when Gateway type is set to Media resource server.
  369:         /// For example, an MRS has 1000 termination resources (such as voices and DTMF digit receivers), its prefix of termination ID is not defined hierarchically, and its interface name is ms/cnf. Assuming that its termination ID range is ms/cnf/1 to ms/cnf/1000: if you set Minimum termination ID to 10 and Maximum termination ID to 99, only the termination resources in the range from ms/cnf/10 to ms/cnf/99 can be used by the SoftX3000.
  370:         /// Value range: 1-65535
  371:         /// Default value: 1
  372:         /// </summary>
  373:         public int MINTERMID { get; set; }
  374:  
  375:         /// <summary>
  376:         /// Maximum termination ID: This parameter specifies the maximum termination resources ID on the specified MRS that are available for the SoftX3000. It is valid only when Gateway type is set to Media resource server.
  377:         /// For example, an MRS has 1000 termination resources (such as voices and DTMF digit receivers), its prefix of termination ID is not defined hierarchically, and its interface name is ms/cnf. Assuming that its termination ID range is ms/cnf/1 to ms/cnf/1000: if you set Minimum termination ID to 10 and Maximum termination ID to 99, only the termination resources in the range from ms/cnf/10 to ms/cnf/99 can be used by the SoftX3000.
  378:         /// Value range: 1-65535
  379:         /// Default value: 400
  380:         /// </summary>
  381:         public int MAXTERMID { get; set; }
  382:  
  383:         /// <summary>
  384:         /// Termination allocated by MRS: This parameter specifies whether the termination resources are managed by the MRS or the SoftX3000. For external MRS (for example, MRS6000 or MRS6100), it is set to False in most cases, but can also be set to True. It is valid only when Gateway type is set to Media resource server.
  385:         /// Default value: False
  386:         /// </summary>
  387:         public string CHOICE { get; set; }
  388:  
  389:         /// <summary>
  390:         /// TDMIFC1-TDMIFC16: TDM termination ID prefix index 1-TDM termination ID prefix index 16: This parameter specifies how a media gateway defines the TDM termination IDs such as user ports, circuit timeslots, digital and voice channels. This parameter must be defined by running ADD TIDLAY before being referenced.
  391:         /// If the gateway adopts MGCP and the gateway type is MRS, the default value of this parameter is 3, indicating that the TDM TID (this is, the interface name) is ms/cnf/. Otherwise, the default value is 2, indicating that the TDM TID is aaln/.
  392:         /// If the gateway adopts H.248 and the default value of TDM termination ID prefix index 1 is 0, indicating that the TDM TID is A. The default value for other parameters is 65535, indicating that the other parameters are invalid.
  393:         /// Note the following:
  394:         /// Configure the interfaces in sequence, for example, configure interface 1 and then interface 2.
  395:         /// Ensure that each interface of the same gateway has a unique TDM termination ID prefix index.
  396:         /// Value range:
  397:         /// TDM termination ID prefix index 1: 0-4999
  398:         /// TDM termination ID prefix index 2-TDM termination ID prefix index 16: 0-65535
  399:         /// Default value: 
  400:         /// TDM termination ID prefix index 1: No default value
  401:         /// TDM termination ID prefix index 2-TDM termination ID prefix index 16: 65535
  402:         /// </summary>
  403:         public string TDMIFC1 { get; set; }
  404:         public string TDMIFC2 { get; set; }
  405:         public string TDMIFC3 { get; set; }
  406:         public string TDMIFC4 { get; set; }
  407:         public string TDMIFC5 { get; set; }
  408:         public string TDMIFC6 { get; set; }
  409:         public string TDMIFC7 { get; set; }
  410:         public string TDMIFC8 { get; set; }
  411:         public string TDMIFC9 { get; set; }
  412:         public string TDMIFC10 { get; set; }
  413:         public string TDMIFC11 { get; set; }
  414:         public string TDMIFC12 { get; set; }
  415:         public string TDMIFC13 { get; set; }
  416:         public string TDMIFC14 { get; set; }
  417:         public string TDMIFC15 { get; set; }
  418:         public string TDMIFC16 { get; set; }
  419:  
  420:         /// <summary>
  421:         /// RTP termination ID prefix index: This parameter specifies how a media gateway defines the RTP termination IDs. This parameter must be defined by running ADD TIDLAY before being referenced. By default, it is 1, indicating that the RTP TID of the media gateway is RTP/.
  422:         /// </summary>
  423:         public string RTPIFC { get; set; }
  424:  
  425:         /// <summary>
  426:         /// Master/Slave type: This parameter specifies whether the data record defined in the command belongs to the local office or the assistant office.
  427:         /// The options are as follows:
  428:         /// Master: Indicates that the data record belongs to the local office and is always valid.
  429:         /// Slave: Indicates that the data record belongs to the assistant office and is valid only when the local office is operating in the mutual assistance active state.
  430:         /// The default option of the parameter is Master, indicating this record of data belongs to the local office. When you want to configure dual-homing data for the assistant office, this parameter is set to Slave.
  431:         /// Default value: Slave
  432:         /// </summary>
  433:         public string MSTYPE { get; set; }
  434:  
  435:         /// <summary>
  436:         /// User rate: This parameter is reserved.
  437:         /// Value range: 0-255
  438:         /// No default value
  439:         /// </summary>
  440:         public int USRRATE { get; set; }
  441:  
  442:         /// <summary>
  443:         /// Origin IP domain: This parameter specifies the home IP domain number assigned by the carrier to the MGW for the non-roaming IP address segment. By default, it is 65535, indicating that the parameter is invalid. That is, the system does not start the roaming control procedure for the registration request of the MGW. If it is necessary to start the roaming control procedure for the registration request of the MGW, you must enter a valid value. This parameter must be defined by ADD IPSEG before being referenced.
  444:         /// Value range: 0-65535
  445:         /// Default value: 65535
  446:         /// </summary>
  447:         public int OIPDM { get; set; }
  448:  
  449:         /// <summary>
  450:         /// Enhanced voice attibutes: This parameter specifies the enhanced voice attributes.
  451:         /// The options are as follows:
  452:         /// Acoustic echo counteract: It means supporting the acoustic echo counteracting.
  453:         /// Noise compensate: It means supporting the noise compensation.
  454:         /// Noise removing: It means supporting the removal of noise.
  455:         /// Auto gain control: It means supporting the control of auto gain.
  456:         /// </summary>
  457:         public string ENVOICEATTR { get; set; }
  458:  
  459:         /// <summary>
  460:         /// Reserve parameter 1: This parameter is reserved in the system.
  461:         /// </summary>
  462:         public string RATEOFRECORD { get; set; }
  463:  
  464:         /// <summary>
  465:         /// Override dynamic IP: This parameter specifies whether the IP address of the new MGW is prior to the dynamic IP address of the configured MGW.
  466:         /// Suppose you need to add or modify MGW A that uses a static or dynamic IP address. You have set MGW B in the database that uses a dynamic IP address. When the system finds that the IP address of MGW A is the same as the dynamic IP address of MGW B, and you have set this parameter to False, the system will not allow you to add or modify MGW A; if you have set this parameter to True, the system will allow you to add or modify MGW A.
  467:         /// Default value: False
  468:         /// </summary>
  469:         public string OWDYNA { get; set; }
  470:  
  471:         /// <summary>
  472:         /// TOS value: This parameter specifies the service type configured in a gateway. When sending a signaling message, you need to set TOS of the IP message packet.
  473:         /// Value: a string of up to 32 characters
  474:         /// No default value
  475:         /// </summary>
  476:         public string TOS { get; set; }
  477:  
  478:         /// <summary>
  479:         /// E2E Trace: This parameter specifies whether the gateway supports E2E trace flag.
  480:         /// The options are as follows:
  481:         /// Not supported
  482:         /// Supported
  483:         /// Default value: Not supported
  484:         /// </summary>
  485:         public string E2ET { get; set; }
  486:  
  487:         /// <summary>
  488:         /// Preference MRS 1: This parameter specifies the first preference MRS used to play announcements for the gateway. It is valid only when Gateway type is set to a value other than Media resource server. The value entered for this option is the equipment ID of the MRS. A maximum of three preference MRSs can be configured. Each of the preference MRS must be unique and must be configured in the sequence of preference MRS 1, preference MRS 2, and preference MRS 3.
  489:         /// Value range: 0-255
  490:         /// Default value: 255
  491:         /// </summary>
  492:         public int PREMRS1 { get; set; }
  493:  
  494:         /// <summary>
  495:         /// Preference MRS 2: This parameter specifies the second preference MRS used to play announcements for the gateway. It is valid only when Gateway type is set to a value other than Media resource server. The value entered for this option is the equipment ID of the MRS. A maximum of three preference MRSs can be configured. Each of the preference MRS must be unique and must be configured in the sequence of preference MRS 1, preference MRS 2, and preference MRS 3.
  496:         /// Value range: a string of up to 32 characters
  497:         /// No default value
  498:         /// </summary>
  499:         public string PREMRS2 { get; set; }
  500:  
  501:         /// <summary>
  502:         /// Preference MRS 3: This parameter specifies the third preference MRS used to play announcements for the gateway. It is valid only when Gateway type is set to a value other than Media resource server. The value entered for this option is the equipment ID of the MRS. A maximum of three preference MRSs can be configured. Each of the preference MRS must be unique and must be configured in the sequence of preference MRS 1, preference MRS 2, and preference MRS 3.
  503:         /// Value range: a string of up to 32 characters
  504:         /// No default value
  505:         /// </summary>
  506:         public string PREMRS3 { get; set; }
  507:  
  508:         /// <summary>
  509:         /// Global AG ID: This parameter specifies the global AG ID. That is, the ID of an AMG in the pre-IMS structure. It is valid only when Gateway type is set to Access gateway.
  510:         /// Value range: a string of up to 32 characters
  511:         /// No default value
  512:         /// </summary>
  513:         public string AGID { get; set; }
  514:  
  515:         /// <summary>
  516:         /// IMS AG Flag: This parameter specifies whether the AG added belongs to the IMS structure. The options are as follows:
  517:         /// True: Indicates that the AG added belongs to the IMS structure.
  518:         /// False: Indicates that the AD added does not belong to the IMS structure.
  519:         /// Default value: False
  520:         /// </summary>
  521:         public bool IMSFLAG { get; set; }
  522:  
  523:         /// <summary>
  524:         /// Single AG switch flag: This parameter specifies whether the gateway supports single AG switchover. It is valid only when Gateway type is set to Access gateway or Universal media gateway.
  525:         /// The options are as follows:
  526:         /// Home To Peer: The gateway is primarily controlled by the peer softswitch.
  527:         /// Home To Own: The gateway is primarily controlled by the local softswitch.
  528:         /// Not Supported: Single AG switchover is not supported.
  529:         /// Default value: Not Supported
  530:         /// </summary>
  531:         public string MMFLAG { get; set; }
  532:  
  533:         /// <summary>
  534:         /// CMTS Index: This parameter specifies the Cable Modem Termination System (CMTS) that the MTA is correlated to the network element (NE) CMS. It is valid only when Gateway type is set to Media terminal adaptor. The parameter must be defined by running ADD CMTS before being referenced. When the parameter is set to 65535, the MTA does not belong to the CMS.
  535:         /// Value range: 0-65535
  536:         /// No default value
  537:         /// </summary>
  538:         public int CMTSIDX { get; set; }
  539:  
  540:         /// <summary>
  541:         /// RTP Type: This parameter specifies the type of RTP supported by the MGW. It is valid only when Gateway type is set to Media terminal adaptor.
  542:         /// The options are as follows:
  543:         /// Supported RTP: Indicates that the RTP is supported by the MGW.
  544:         /// Supported RTP-S: Indicates that TTP-S is supported by the MGW. The maximum length of RTP-S packages is two bytes greater than that of RTP packages.
  545:         /// Default value: Supported RTP
  546:         /// </summary>
  547:         public string RTPTYPE { get; set; }
  548:  
  549:         /// <summary>
  550:         /// Activity GATE counter: This parameter specifies the maximum number of gates that can be allocated by the MTA under the NE CMS. It is valid only when Gateway type is set to Media terminal adaptor.
  551:         /// Value range: 0-65535
  552:         /// Default value: 65535
  553:         /// </summary>
  554:         public int ACTGATENUM { get; set; }
  555:  
  556:         /// <summary>
  557:         /// Media Stream Security: This parameter specifies whether the MTA supports the media stream security parameter. It is valid only when Gateway type is set to Media terminal adaptor.
  558:         /// The options are as follows:
  559:         /// No supported
  560:         /// Supported
  561:         /// Default value: Supported
  562:         /// </summary>
  563:         public string MEDSSEC { get; set; }
  564:  
  565:         /// <summary>
  566:         /// RTP Security Parameter: This parameter specifies the RTP security parameters supported by the MTA. It is valid only when Gateway type is set to Media terminal adaptor and Media Stream Security is set to Supported. The priority level is sequenced in descending order.
  567:         /// The default value is as follows:
  568:         /// For RTP Security Parameter 1, the default value is MMH2AES.
  569:         /// For RTP Security Parameter 2, the default value is MMH4AES.
  570:         /// For RTP Security Parameter 3, the default value is NULLNULL.
  571:         /// For RTP Security Parameter 4 to RTP Security Parameter 13, there is no default value.
  572:         /// </summary>
  573:         public string RTPSECPARA1 { get; set; }
  574:         public string RTPSECPARA2 { get; set; }
  575:         public string RTPSECPARA3 { get; set; }
  576:         public string RTPSECPARA4 { get; set; }
  577:         public string RTPSECPARA5 { get; set; }
  578:         public string RTPSECPARA6 { get; set; }
  579:         public string RTPSECPARA7 { get; set; }
  580:         public string RTPSECPARA8 { get; set; }
  581:         public string RTPSECPARA9 { get; set; }
  582:         public string RTPSECPARA10 { get; set; }
  583:         public string RTPSECPARA11 { get; set; }
  584:         public string RTPSECPARA12 { get; set; }
  585:         public string RTPSECPARA13 { get; set; }
  586:  
  587:         /// <summary>
  588:         /// RTCP Security Parameter: This parameter specifies the RTCP security parameters supported by the MTA. It is valid only when Gateway type is set to Media terminal adaptor and Media Stream Security is set to Supported. The priority level is sequenced in descending order. 
  589:         /// The default value is as follows:
  590:         /// For RTCP Security Parameter 1, the default value is HMACSHA196AESCBC.
  591:         /// For RTCP Security Parameter 2, the default value is NULLNULL.
  592:         /// For RTCP Security Parameter 3 to RTCP Security Parameter 11, there is no default value.
  593:         /// </summary>
  594:         public string RTCPSECPARA1 { get; set; }
  595:         public string RTCPSECPARA2 { get; set; }
  596:         public string RTCPSECPARA3 { get; set; }
  597:         public string RTCPSECPARA4 { get; set; }
  598:         public string RTCPSECPARA5 { get; set; }
  599:         public string RTCPSECPARA6 { get; set; }
  600:         public string RTCPSECPARA7 { get; set; }
  601:         public string RTCPSECPARA8 { get; set; }
  602:         public string RTCPSECPARA9 { get; set; }
  603:         public string RTCPSECPARA10 { get; set; }
  604:         public string RTCPSECPARA11 { get; set; }
  605:  
  606:         /// <summary>
  607:         /// Not Authentication MG: This parameter specifies whether the MGW is authenticated by Huawei.
  608:         /// The options are as follows:
  609:         /// No: Indicates that the MGW is authenticated by Huawei.
  610:         /// Yes: Indicates that the MGW is not authenticated by Huawei.
  611:         /// Default value: Yes
  612:         /// </summary>
  613:         public bool NOTHWDEV { get; set; }
  614:  
  615:         /// <summary>
  616:         /// Mix voice flag: This parameter specifies whether the gateway has the audio mixing capability. 
  617:         /// The options are as follows:
  618:         /// NO: Indicates that the gateway does not have the audio mixing capability.
  619:         /// YES: Indicates that the gateway has the audio mixing capability.
  620:         /// Default value: NO
  621:         /// </summary>
  622:         public bool MIXVOICE { get; set; }
  623:  
  624:         /// <summary>
  625:         /// Root Packge: This parameter specifies whether the gateway supports ROOT packages. It is valid only for H.248 gateways.
  626:         /// The options are as follows:
  627:         /// Not Supported
  628:         /// Supported
  629:         /// Default value: Not Supported
  630:         /// </summary>
  631:         public string SUPROOTPKG { get; set; }
  632:  
  633:         /// <summary>
  634:         /// H248.11 flow control: This parameter specifies whether the gateway supports H.248.11 flow control. It is valid only when Gateway type is set to Universal media gateway.
  635:         /// The options are as follows:
  636:         /// Not supported
  637:         /// Supported
  638:         /// Default value: Not supported
  639:         /// </summary>
  640:         public string MGWFCFLAG { get; set; }
  641:  
  642:         /// <summary>
  643:         /// OverLoad object rate: This parameter specifies the targeted rate for the H.248.11 overload control. It is valid only when Gateway type is set to Universal media gateway and H248.11 flow control is set to supported.
  644:         /// Value range: 0-255
  645:         /// Default value: 5
  646:         /// </summary>
  647:         public int OBJRATE { get; set; }
  648:  
  649:         /// <summary>
  650:         /// OverLoad protect time: This parameter specifies the duration, in which the H.248.11 overload control mechanism is enabled. It is valid only when Gateway type is set to Universal media gateway and H248.11 flow control is set to supported.
  651:         /// Value range: 0-65535
  652:         /// Default value: 30
  653:         /// </summary>
  654:         public int PROTCTTM { get; set; }
  655:  
  656:         /// <summary>
  657:         /// VBD code mode: This parameter specifies whether the VBD codec uses the static PayLoad value or the dynamic PayLoad value.
  658:         /// The options are as follows:
  659:         /// VBD codec use dynamic payload value
  660:         /// VBD codec use static payload value
  661:         /// Default value: VBD codec use dynamic payload value
  662:         /// </summary>
  663:         public string VBDCODECMODE { get; set; }
  664:  
  665:         /// <summary>
  666:         /// MRS Codec list: This parameter specifies the codec capabilities supported by the media gateway. It is valid only when Gateway type is set to Media terminal adaptor.
  667:         /// When setting this parameter, note the following:
  668:         /// The codec list for a media gateway configured on the SoftX3000 must have intersections with the codec capabilities supported by the media gateway; otherwise, this media gateway cannot run normally.
  669:         /// Generally, the codec list for a media gateway configured on the SoftX3000 must be the same as the codec capabilities supported by the media gateway. If the carrier has higher requirements on voice and fax quality, select PCM A, PCM u, T.38, and CLEARMODE.
  670:         /// If you do not know the codec capabilities supported by a media gateway, select PCM A, PCM u, G.723.1, G.729, G.726, T.38 (MRS is not support T.38), and CLEARMODE.
  671:         /// The MRS supports the following codec capabilities: PCM A, PCM U, G729, G.723.1, G726, G726_40, G726_32, G726_24, and G726_16. Generally, PCM A, PCMU, G.723.1, G.729, or G.726 is selected.
  672:         /// For the UMG acting as VIG, select all codec types, or select PCM A, PCM u, G.723.1, AMR, H.261, H.263, and MPEG4.
  673:         /// The codec types iLBC and Speex are free and carriers do not need to pay for the license fee. You can configure the MGCP media gateway to support these two codec types; however, the SoftX3000 supports the processing of the two codec types only in H.248.
  674:         /// No default value
  675:         /// </summary>
  676:         public string MRSLISTOFCODEC { get; set; }
  677:  
  678:         /// <summary>
  679:         /// Heartbeat Times: This parameter specifies how many times the MGW heartbeat interval is as long as the default heartbeat interval. The value 255 is applicable only to the dynamic MGWs configured on the FCCU board. The value 255 indicates that the SoftX3000 determines how many times the heartbeat interval is as long as the default heartbeat interval based on the number of subscribers served by the MGW. If Heartbeat Times is set to 225 for an H.248 gateway, the SoftX3000 automatically calculates the silence period length.
  680:         /// The default value is 255 when the MGW supports the dynamic IP address and is configured on the FCCU board.
  681:         /// The default value is 5 when the MGW supports the dynamic IP address but is not configured on the FCCU board.
  682:         /// The default value is 1 when the MGW does not support the dynamic IP address.
  683:         /// The SoftX3000 automatically calculates the actual value of Heartbeat Times according to the following rules:
  684:         /// The actual value of Heartbeat Times is 6 when the number of subscribers ranges from 0 to 4.
  685:         /// The actual value of Heartbeat Times is 4 when the number of subscribers ranges from 5 to 64.
  686:         /// The actual value of Heartbeat Times is 2 when the number of subscribers ranges from 65 to 256.
  687:         /// The actual value of Heartbeat Times is 1 when the number of subscribers is greater than 256.
  688:         /// For details about how the SoftX3000 calculates the silence period length, see the description about bit 1 of P645.
  689:         /// Value range: 1-255
  690:         /// No default value
  691:         /// </summary>
  692:         public int HEARTBEATTIMES { get; set; }
  693:  
  694:         /// <summary>
  695:         /// MGW Group Number: This parameter specifies the number of the MGW group to which the MGW is added. It is valid only when Gateway type is set to Access gateway, Integrated access device, or Media terminal adaptor.
  696:         /// Value range: 0-65535
  697:         /// Default value: 65535
  698:         /// </summary>
  699:         public int MGWGROUPNO { get; set; }
  700:  
  701:         /// <summary>
  702:         /// IP Domain: This parameter specifies the IP domain to which the MGW belongs. It is valid only when Gateway type is set to Universal media gateway. The value of this parameter must be supported by the configuration of the UMG8900. If you want to set this parameter to a non-default value, the UMG8900 must have the corresponding bearer capability.
  703:         /// Value range: 0-999
  704:         /// Default value: 0
  705:         /// </summary>
  706:         public int IPDOMAIN { get; set; }
  707:  
  708:         /// <summary>
  709:         /// Audio codec prefer: This parameter specifies the codec preferred by subscribers or trunks (instructed by the SoftX3000 during call connection) for RTP audio media streams.
  710:         /// When setting this parameter. note the following:
  711:         /// The preferred codec must be defined in Codec list of this command.
  712:         /// This parameter can be configured for ESL, V5ESL, BRA, V5BRA, or PRA subscribers, and ISUP, TUP, PRA, or R2 trunks. If the subscribers or trunks are not configured with a preferred codec, the codec configured using this parameter is used.
  713:         /// If the subscribers or trunks are not configured with a preferred codec and this parameter is set to None, the SoftX3000 selects the codec on the top of the codec list configured for the MGW. You can run LST MGW to query the codecs configured for an MGW.
  714:         /// Default value: None.
  715:         /// </summary>
  716:         public string CP { get; set; }
  717:  
  718:         /// <summary>
  719:         /// Extend special attributes: This parameter specifies the special attributes of an MGW in a certain network. It is an extension of Special attributes and is still reserved.
  720:         /// </summary>
  721:         public string UCATTEX { get; set; }
  722:  
  723:         /// <summary/>
  724:         public virtual ICollection<Asbr> Asbrs { get; set; }
  725:  
  726:         /// <summary/>
  727:         public DateTime Created { get; set; }
  728:  
  729:         /// <summary/>
  730:         public DateTime Updated { get; set; }
  731:  
  732:         ////////////////////////////////////////////////////////////////////////////
  733:  
  734:         /// <summary>
  735:         ///
  736:         /// </summary>
  737:         public bool Equal(Ia.Ngn.Cl.Model.Huawei.Mgw b)
  738:         {
  739:             // below: this will not check the Id, Created, Updated fields
  740:             bool areEqual;
  741:  
  742:             if (this.EID != b.EID) areEqual = false;
  743:             else if (this.NetworkElement != b.NetworkElement) areEqual = false;
  744:             else if (this.GWTP != b.GWTP) areEqual = false;
  745:             else if (this.MGWDESC != b.MGWDESC) areEqual = false;
  746:             else if (this.MGCMODULENO != b.MGCMODULENO) areEqual = false;
  747:             else if (this.PTYPE != b.PTYPE) areEqual = false;
  748:             else if (this.LA != b.LA) areEqual = false;
  749:             else if (this.DYNIP != b.DYNIP) areEqual = false;
  750:             else if (this.RA1 != b.RA1) areEqual = false;
  751:             else if (this.RA2 != b.RA2) areEqual = false;
  752:             else if (this.RA3 != b.RA3) areEqual = false;
  753:             else if (this.RA4 != b.RA4) areEqual = false;
  754:             else if (this.RA5 != b.RA5) areEqual = false;
  755:             else if (this.RP != b.RP) areEqual = false;
  756:             else if (this.LISTOFCODEC != b.LISTOFCODEC) areEqual = false;
  757:             else if (this.MRSCAP != b.MRSCAP) areEqual = false;
  758:             else if (this.HAIRPIN != b.HAIRPIN) areEqual = false;
  759:             else if (this.EC != b.EC) areEqual = false;
  760:             else if (this.CODETYPE != b.CODETYPE) areEqual = false;
  761:             else if (this.UCATT != b.UCATT) areEqual = false;
  762:             else if (this.ET != b.ET) areEqual = false;
  763:             else if (this.SPI != b.SPI) areEqual = false;
  764:             else if (this.KEY != b.KEY) areEqual = false;
  765:             else if (this.CAPABILITY != b.CAPABILITY) areEqual = false;
  766:             else if (this.RATEOFTONE != b.RATEOFTONE) areEqual = false;
  767:             else if (this.RATEOFMPTY != b.RATEOFMPTY) areEqual = false;
  768:             else if (this.RATEOFDETECTDTMF != b.RATEOFDETECTDTMF) areEqual = false;
  769:             else if (this.RATEOFSENDDTMF != b.RATEOFSENDDTMF) areEqual = false;
  770:             else if (this.MINTERMID != b.MINTERMID) areEqual = false;
  771:             else if (this.MAXTERMID != b.MAXTERMID) areEqual = false;
  772:             else if (this.CHOICE != b.CHOICE) areEqual = false;
  773:             else if (this.TDMIFC1 != b.TDMIFC1) areEqual = false;
  774:             else if (this.TDMIFC2 != b.TDMIFC2) areEqual = false;
  775:             else if (this.TDMIFC3 != b.TDMIFC3) areEqual = false;
  776:             else if (this.TDMIFC4 != b.TDMIFC4) areEqual = false;
  777:             else if (this.TDMIFC5 != b.TDMIFC5) areEqual = false;
  778:             else if (this.TDMIFC6 != b.TDMIFC6) areEqual = false;
  779:             else if (this.TDMIFC7 != b.TDMIFC7) areEqual = false;
  780:             else if (this.TDMIFC8 != b.TDMIFC8) areEqual = false;
  781:             else if (this.TDMIFC9 != b.TDMIFC9) areEqual = false;
  782:             else if (this.TDMIFC10 != b.TDMIFC10) areEqual = false;
  783:             else if (this.TDMIFC11 != b.TDMIFC11) areEqual = false;
  784:             else if (this.TDMIFC12 != b.TDMIFC12) areEqual = false;
  785:             else if (this.TDMIFC13 != b.TDMIFC13) areEqual = false;
  786:             else if (this.TDMIFC14 != b.TDMIFC14) areEqual = false;
  787:             else if (this.TDMIFC15 != b.TDMIFC15) areEqual = false;
  788:             else if (this.TDMIFC16 != b.TDMIFC16) areEqual = false;
  789:             else if (this.RTPIFC != b.RTPIFC) areEqual = false;
  790:             else if (this.MSTYPE != b.MSTYPE) areEqual = false;
  791:             else if (this.USRRATE != b.USRRATE) areEqual = false;
  792:             else if (this.OIPDM != b.OIPDM) areEqual = false;
  793:             else if (this.ENVOICEATTR != b.ENVOICEATTR) areEqual = false;
  794:             else if (this.RATEOFRECORD != b.RATEOFRECORD) areEqual = false;
  795:             else if (this.OWDYNA != b.OWDYNA) areEqual = false;
  796:             else if (this.TOS != b.TOS) areEqual = false;
  797:             else if (this.E2ET != b.E2ET) areEqual = false;
  798:             else if (this.PREMRS1 != b.PREMRS1) areEqual = false;
  799:             else if (this.PREMRS2 != b.PREMRS2) areEqual = false;
  800:             else if (this.PREMRS3 != b.PREMRS3) areEqual = false;
  801:             else if (this.AGID != b.AGID) areEqual = false;
  802:             else if (this.IMSFLAG != b.IMSFLAG) areEqual = false;
  803:             else if (this.MMFLAG != b.MMFLAG) areEqual = false;
  804:             else if (this.CMTSIDX != b.CMTSIDX) areEqual = false;
  805:             else if (this.RTPTYPE != b.RTPTYPE) areEqual = false;
  806:             else if (this.ACTGATENUM != b.ACTGATENUM) areEqual = false;
  807:             else if (this.MEDSSEC != b.MEDSSEC) areEqual = false;
  808:             else if (this.RTPSECPARA1 != b.RTPSECPARA1) areEqual = false;
  809:             else if (this.RTPSECPARA2 != b.RTPSECPARA2) areEqual = false;
  810:             else if (this.RTPSECPARA3 != b.RTPSECPARA3) areEqual = false;
  811:             else if (this.RTPSECPARA4 != b.RTPSECPARA4) areEqual = false;
  812:             else if (this.RTPSECPARA5 != b.RTPSECPARA5) areEqual = false;
  813:             else if (this.RTPSECPARA6 != b.RTPSECPARA6) areEqual = false;
  814:             else if (this.RTPSECPARA7 != b.RTPSECPARA7) areEqual = false;
  815:             else if (this.RTPSECPARA8 != b.RTPSECPARA8) areEqual = false;
  816:             else if (this.RTPSECPARA9 != b.RTPSECPARA9) areEqual = false;
  817:             else if (this.RTPSECPARA10 != b.RTPSECPARA10) areEqual = false;
  818:             else if (this.RTPSECPARA11 != b.RTPSECPARA11) areEqual = false;
  819:             else if (this.RTPSECPARA12 != b.RTPSECPARA12) areEqual = false;
  820:             else if (this.RTPSECPARA13 != b.RTPSECPARA13) areEqual = false;
  821:             else if (this.RTCPSECPARA1 != b.RTCPSECPARA1) areEqual = false;
  822:             else if (this.RTCPSECPARA2 != b.RTCPSECPARA2) areEqual = false;
  823:             else if (this.RTCPSECPARA3 != b.RTCPSECPARA3) areEqual = false;
  824:             else if (this.RTCPSECPARA4 != b.RTCPSECPARA4) areEqual = false;
  825:             else if (this.RTCPSECPARA5 != b.RTCPSECPARA5) areEqual = false;
  826:             else if (this.RTCPSECPARA6 != b.RTCPSECPARA6) areEqual = false;
  827:             else if (this.RTCPSECPARA7 != b.RTCPSECPARA7) areEqual = false;
  828:             else if (this.RTCPSECPARA8 != b.RTCPSECPARA8) areEqual = false;
  829:             else if (this.RTCPSECPARA9 != b.RTCPSECPARA9) areEqual = false;
  830:             else if (this.RTCPSECPARA10 != b.RTCPSECPARA10) areEqual = false;
  831:             else if (this.RTCPSECPARA11 != b.RTCPSECPARA11) areEqual = false;
  832:             else if (this.NOTHWDEV != b.NOTHWDEV) areEqual = false;
  833:             else if (this.MIXVOICE != b.MIXVOICE) areEqual = false;
  834:             else if (this.SUPROOTPKG != b.SUPROOTPKG) areEqual = false;
  835:             else if (this.MGWFCFLAG != b.MGWFCFLAG) areEqual = false;
  836:             else if (this.OBJRATE != b.OBJRATE) areEqual = false;
  837:             else if (this.PROTCTTM != b.PROTCTTM) areEqual = false;
  838:             else if (this.VBDCODECMODE != b.VBDCODECMODE) areEqual = false;
  839:             else if (this.MRSLISTOFCODEC != b.MRSLISTOFCODEC) areEqual = false;
  840:             else if (this.HEARTBEATTIMES != b.HEARTBEATTIMES) areEqual = false;
  841:             else if (this.MGWGROUPNO != b.MGWGROUPNO) areEqual = false;
  842:             else if (this.IPDOMAIN != b.IPDOMAIN) areEqual = false;
  843:             else if (this.CP != b.CP) areEqual = false;
  844:             else if (this.UCATTEX != b.UCATTEX) areEqual = false;
  845:             else areEqual = true;
  846:  
  847:             return areEqual;
  848:         }
  849:  
  850:         ////////////////////////////////////////////////////////////////////////////
  851:  
  852:         /// <summary>
  853:         ///
  854:         /// </summary>
  855:         public bool Update(Ia.Ngn.Cl.Model.Huawei.Mgw updatedItem)
  856:         {
  857:             // below: this will not update Id, Created
  858:             bool updated;
  859:  
  860:             updated = false;
  861:  
  862:             if (this.EID != updatedItem.EID) { this.EID = updatedItem.EID; updated = true; }
  863:             if (this.NetworkElement != updatedItem.NetworkElement) { this.NetworkElement = updatedItem.NetworkElement; updated = true; }
  864:             if (this.GWTP != updatedItem.GWTP) { this.GWTP = updatedItem.GWTP; updated = true; }
  865:             if (this.MGWDESC != updatedItem.MGWDESC) { this.MGWDESC = updatedItem.MGWDESC; updated = true; }
  866:             if (this.MGCMODULENO != updatedItem.MGCMODULENO) { this.MGCMODULENO = updatedItem.MGCMODULENO; updated = true; }
  867:             if (this.PTYPE != updatedItem.PTYPE) { this.PTYPE = updatedItem.PTYPE; updated = true; }
  868:             if (this.LA != updatedItem.LA) { this.LA = updatedItem.LA; updated = true; }
  869:             if (this.DYNIP != updatedItem.DYNIP) { this.DYNIP = updatedItem.DYNIP; updated = true; }
  870:             if (this.RA1 != updatedItem.RA1) { this.RA1 = updatedItem.RA1; updated = true; }
  871:             if (this.RA2 != updatedItem.RA2) { this.RA2 = updatedItem.RA2; updated = true; }
  872:             if (this.RA3 != updatedItem.RA3) { this.RA3 = updatedItem.RA3; updated = true; }
  873:             if (this.RA4 != updatedItem.RA4) { this.RA4 = updatedItem.RA4; updated = true; }
  874:             if (this.RA5 != updatedItem.RA5) { this.RA5 = updatedItem.RA5; updated = true; }
  875:             if (this.RP != updatedItem.RP) { this.RP = updatedItem.RP; updated = true; }
  876:             if (this.LISTOFCODEC != updatedItem.LISTOFCODEC) { this.LISTOFCODEC = updatedItem.LISTOFCODEC; updated = true; }
  877:             if (this.MRSCAP != updatedItem.MRSCAP) { this.MRSCAP = updatedItem.MRSCAP; updated = true; }
  878:             if (this.HAIRPIN != updatedItem.HAIRPIN) { this.HAIRPIN = updatedItem.HAIRPIN; updated = true; }
  879:             if (this.EC != updatedItem.EC) { this.EC = updatedItem.EC; updated = true; }
  880:             if (this.CODETYPE != updatedItem.CODETYPE) { this.CODETYPE = updatedItem.CODETYPE; updated = true; }
  881:             if (this.UCATT != updatedItem.UCATT) { this.UCATT = updatedItem.UCATT; updated = true; }
  882:             if (this.ET != updatedItem.ET) { this.ET = updatedItem.ET; updated = true; }
  883:             if (this.SPI != updatedItem.SPI) { this.SPI = updatedItem.SPI; updated = true; }
  884:             if (this.KEY != updatedItem.KEY) { this.KEY = updatedItem.KEY; updated = true; }
  885:             if (this.CAPABILITY != updatedItem.CAPABILITY) { this.CAPABILITY = updatedItem.CAPABILITY; updated = true; }
  886:             if (this.RATEOFTONE != updatedItem.RATEOFTONE) { this.RATEOFTONE = updatedItem.RATEOFTONE; updated = true; }
  887:             if (this.RATEOFMPTY != updatedItem.RATEOFMPTY) { this.RATEOFMPTY = updatedItem.RATEOFMPTY; updated = true; }
  888:             if (this.RATEOFDETECTDTMF != updatedItem.RATEOFDETECTDTMF) { this.RATEOFDETECTDTMF = updatedItem.RATEOFDETECTDTMF; updated = true; }
  889:             if (this.RATEOFSENDDTMF != updatedItem.RATEOFSENDDTMF) { this.RATEOFSENDDTMF = updatedItem.RATEOFSENDDTMF; updated = true; }
  890:             if (this.MINTERMID != updatedItem.MINTERMID) { this.MINTERMID = updatedItem.MINTERMID; updated = true; }
  891:             if (this.MAXTERMID != updatedItem.MAXTERMID) { this.MAXTERMID = updatedItem.MAXTERMID; updated = true; }
  892:             if (this.CHOICE != updatedItem.CHOICE) { this.CHOICE = updatedItem.CHOICE; updated = true; }
  893:             if (this.TDMIFC1 != updatedItem.TDMIFC1) { this.TDMIFC1 = updatedItem.TDMIFC1; updated = true; }
  894:             if (this.TDMIFC2 != updatedItem.TDMIFC2) { this.TDMIFC2 = updatedItem.TDMIFC2; updated = true; }
  895:             if (this.TDMIFC3 != updatedItem.TDMIFC3) { this.TDMIFC3 = updatedItem.TDMIFC3; updated = true; }
  896:             if (this.TDMIFC4 != updatedItem.TDMIFC4) { this.TDMIFC4 = updatedItem.TDMIFC4; updated = true; }
  897:             if (this.TDMIFC5 != updatedItem.TDMIFC5) { this.TDMIFC5 = updatedItem.TDMIFC5; updated = true; }
  898:             if (this.TDMIFC6 != updatedItem.TDMIFC6) { this.TDMIFC6 = updatedItem.TDMIFC6; updated = true; }
  899:             if (this.TDMIFC7 != updatedItem.TDMIFC7) { this.TDMIFC7 = updatedItem.TDMIFC7; updated = true; }
  900:             if (this.TDMIFC8 != updatedItem.TDMIFC8) { this.TDMIFC8 = updatedItem.TDMIFC8; updated = true; }
  901:             if (this.TDMIFC9 != updatedItem.TDMIFC9) { this.TDMIFC9 = updatedItem.TDMIFC9; updated = true; }
  902:             if (this.TDMIFC10 != updatedItem.TDMIFC10) { this.TDMIFC10 = updatedItem.TDMIFC10; updated = true; }
  903:             if (this.TDMIFC11 != updatedItem.TDMIFC11) { this.TDMIFC11 = updatedItem.TDMIFC11; updated = true; }
  904:             if (this.TDMIFC12 != updatedItem.TDMIFC12) { this.TDMIFC12 = updatedItem.TDMIFC12; updated = true; }
  905:             if (this.TDMIFC13 != updatedItem.TDMIFC13) { this.TDMIFC13 = updatedItem.TDMIFC13; updated = true; }
  906:             if (this.TDMIFC14 != updatedItem.TDMIFC14) { this.TDMIFC14 = updatedItem.TDMIFC14; updated = true; }
  907:             if (this.TDMIFC15 != updatedItem.TDMIFC15) { this.TDMIFC15 = updatedItem.TDMIFC15; updated = true; }
  908:             if (this.TDMIFC16 != updatedItem.TDMIFC16) { this.TDMIFC16 = updatedItem.TDMIFC16; updated = true; }
  909:             if (this.RTPIFC != updatedItem.RTPIFC) { this.RTPIFC = updatedItem.RTPIFC; updated = true; }
  910:             if (this.MSTYPE != updatedItem.MSTYPE) { this.MSTYPE = updatedItem.MSTYPE; updated = true; }
  911:             if (this.USRRATE != updatedItem.USRRATE) { this.USRRATE = updatedItem.USRRATE; updated = true; }
  912:             if (this.OIPDM != updatedItem.OIPDM) { this.OIPDM = updatedItem.OIPDM; updated = true; }
  913:             if (this.ENVOICEATTR != updatedItem.ENVOICEATTR) { this.ENVOICEATTR = updatedItem.ENVOICEATTR; updated = true; }
  914:             if (this.RATEOFRECORD != updatedItem.RATEOFRECORD) { this.RATEOFRECORD = updatedItem.RATEOFRECORD; updated = true; }
  915:             if (this.OWDYNA != updatedItem.OWDYNA) { this.OWDYNA = updatedItem.OWDYNA; updated = true; }
  916:             if (this.TOS != updatedItem.TOS) { this.TOS = updatedItem.TOS; updated = true; }
  917:             if (this.E2ET != updatedItem.E2ET) { this.E2ET = updatedItem.E2ET; updated = true; }
  918:             if (this.PREMRS1 != updatedItem.PREMRS1) { this.PREMRS1 = updatedItem.PREMRS1; updated = true; }
  919:             if (this.PREMRS2 != updatedItem.PREMRS2) { this.PREMRS2 = updatedItem.PREMRS2; updated = true; }
  920:             if (this.PREMRS3 != updatedItem.PREMRS3) { this.PREMRS3 = updatedItem.PREMRS3; updated = true; }
  921:             if (this.AGID != updatedItem.AGID) { this.AGID = updatedItem.AGID; updated = true; }
  922:             if (this.IMSFLAG != updatedItem.IMSFLAG) { this.IMSFLAG = updatedItem.IMSFLAG; updated = true; }
  923:             if (this.MMFLAG != updatedItem.MMFLAG) { this.MMFLAG = updatedItem.MMFLAG; updated = true; }
  924:             if (this.CMTSIDX != updatedItem.CMTSIDX) { this.CMTSIDX = updatedItem.CMTSIDX; updated = true; }
  925:             if (this.RTPTYPE != updatedItem.RTPTYPE) { this.RTPTYPE = updatedItem.RTPTYPE; updated = true; }
  926:             if (this.ACTGATENUM != updatedItem.ACTGATENUM) { this.ACTGATENUM = updatedItem.ACTGATENUM; updated = true; }
  927:             if (this.MEDSSEC != updatedItem.MEDSSEC) { this.MEDSSEC = updatedItem.MEDSSEC; updated = true; }
  928:             if (this.RTPSECPARA1 != updatedItem.RTPSECPARA1) { this.RTPSECPARA1 = updatedItem.RTPSECPARA1; updated = true; }
  929:             if (this.RTPSECPARA2 != updatedItem.RTPSECPARA2) { this.RTPSECPARA2 = updatedItem.RTPSECPARA2; updated = true; }
  930:             if (this.RTPSECPARA3 != updatedItem.RTPSECPARA3) { this.RTPSECPARA3 = updatedItem.RTPSECPARA3; updated = true; }
  931:             if (this.RTPSECPARA4 != updatedItem.RTPSECPARA4) { this.RTPSECPARA4 = updatedItem.RTPSECPARA4; updated = true; }
  932:             if (this.RTPSECPARA5 != updatedItem.RTPSECPARA5) { this.RTPSECPARA5 = updatedItem.RTPSECPARA5; updated = true; }
  933:             if (this.RTPSECPARA6 != updatedItem.RTPSECPARA6) { this.RTPSECPARA6 = updatedItem.RTPSECPARA6; updated = true; }
  934:             if (this.RTPSECPARA7 != updatedItem.RTPSECPARA7) { this.RTPSECPARA7 = updatedItem.RTPSECPARA7; updated = true; }
  935:             if (this.RTPSECPARA8 != updatedItem.RTPSECPARA8) { this.RTPSECPARA8 = updatedItem.RTPSECPARA8; updated = true; }
  936:             if (this.RTPSECPARA9 != updatedItem.RTPSECPARA9) { this.RTPSECPARA9 = updatedItem.RTPSECPARA9; updated = true; }
  937:             if (this.RTPSECPARA10 != updatedItem.RTPSECPARA10) { this.RTPSECPARA10 = updatedItem.RTPSECPARA10; updated = true; }
  938:             if (this.RTPSECPARA11 != updatedItem.RTPSECPARA11) { this.RTPSECPARA11 = updatedItem.RTPSECPARA11; updated = true; }
  939:             if (this.RTPSECPARA12 != updatedItem.RTPSECPARA12) { this.RTPSECPARA12 = updatedItem.RTPSECPARA12; updated = true; }
  940:             if (this.RTPSECPARA13 != updatedItem.RTPSECPARA13) { this.RTPSECPARA13 = updatedItem.RTPSECPARA13; updated = true; }
  941:             if (this.RTCPSECPARA1 != updatedItem.RTCPSECPARA1) { this.RTCPSECPARA1 = updatedItem.RTCPSECPARA1; updated = true; }
  942:             if (this.RTCPSECPARA2 != updatedItem.RTCPSECPARA2) { this.RTCPSECPARA2 = updatedItem.RTCPSECPARA2; updated = true; }
  943:             if (this.RTCPSECPARA3 != updatedItem.RTCPSECPARA3) { this.RTCPSECPARA3 = updatedItem.RTCPSECPARA3; updated = true; }
  944:             if (this.RTCPSECPARA4 != updatedItem.RTCPSECPARA4) { this.RTCPSECPARA4 = updatedItem.RTCPSECPARA4; updated = true; }
  945:             if (this.RTCPSECPARA5 != updatedItem.RTCPSECPARA5) { this.RTCPSECPARA5 = updatedItem.RTCPSECPARA5; updated = true; }
  946:             if (this.RTCPSECPARA6 != updatedItem.RTCPSECPARA6) { this.RTCPSECPARA6 = updatedItem.RTCPSECPARA6; updated = true; }
  947:             if (this.RTCPSECPARA7 != updatedItem.RTCPSECPARA7) { this.RTCPSECPARA7 = updatedItem.RTCPSECPARA7; updated = true; }
  948:             if (this.RTCPSECPARA8 != updatedItem.RTCPSECPARA8) { this.RTCPSECPARA8 = updatedItem.RTCPSECPARA8; updated = true; }
  949:             if (this.RTCPSECPARA9 != updatedItem.RTCPSECPARA9) { this.RTCPSECPARA9 = updatedItem.RTCPSECPARA9; updated = true; }
  950:             if (this.RTCPSECPARA10 != updatedItem.RTCPSECPARA10) { this.RTCPSECPARA10 = updatedItem.RTCPSECPARA10; updated = true; }
  951:             if (this.RTCPSECPARA11 != updatedItem.RTCPSECPARA11) { this.RTCPSECPARA11 = updatedItem.RTCPSECPARA11; updated = true; }
  952:             if (this.NOTHWDEV != updatedItem.NOTHWDEV) { this.NOTHWDEV = updatedItem.NOTHWDEV; updated = true; }
  953:             if (this.MIXVOICE != updatedItem.MIXVOICE) { this.MIXVOICE = updatedItem.MIXVOICE; updated = true; }
  954:             if (this.SUPROOTPKG != updatedItem.SUPROOTPKG) { this.SUPROOTPKG = updatedItem.SUPROOTPKG; updated = true; }
  955:             if (this.MGWFCFLAG != updatedItem.MGWFCFLAG) { this.MGWFCFLAG = updatedItem.MGWFCFLAG; updated = true; }
  956:             if (this.OBJRATE != updatedItem.OBJRATE) { this.OBJRATE = updatedItem.OBJRATE; updated = true; }
  957:             if (this.PROTCTTM != updatedItem.PROTCTTM) { this.PROTCTTM = updatedItem.PROTCTTM; updated = true; }
  958:             if (this.VBDCODECMODE != updatedItem.VBDCODECMODE) { this.VBDCODECMODE = updatedItem.VBDCODECMODE; updated = true; }
  959:             if (this.MRSLISTOFCODEC != updatedItem.MRSLISTOFCODEC) { this.MRSLISTOFCODEC = updatedItem.MRSLISTOFCODEC; updated = true; }
  960:             if (this.HEARTBEATTIMES != updatedItem.HEARTBEATTIMES) { this.HEARTBEATTIMES = updatedItem.HEARTBEATTIMES; updated = true; }
  961:             if (this.MGWGROUPNO != updatedItem.MGWGROUPNO) { this.MGWGROUPNO = updatedItem.MGWGROUPNO; updated = true; }
  962:             if (this.IPDOMAIN != updatedItem.IPDOMAIN) { this.IPDOMAIN = updatedItem.IPDOMAIN; updated = true; }
  963:             if (this.CP != updatedItem.CP) { this.CP = updatedItem.CP; updated = true; }
  964:             if (this.UCATTEX != updatedItem.UCATTEX) { this.UCATTEX = updatedItem.UCATTEX; updated = true; }
  965:  
  966:             if (updated) this.Updated = DateTime.UtcNow.AddHours(3);
  967:  
  968:             return updated;
  969:         }
  970:  
  971:         ////////////////////////////////////////////////////////////////////////////
  972:         ////////////////////////////////////////////////////////////////////////////
  973:  
  974:         /// <summary>
  975:         ///
  976:         /// </summary>
  977:         public string ToSimpleTextString()
  978:         {
  979:             return Ia.Ngn.Cl.Model.Data.Huawei.Mgw.ToSimpleTextString(this);
  980:         }
  981:  
  982:         ////////////////////////////////////////////////////////////////////////////
  983:         ////////////////////////////////////////////////////////////////////////////
  984:     }
  985:  
  986:     ////////////////////////////////////////////////////////////////////////////
  987:     ////////////////////////////////////////////////////////////////////////////
  988: }