1. Download the desired firmware from the support website.
2. Unpack and edit the Config-eSpace7910.xml file with an advanced text editor like Notepad++.
Let's look at the section Account1 from the file.
<InternetGatewayDeviceConfig xmlns="urn:dslforum-org:cpe-device-config-1-0">
<Device>
<UserCfg>
<Account1 Enable="0" Account="" LogOut="" LabelName="" UCAccount="" PGMNumber="" CorpID="" PhysicalLocation="" JointUserNum="">
<Auth UserName="" Passwd=""/>
<calls CallsPerLine="1"/>
<Server PrimaryRegServerAddress="" PrimaryRegServerPort="5060" BackupRegServerAddress="" BackupRegServerPort="5060" BackupRegServer2Address="" BackupRegServer2Port="5060" BackupRegServer3Address="" BackupRegServer3Port="5060" LocalRegServerAddress="" LocalRegServerPort="5060" CallOutProxyServerAddress="" CallOutProxyServerPort="5060" CallOutBackupServerAddress="" CallOutBackuServerPort="5060" CallOutBackupServer2Address="" CallOutBackuServer2Port="5060" CallOutBackupServer3Address="" CallOutBackuServer3Port="5060" CallOutLocalServerAddress="" CallOutLocalServerPort="5060" UMSPrimaryServerAddress="" UMSPrimaryServerPort="8020" UMSBackupServerAddress="" UMSBackupServerPort="8020"/>
<Sip TransferMode="3"/>
<Service>
<DND ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*56#" DeactiveAccessCode="#56#"/>
<CFU ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*57*" DeactiveAccessCode="#57#"/>
<CFB ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*40*" DeactiveAccessCode="#40#"/>
<CFN ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*41*" DeactiveAccessCode="#41#"/>
<CFO ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*45*" DeactiveAccessCode="#45#"/>
<CFUVoiceMail ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*91#" DeactiveAccessCode="#91#"/>
<CFBVoiceMail ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*92#" DeactiveAccessCode="#92#"/>
<CFNVoiceMail ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*93#" DeactiveAccessCode="#93#"/>
<CFOVoiceMail ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*98#" DeactiveAccessCode="#98#"/>
<Joint ServiceRight="0" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
<CallDeflection ServiceRight="1" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
<Attendant ServiceRight="0" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
...
<HuntGroup ServiceRight="1" ServiceRegister="" ActiveAccessCode="*71*" DeactiveAccessCode="#71*"/>
<VirtualVoiceMail ServiceRight="0" ServiceRegister="" ActiveAccessCode="91002" DeactiveAccessCode=""/>
<UC2XVoiceConference ServiceRight="1" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
<Reject ServiceRight="1" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
<Ignore ServiceRight="1" ServiceRegister="" ActiveAccessCode="" DeactiveAccessCode=""/>
<DNDOverride ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<Parameter CFUNum="" CFBNum="" CFNNum="" CFONum="" VoiceMailGetNum="91002" TurnPhoneGetCallCode="*126" TurnPhoneMobileNum="" EaddrSearchType="0" AbbrDial="" VoiceMailSupportType="1" VoiceMailNumber="" VoiceMailSPIN="" VVMHttpsSupport="0" CallLimitType="0" CallLimitCode="" HotlineEnable="" HotlineNumber="" HotlineDelayTime="0" HotlineType="" bIsChangeCFUNum="0" EaddrExactSearchType="0"/>
</Service>
</Account1>
......
</Device>
</InternetGatewayDeviceConfig>
3. Mark the lines that require changes, in this case we will only mark the DND, CFU and CFN lines.
<DND ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*56#" DeactiveAccessCode="#56#"/>
<CFU ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*57*" DeactiveAccessCode="#57#"/>
<CFN ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*41*" DeactiveAccessCode="#41#"/>
4. Remove all the lines that don't require any changes / update / modification and leave only the required information.
<InternetGatewayDeviceConfig xmlns="urn:dslforum-org:cpe-device-config-1-0">
<Device>
<UserCfg>
<Account1 Enable="0" Account="" LogOut="" LabelName="" UCAccount="" PGMNumber="" CorpID="" PhysicalLocation="" JointUserNum="">
<Service>
<DND ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*56#" DeactiveAccessCode="#56#"/>
<CFU ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*57*" DeactiveAccessCode="#57#"/>
<CFN ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*41*" DeactiveAccessCode="#41#"/>
</Service>
</Account1>
</Device>
</InternetGatewayDeviceConfig>
5. Change the header to <InternetGatewayDeviceConfig TimeMark="">, add MFlag="1" after the service / function / option marker (example DND, CFU and CFN) and make the changes that you need.
<InternetGatewayDeviceConfig TimeMark="">
<Device>
<UserCfg>
<Account1>
<Service>
<DND MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*123#" DeactiveAccessCode="#213#"/>
<CFU MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*124*" DeactiveAccessCode="#214#"/>
<CFN MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*125*" DeactiveAccessCode="#215#"/>
</Service>
</Account1>
</Device>
</InternetGatewayDeviceConfig>
6. Save the file as 'defaultMFG_cfm.xml'.
The example below is of a more complex defaultMFG_cfm.xml file:
<InternetGatewayDeviceConfig TimeMark="">
<Device>
<UserCfg>
<Account1>
<Service>
<DND MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*26" DeactiveAccessCode="*27"/>
<CFU MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*21" DeactiveAccessCode="*22"/>
<CFB MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*67" DeactiveAccessCode="*68"/>
<CFN MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*61" DeactiveAccessCode="*62"/>
<Recording MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<CallPark MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*68" DeactiveAccessCode="*88"/>
</Service>
</Account1>
</UserCfg>
<ComCfg>
<AutoCallOut MFlag="1" enable="0" Time="5"/>
<ManagementServer MFlag="1" URL="http://YOUR_MANAGEMENT_SERVER:8080/subfolder/ACS" Username="SERVER_USERNAME" Password="SERVER_PASSWORD" PeriodicInformEnable="1" PeriodicInformInterval="86400" ParameterKey="" ConnectionRequestURL="" ConnectionRequestUsername="ftacs" ConnectionRequestPassword="ftacs" ConnectionAuthType="2" SpecVersion="1.0" enable="1"/>
<Access>
<LLDP MFlag="1" Enable="0" Interval="120"/>
<Sntp MFlag="1" URL="time.server.net" SYNCTIME="7200" ENABLESNTP="1" ENABLEUPDATETIME="1" TZONE="Athens, Bucharest" DSTIMEMODE="0" DSTIMEOFFSET="1" BACKURL=""/>
<Dhcp MFlag="1" DNS="1.2.3.4" BKDNS="4.3.2.1" ISAUTOGETDNS="0"/>
</Access>
<Phone>
<Sip MFlag="1" LocalPort="5060" SessionTime1="500" SessionTime2="4000" enableSendPrack="1" enableRequirePrack="0" RegistTimeout="600" RegistSendPeriods="10" SubscribeTimeout="3600" enableSessionTimer="0" SessionTime="90" SessionUpdateMode="0" TransferMode="0" enableRegistStatusSubscribe="1" ALLOWMESSAGE="1" ALLOWPRACK="1" ALLOWUPDATE="1" ALLOWSUBSCRIBE="1" ALLOWINFO="1" ALLOWREFER="1" ALLOWNOTIFY="1" UriScheme="0" PAIpriority="0" RejectCallType="1" InviteSwitchTime="3000" UserType="1" AlertType="0"/>
<Audio MFlag="1" maxSpeakerPlus="0"/>
<Environment MFlag="1" Verson="0" NetworkingEnvironment="4" NetWorkModel="0" DnsSrvsupport="0" DisasterRecoveryMode="0"/>
</Phone>
<Media>
<AudioCap MFlag="1" AACLDPRIORITY="5" G722PRIORITY="3" G711APRIORITY="2" G711UPRIORITY="4" G729ABPRIORITY="1" ILBCPRIORITY="6" G7221PRIORITY="7" G7222PRIORITY="8" OPUSPRIORITY="9"/>
<AudioCapEnable MFlag="1" AACLDENABLE="1" G722ENABLE="1" G711AENABLE="1" G711UENABLE="1" G729ABENABLE="1" ILBCENABLE="1" G7221ENABLE="0" G7222ENABLE="0" OPUSENABLE="0"/>
</Media>
<Lock MFlag="1" lockPhone="0" isLock="0" mode="1" LocalPasswd="******" enableLock="0"/>
<WebAdminUser MFlag="1" UserName="admin" PassWord="admin123"/>
<ConferenceType MFlag="1" ConferenceType="0"/>
<UserServieceParaAssignSwitch MFlag="1" ServiceRightEnable="1" AccessCodeEnable="1"/>
<Service>
<DND MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*26" DeactiveAccessCode="*27"/>
<CFN MFlag="1" ServiceRight="1" ServiceRegister="0" ActiveAccessCode="*61" DeactiveAccessCode="*62"/>
<CFO MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<CFUVoiceMail MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*21*" DeactiveAccessCode="#21"/>
<CFOVoiceMail MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<CallDeflection MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<Recording MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<CallPark MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="*68" DeactiveAccessCode="*88"/>
<HuntGroup MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<VirtualVoiceMail MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
<UC2XVoiceConference MFlag="1" ServiceRight="0" ServiceRegister="0" ActiveAccessCode="" DeactiveAccessCode=""/>
</Service>
<DesktopMenuCfg MFlag="1" messageButton="0" enableLogout="0"/>
</ComCfg>
</Device>
</InternetGatewayDeviceConfig>