diff --git a/source/firewall/firewall.c b/source/firewall/firewall.c index b0237dd7..ce9fb1ee 100644 --- a/source/firewall/firewall.c +++ b/source/firewall/firewall.c @@ -12546,6 +12546,16 @@ static int prepare_subtables(FILE *raw_fp, FILE *mangle_fp, FILE *nat_fp, FILE * updateAmenityNetworkRules(filter_fp,mangle_fp , AF_INET); #endif } + #if defined(VOICE_MTA_SUPPORT) + char cVoiceRule[64] = {0}; + sysevent_get(sysevent_fd, sysevent_token, "VoiceIpRule", cVoiceRule, sizeof(cVoiceRule)); + FIREWALL_DEBUG("%s: VoiceIpRule=%s\n" COMMA __FUNCTION__ COMMA cVoiceRule); + if (strlen(cVoiceRule) > 0) + { + fprintf(filter_fp,"%s\n", cVoiceRule); + FIREWALL_DEBUG("%s: Applied VoiceIpRule\n" COMMA __FUNCTION__); + } + #endif //Add wan2self restrictions to other wan interfaces //ping is allowed to cm and mta inferfaces regardless the firewall level #if !defined(_HUB4_PRODUCT_REQ_) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index ced8309f..1ffa5d9e 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1458,6 +1458,19 @@ STATIC void addInSysCfgdDB (char *key, char *value) } } #endif + #if defined (VOICE_MTA_SUPPORT) + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Enabled")) + if (0 == IsValuePresentinSyscfgDB("VoiceSupport_Enabled")) + set_syscfg_partner_values(value, "VoiceSupport_Enabled"); + + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.InterfaceName")) + if (0 == IsValuePresentinSyscfgDB("VoiceSupport_IfaceName")) + set_syscfg_partner_values(value, "VoiceSupport_IfaceName"); + + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Mode")) + if (0 == IsValuePresentinSyscfgDB("VoiceSupport_Mode")) + set_syscfg_partner_values(value, "VoiceSupport_Mode"); + #endif /*VOICE_MTA_SUPPORT*/ if ( 0 == strcmp ( key, "Device.X_RDK_WebConfig.URL") ) { if ( 0 == IsValuePresentinSyscfgDB( "WEBCONFIG_INIT_URL" ) ) @@ -1723,6 +1736,16 @@ STATIC void updateSysCfgdDB (char *key, char *value) set_syscfg_partner_values( value,"IPv4SecondaryDhcpServerOptions" ); } #endif + #if defined (VOICE_MTA_SUPPORT) + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Enabled")) + set_syscfg_partner_values(value, "VoiceSupport_Enabled"); + + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.InterfaceName")) + set_syscfg_partner_values(value, "VoiceSupport_IfaceName"); + + if (0 == strcmp(key, "Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Mode")) + set_syscfg_partner_values(value, "VoiceSupport_Mode"); + #endif /*VOICE_MTA_SUPPORT*/ if ( 0 == strcmp ( key, "Device.X_RDK_WebConfig.URL") ) { set_syscfg_partner_values( value,"WEBCONFIG_INIT_URL" ); @@ -3030,7 +3053,6 @@ static int apply_partnerId_default_values (char *data, char *PartnerID) { APPLY_PRINT("%s - Default Value of StartupIPMode is NULL\n", __FUNCTION__ ); } - paramObjVal = cJSON_GetObjectItem(cJSON_GetObjectItem( partnerObj, "Default_VoIP_Configuration_FileName"), "ActiveValue"); if ( paramObjVal != NULL ) { @@ -3105,7 +3127,64 @@ if ( paramObjVal != NULL ) { APPLY_PRINT("%s - Default Value of Secondary dhcp server option is NULL\n", __FUNCTION__ ); } + #endif + #if defined (VOICE_MTA_SUPPORT) + paramObjVal = cJSON_GetObjectItem(cJSON_GetObjectItem(partnerObj,"Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Enabled"),"ActiveValue"); + if(paramObjVal != NULL) + { + char *pVoiceSupportEnabled = NULL; + pVoiceSupportEnabled = paramObjVal->valuestring; + if(pVoiceSupportEnabled != NULL && pVoiceSupportEnabled[0] != '\0') + { + set_syscfg_partner_values(pVoiceSupportEnabled,"VoiceSupport_Enabled"); + } + else + { + APPLY_PRINT("%s - VoiceSupportEnabled Value is NULL\n", __FUNCTION__ ); + } + } + else + { + APPLY_PRINT("%s - VoiceSupportEnabled Object is NULL\n", __FUNCTION__ ); + } + paramObjVal = cJSON_GetObjectItem(cJSON_GetObjectItem(partnerObj,"Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.InterfaceName"),"ActiveValue"); + if(paramObjVal != NULL) + { + char *pVoiceSupportIfaceName = NULL; + pVoiceSupportIfaceName = paramObjVal->valuestring; + if(pVoiceSupportIfaceName != NULL && pVoiceSupportIfaceName[0] != '\0') + { + set_syscfg_partner_values(pVoiceSupportIfaceName,"VoiceSupport_IfaceName"); + } + else + { + APPLY_PRINT("%s - VoiceSupportIfaceName Value is NULL\n", __FUNCTION__ ); + } + } + else + { + APPLY_PRINT("%s - VoiceSupportIfaceName Object is NULL\n", __FUNCTION__ ); + } + paramObjVal = cJSON_GetObjectItem(cJSON_GetObjectItem(partnerObj,"Device.X_RDKCENTRAL-COM_Epon_MTA.VoiceSupport.Mode"),"ActiveValue"); + if(paramObjVal != NULL) + { + char *pVoiceSupportMode = NULL; + pVoiceSupportMode = paramObjVal->valuestring; + if(pVoiceSupportMode != NULL && pVoiceSupportMode[0] != '\0') + { + set_syscfg_partner_values(pVoiceSupportMode,"VoiceSupport_Mode"); + } + else + { + APPLY_PRINT("%s - VoiceSupportMode Value is NULL\n", __FUNCTION__ ); + } + } + else + { + APPLY_PRINT("%s - VoiceSupportMode Object is NULL\n", __FUNCTION__ ); + } + #endif /*VOICE_MTA_SUPPORT*/ paramObjVal = cJSON_GetObjectItem(cJSON_GetObjectItem( partnerObj, "Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.WANsideSSH.Enable"), "ActiveValue"); if ( paramObjVal != NULL ) {