mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Replace vendor extension for feature codes with PrefixRange and FacilityAction for TR-104 conformance
Some of the vendor extensions are moved under prefixinfo, where with use of FacilityAction the action is defined and prefixrange can be used as feature code.
This commit is contained in:
parent
b234cc3527
commit
8d34bbcc9c
9 changed files with 195 additions and 510 deletions
|
|
@ -9673,7 +9673,7 @@
|
|||
"max": 64
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
"FacilityActionArgument": {
|
||||
"type": "string",
|
||||
"read": true,
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ char *RegistrarServerTransport[] = {"UDP", "TCP", "TLS", "SCTP"};
|
|||
char *DTMFMethod[] = {"InBand", "RFC4733", "SIPInfo"};
|
||||
char *JitterBufferType[] = {"Static", "Dynamic"};
|
||||
char *KeyingMethods[] = {"Null", "Static", "SDP", "IKE"};
|
||||
|
||||
char *FacilityAction[] = {"AA_REGISTER", "AA_ERASE", "AA_INTERROGATE", "CA_ACTIVATE", "CCBS_ACTIVATE", "CCBS_DEACTIVATE", "CCBS_INTERROGATE", "CCNR_ACTIVATE", "CCNR_DEACTIVATE", "CCNR_INTERROGATE", "CFB_REGISTER", "CFB_ACTIVATE", "CFB_DEACTIVATE", "CFB_ERASE", "CFB_INTERROGATE", "CFNR_REGISTER", "CFNR_ACTIVATE", "CFNR_DEACTIVATE", "CFNR_ERASE", "CFNR_INTERROGATE", "CFNR_TIMER", "CFT_ACTIVATE", "CFT_DEACTIVATE", "CFT_INTERROGATE", "CFU_REGISTER", "CFU_ACTIVATE", "CFU_DEACTIVATE", "CFU_ERASE", "CFU_INTERROGATE", "CLIR_ACTIVATE", "CLIR_DEACTIVATE", "CLIR_INTERROGATE", "CP_INVOKE", "CW_ACTIVATE", "CW_DEACTIVATE", "CW_INVOKE", "DND_ACTIVATE", "DND_DEACTIVATE", "DND_INTERROGATE", "EXT_INVOKE", "LINE_INVOKE", "MAILBOX_INVOKE", "OCB_ACTIVATE", "OCB_DEACTIVATE", "OCB_INTERROGATE", "PSO_ACTIVATE", "PW_SET", "SCF_ACTIVATE", "SCF_DEACTIVATE", "SCF_INTERROGATE", "SCREJ_ACTIVATE", "SCREJ_DEACTIVATE", "SCREJ_INTERROGATE", "SR_ACTIVATE", "SR_DEACTIVATE", "SR_INTERROGATE", NULL};
|
||||
struct codec_info supported_codecs[MAX_SUPPORTED_CODECS];
|
||||
int codecs_num;
|
||||
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ extern char *RegistrarServerTransport[];
|
|||
extern char *DTMFMethod[];
|
||||
extern char *JitterBufferType[];
|
||||
extern char *KeyingMethods[];
|
||||
extern char *FacilityAction[];
|
||||
|
||||
int init_supported_codecs(void);
|
||||
int init_call_log(void);
|
||||
|
|
|
|||
|
|
@ -217,14 +217,14 @@ static int browseServicesVoiceServiceCallControlOutgoingMapInst(struct dmctx *dm
|
|||
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.!UCI:asterisk/tel_advanced/dmmap_asterisk*/
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.!UCI:asterisk/numberingplan/dmmap_asterisk*/
|
||||
static int browseServicesVoiceServiceCallControlNumberingPlanInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
|
||||
{
|
||||
char *inst = NULL;
|
||||
struct dmmap_dup *p = NULL;
|
||||
LIST_HEAD(dup_list);
|
||||
|
||||
synchronize_specific_config_sections_with_dmmap("asterisk", "tel_advanced", "dmmap_asterisk", &dup_list);
|
||||
synchronize_specific_config_sections_with_dmmap("asterisk", "numberingplan", "dmmap_asterisk", &dup_list);
|
||||
list_for_each_entry(p, &dup_list, list) {
|
||||
|
||||
inst = handle_instance(dmctx, parent_node, p->dmmap_section, "numberingplaninstance", "numberingplanalias");
|
||||
|
|
@ -236,6 +236,34 @@ static int browseServicesVoiceServiceCallControlNumberingPlanInst(struct dmctx *
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo!UCI:asterisk/prefixinfo/dmmap_asterisk*/
|
||||
static int browseServicesVoiceServiceCallControlNumberingPlanPrefixInfo(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
|
||||
{
|
||||
char *inst = NULL;
|
||||
struct dmmap_dup *p = NULL;
|
||||
LIST_HEAD(dup_list);
|
||||
|
||||
synchronize_specific_config_sections_with_dmmap("asterisk", "prefixinfo", "dmmap_asterisk", &dup_list);
|
||||
list_for_each_entry(p, &dup_list, list) {
|
||||
char *type = NULL;
|
||||
dmuci_get_value_by_section_string(p->config_section, "facilityaction", &type);
|
||||
if( *type ){
|
||||
if (!dm_validate_string(type, -1, -1, FacilityAction, NULL))
|
||||
inst = handle_instance(dmctx, parent_node, p->dmmap_section, "prefixinfoinstance", "prefixinfoalias");
|
||||
}
|
||||
else
|
||||
inst = handle_instance(dmctx, parent_node, p->dmmap_section, "prefixinfoinstance", "prefixinfoalias");
|
||||
|
||||
if (DM_LINK_INST_OBJ(dmctx, parent_node, (void *)p, inst) == DM_STOP)
|
||||
break;
|
||||
|
||||
if (type && *type)
|
||||
dmfree(type);
|
||||
}
|
||||
free_dmmap_config_dup_list(&dup_list);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.!UCI:asterisk/calling_features/dmmap_asterisk*/
|
||||
static int browseServicesVoiceServiceCallControlCallingFeaturesSetInst(struct dmctx *dmctx, DMNODE *parent_node, void *prev_data, char *prev_instance)
|
||||
{
|
||||
|
|
@ -455,6 +483,18 @@ static int delObjServicesVoiceServiceCallControlNumberingPlan(char *refparam, st
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int addObjServicesVoiceServiceCallControlNumberingPlanPrefixInfo(char *refparam, struct dmctx *ctx, void *data, char **instance)
|
||||
{
|
||||
BBF_DEBUG("VoiceService.1.CallControl.NumberingPlan.PrefixInfo. cant be added or deleted\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int delObjServicesVoiceServiceCallControlNumberingPlanPrefixInfo(char *refparam, struct dmctx *ctx, void *data, char *instance, unsigned char del_action)
|
||||
{
|
||||
BBF_DEBUG("VoiceService.1.CallControl.NumberingPlan.PrefixInfo. can't be added or deleted\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int addObjServicesVoiceServiceCallControlCallingFeaturesSet(char *refparam, struct dmctx *ctx, void *data, char **instance)
|
||||
{
|
||||
struct uci_section *dmmap = NULL;
|
||||
|
|
@ -1040,10 +1080,10 @@ static int get_ServicesVoiceServiceCallControlExtension_CallStatus(char *refpara
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.InterDigitTimerStd!UCI:asterisk/tel_advanced,tel_options/interdigit*/
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.InterDigitTimerStd!UCI:asterisk/numberingplan/interdigitstdmsec*/
|
||||
static int get_ServicesVoiceServiceCallControlNumberingPlan_InterDigitTimerStd(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_option_value_fallback_def("asterisk", "tel_options", "interdigit", "15000");
|
||||
*value = dmuci_get_option_value_fallback_def("asterisk", "numberingplan", "interdigitstdmsec", "15000");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1055,7 +1095,7 @@ static int set_ServicesVoiceServiceCallControlNumberingPlan_InterDigitTimerStd(c
|
|||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value("asterisk", "tel_options", "interdigit", value);
|
||||
dmuci_set_value("asterisk", "numberingplan", "interdigitstdmsec", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -1124,6 +1164,74 @@ static int set_ServicesVoiceServiceCallControlNumberingPlan_MaximumNumberOfDigit
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo.{i}.Enable!UCI:asterisk/prefixinfo,@i-1/prefixenable*/
|
||||
static int get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_Enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "prefixenable", "0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_Enable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
bool b;
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_boolean(value))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
string_to_bool(value, &b);
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "prefixenable", b ? "1" : "0");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo.{i}.PrefixRange!UCI:asterisk/prefixrange,@i-1/prefixrange*/
|
||||
static int get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_PrefixRange(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "prefixrange", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_PrefixRange(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "prefixrange", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo.{i}.FacilityAction!UCI:asterisk/prefixinfo,@i-1/facilityaction*/
|
||||
static int get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_FacilityAction(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "facilityaction", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_FacilityAction(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, -1, FacilityAction, NULL))
|
||||
return FAULT_9007;
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "facilityaction", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CallWaitingEnable!UCI:asterisk/calling_features/call_waiting_enable*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CallWaitingEnable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
|
|
@ -1494,7 +1602,7 @@ DMOBJ tServicesVoiceServiceCallControlObj[] = {
|
|||
{"Line", &DMWRITE, addObjServicesVoiceServiceCallControlLine, delObjServicesVoiceServiceCallControlLine, NULL, browseServicesVoiceServiceCallControlLineInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlLineParams, get_voice_service_line_linker, BBFDM_BOTH, LIST_KEY{"DirectoryNumber", "Alias", NULL}},
|
||||
{"IncomingMap", &DMWRITE, addObjServicesVoiceServiceCallControlIncomingMap, delObjServicesVoiceServiceCallControlIncomingMap, NULL, browseServicesVoiceServiceCallControlIncomingMapInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlIncomingMapParams, get_voice_service_callcontrol_linker, BBFDM_BOTH, LIST_KEY{"Line", "Extension", "Alias", NULL}},
|
||||
{"OutgoingMap", &DMWRITE, addObjServicesVoiceServiceCallControlOutgoingMap, delObjServicesVoiceServiceCallControlOutgoingMap, NULL, browseServicesVoiceServiceCallControlOutgoingMapInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlOutgoingMapParams, get_voice_service_callcontrol_linker, BBFDM_BOTH, LIST_KEY{"Extension", "Line", "Alias", NULL}},
|
||||
{"NumberingPlan", &DMWRITE, addObjServicesVoiceServiceCallControlNumberingPlan, delObjServicesVoiceServiceCallControlNumberingPlan, NULL, browseServicesVoiceServiceCallControlNumberingPlanInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlNumberingPlanParams, NULL, BBFDM_BOTH, LIST_KEY{"Alias", NULL}},
|
||||
{"NumberingPlan", &DMWRITE, addObjServicesVoiceServiceCallControlNumberingPlan, delObjServicesVoiceServiceCallControlNumberingPlan, NULL, browseServicesVoiceServiceCallControlNumberingPlanInst, NULL, NULL, tServicesVoiceServiceCallControlNumberingPlanObj, tServicesVoiceServiceCallControlNumberingPlanParams, NULL, BBFDM_BOTH, LIST_KEY{"Alias", NULL}},
|
||||
{"CallingFeatures", &DMREAD, NULL, NULL, NULL, NULL, NULL, NULL, tServicesVoiceServiceCallControlCallingFeaturesObj, NULL, NULL, BBFDM_BOTH},
|
||||
{"Group", &DMWRITE, addObjServicesVoiceServiceCallControlGroup, delObjServicesVoiceServiceCallControlGroup, NULL, browseServicesVoiceServiceCallControlGroupInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlGroupParams, get_voice_service_callcontrol_linker, BBFDM_BOTH},
|
||||
{"Extension", &DMWRITE, addObjServicesVoiceServiceCallControlExtension, delObjServicesVoiceServiceCallControlExtension, NULL, browseServicesVoiceServiceCallControlExtensionInst, NULL, NULL, NULL, tServicesVoiceServiceCallControlExtensionParams, get_voice_service_callcontrol_linker, BBFDM_BOTH, LIST_KEY{"ExtensionNumber", NULL}},
|
||||
|
|
@ -1555,6 +1663,12 @@ DMLEAF tServicesVoiceServiceCallControlExtensionParams[] = {
|
|||
};
|
||||
|
||||
/* *** Device.Services.VoiceService.{i}.CallControl.NumberingPlan. *** */
|
||||
DMOBJ tServicesVoiceServiceCallControlNumberingPlanObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/
|
||||
{"PrefixInfo", &DMWRITE, addObjServicesVoiceServiceCallControlNumberingPlanPrefixInfo, delObjServicesVoiceServiceCallControlNumberingPlanPrefixInfo, NULL, browseServicesVoiceServiceCallControlNumberingPlanPrefixInfo, NULL, NULL, NULL, tServicesVoiceServiceCallControlNumberingPlanPrefixInfoParams, NULL, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
DMLEAF tServicesVoiceServiceCallControlNumberingPlanParams[] = {
|
||||
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/
|
||||
{"InterDigitTimerStd", &DMWRITE, DMT_UNINT, get_ServicesVoiceServiceCallControlNumberingPlan_InterDigitTimerStd, set_ServicesVoiceServiceCallControlNumberingPlan_InterDigitTimerStd, BBFDM_BOTH},
|
||||
|
|
@ -1565,6 +1679,15 @@ DMLEAF tServicesVoiceServiceCallControlNumberingPlanParams[] = {
|
|||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo. *** */
|
||||
DMLEAF tServicesVoiceServiceCallControlNumberingPlanPrefixInfoParams[] = {
|
||||
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/
|
||||
{"Enable", &DMWRITE, DMT_BOOL, get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_Enable, set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_Enable, BBFDM_BOTH},
|
||||
{"PrefixRange", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_PrefixRange, set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_PrefixRange, BBFDM_BOTH},
|
||||
{"FacilityAction", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_FacilityAction, set_ServicesVoiceServiceCallControlNumberingPlanPrefixInfo_FacilityAction, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.Services.VoiceService.{i}.CallControl.CallingFeatures. *** */
|
||||
DMOBJ tServicesVoiceServiceCallControlCallingFeaturesObj[] = {
|
||||
/* OBJ, permission, addobj, delobj, checkdep, browseinstobj, nextdynamicobj, dynamicleaf, nextobj, leaf, linker, bbfdm_type, uniqueKeys*/
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ extern DMLEAF tServicesVoiceServiceCallControlOutgoingMapParams[];
|
|||
extern DMLEAF tServicesVoiceServiceCallControlGroupParams[];
|
||||
extern DMLEAF tServicesVoiceServiceCallControlExtensionParams[];
|
||||
extern DMLEAF tServicesVoiceServiceCallControlNumberingPlanParams[];
|
||||
extern DMOBJ tServicesVoiceServiceCallControlNumberingPlanObj[];
|
||||
extern DMLEAF tServicesVoiceServiceCallControlNumberingPlanPrefixInfoParams[];
|
||||
extern DMOBJ tServicesVoiceServiceCallControlCallingFeaturesObj[];
|
||||
extern DMOBJ tServicesVoiceServiceCallControlCallingFeaturesSetObj[];
|
||||
extern DMLEAF tServicesVoiceServiceCallControlCallingFeaturesSetParams[];
|
||||
|
|
|
|||
|
|
@ -122,477 +122,6 @@ static int set_ServicesVoiceServiceCallControlExtension_Type(char *refparam, str
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CBBSType!UCI:asterisk/calling_features/cbbs_type*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSType(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "cbbs_type", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSType(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section,"cbbs_type", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.InternalService!UCI:asterisk/calling_features/internal_service*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_InternalService(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "internal_service", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_InternalService(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
bool b;
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_boolean(value))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
string_to_bool(value, &b);
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "internal_service", b ? "1" : "0");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CallReturnEnable!UCI:asterisk/calling_features/callreturn_enable*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturnEnable(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "callreturn_enable", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturnEnable(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
bool b;
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_boolean(value))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
string_to_bool(value, &b);
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "callreturn_enable", b ? "1" : "0");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.MOHPassThrough!UCI:asterisk/calling_features/moh_passthrough*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_MOHPassThrough(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "moh_passthrough", "1");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_MOHPassThrough(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
bool b;
|
||||
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_boolean(value))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
string_to_bool(value, &b);
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "moh_passthrough", b ? "1" : "0");
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CBBSKey!UCI:asterisk/calling_features/cbbs_key*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSKey(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cbbs_key", "");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSKey(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cbbs_key", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CBBSMaxRetry!UCI:asterisk/calling_features/cbbs_maxretry*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSMaxRetry(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cbbs_maxretry", "0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSMaxRetry(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cbbs_maxretry", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CBBSRetryTime!UCI:asterisk/calling_features/cbbs_retrytime*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSRetryTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cbbs_retrytime", "0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSRetryTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cbbs_retrytime", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CBBSWaitTime!UCI:asterisk/calling_features/cbbs_waittime*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSWaitTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cbbs_waittime", "0");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSWaitTime(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cbbs_waittime", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFIMOn!UCI:asterisk/calling_features/cfim_on*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfim_on", "cfimon");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfim_on", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFIMOff!UCI:asterisk/calling_features/cfim_off*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfim_off", "cfimoff");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfim_off", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFBSOnOn!UCI:asterisk/calling_features/cfbs_onn*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfbs_on", "cfbson");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfbs_on", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFBSOff!UCI:asterisk/calling_features/cfbs_off*/
|
||||
static int get_SerCFBSOffvicesVoiceServiceCallControlCallingFeaturesSet_CFBSOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfbs_off", "cfbsoff");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfbs_off", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFBOn!UCI:asterisk/calling_features/cfb_on*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfb_on", "cfbon");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfb_on", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CFBOff!UCI:asterisk/calling_features/cfb_off*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cfb_off", "cfboff");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cfb_off", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CWOn!UCI:asterisk/calling_features/cw_on*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cw_on", "cwon");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cw_on", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CWOff!UCI:asterisk/calling_features/cw_off*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cw_off", "cwoff");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cw_off", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CWStatus!UCI:asterisk/calling_features/cw_status*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWStatus(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "cw_status", "cwstatus");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWStatus(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "cw_status", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.DNDOn!UCI:asterisk/calling_features/dnd_on*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "dnd_on", "dndon");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "dnd_on", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.DNDOff!UCI:asterisk/calling_features/dnd_off*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "dnd_off", "dndoff");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOff(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "dnd_off", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.DNDStatus!UCI:asterisk/calling_features/dnd_status*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDStatus(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "dnd_status", "dndstatus");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDStatus(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "dnd_status", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.CallReturn!UCI:asterisk/calling_features/callreturn*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturn(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "call_return", "callreturn");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturn(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "call_return", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.Redial!UCI:asterisk/calling_features/redial*/
|
||||
static int get_ServicesVoiceServiceCallControlCallingFeaturesSet_Redial(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_value_by_section_fallback_def(((struct dmmap_dup *)data)->config_section, "redial", "redial");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_ServicesVoiceServiceCallControlCallingFeaturesSet_Redial(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_string(value, -1, 32, NULL, NULL))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value_by_section(((struct dmmap_dup *)data)->config_section, "redial", value);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**********************************************************************************************************************************
|
||||
* OBJ & PARAM DEFINITION
|
||||
***********************************************************************************************************************************/
|
||||
|
|
@ -606,32 +135,3 @@ DMLEAF tIOPSYS_VoiceServiceCallControlExtensionParams[] = {
|
|||
{BBF_VENDOR_PREFIX"Type", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlExtension_Type, set_ServicesVoiceServiceCallControlExtension_Type, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
/* *** Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}. *** */
|
||||
DMLEAF tIOPSYS_VoiceServiceCallControlCallingFeaturesSetParams[] = {
|
||||
/* PARAM, permission, type, getvalue, setvalue, bbfdm_type*/
|
||||
{BBF_VENDOR_PREFIX"CBBSType", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSType, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSType, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"InternalService", &DMWRITE, DMT_BOOL, get_ServicesVoiceServiceCallControlCallingFeaturesSet_InternalService, set_ServicesVoiceServiceCallControlCallingFeaturesSet_InternalService, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CallReturnEnable", &DMWRITE, DMT_BOOL, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturnEnable, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturnEnable, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"MOHPassThrough", &DMWRITE, DMT_BOOL, get_ServicesVoiceServiceCallControlCallingFeaturesSet_MOHPassThrough, set_ServicesVoiceServiceCallControlCallingFeaturesSet_MOHPassThrough, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CBBSKey", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSKey, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSKey, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CBBSMaxRetry", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSMaxRetry, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSMaxRetry, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CBBSRetryTime", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSRetryTime, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSRetryTime, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CBBSWaitTime", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSWaitTime, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CBBSWaitTime, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFIMOn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFIMOff", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOff, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFIMOff, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFBSOn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFBSOff", &DMWRITE, DMT_STRING, get_SerCFBSOffvicesVoiceServiceCallControlCallingFeaturesSet_CFBSOff, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBSOff, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFBOn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CFBOff", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOff, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CFBOff, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CWOn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CWOff", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOff, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWOff, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CWStatus", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CWStatus, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CWStatus, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"DNDOn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"DNDOff", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOff, set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDOff, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"DNDStatus", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDStatus, set_ServicesVoiceServiceCallControlCallingFeaturesSet_DNDStatus, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"CallReturn", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturn, set_ServicesVoiceServiceCallControlCallingFeaturesSet_CallReturn, BBFDM_BOTH},
|
||||
{BBF_VENDOR_PREFIX"Redial", &DMWRITE, DMT_STRING, get_ServicesVoiceServiceCallControlCallingFeaturesSet_Redial, set_ServicesVoiceServiceCallControlCallingFeaturesSet_Redial, BBFDM_BOTH},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
#include <libbbf_api/dmcommon.h>
|
||||
|
||||
extern DMLEAF tIOPSYS_VoiceServiceCallControlExtensionParams[];
|
||||
extern DMLEAF tIOPSYS_VoiceServiceCallControlCallingFeaturesSetParams[];
|
||||
|
||||
#endif //__IOPSYS_VOICESERVICECALLCONTROL_H
|
||||
|
||||
|
|
|
|||
1
dmtree/vendor/iopsys/tr181/vendor.c
vendored
1
dmtree/vendor/iopsys/tr181/vendor.c
vendored
|
|
@ -33,6 +33,5 @@ DM_MAP_OBJ tVendorExtensionIOPSYS[] = {
|
|||
{"Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.RTP.", NULL, tIOPSYS_VoiceServiceCallLogSessionDestinationRTPParams},
|
||||
{"Device.Services.VoiceService.{i}.DECT.Portable.{i}.", NULL, tIOPSYS_VoiceServiceDECTPortableParams},
|
||||
{"Device.Services.VoiceService.{i}.CallControl.Extension.{i}.", NULL, tIOPSYS_VoiceServiceCallControlExtensionParams},
|
||||
{"Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.", NULL, tIOPSYS_VoiceServiceCallControlCallingFeaturesSetParams},
|
||||
{0}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -153,6 +153,67 @@ config call_filter 'call_filter0'
|
|||
option block_outgoing '0'
|
||||
option block_incoming '0'
|
||||
|
||||
config numberingplan 'numberingplan'
|
||||
option interdigitstdmsec '15000'
|
||||
option interdigitopenmsec '3000'
|
||||
option minimumnumberdigits '1'
|
||||
option maxnumdigits '15'
|
||||
|
||||
config prefixinfo 'prefixinfo1'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*21*'
|
||||
option facilityaction 'CFU_ACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo2'
|
||||
option prefixenable '1'
|
||||
option prefixrange '#21#'
|
||||
option facilityaction 'CFU_DEACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo3'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*61*'
|
||||
option facilityaction 'CFNR_ACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo4'
|
||||
option prefixenable '1'
|
||||
option prefixrange '#61#'
|
||||
option facilityaction 'CFNR_DEACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo5'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*67*'
|
||||
option facilityaction 'CFB_ACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo6'
|
||||
option prefixenable '1'
|
||||
option prefixrange '#67#'
|
||||
option facilityaction 'CFB_DEACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo7'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*43#'
|
||||
option facilityaction 'CW_ACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo8'
|
||||
option prefixenable '1'
|
||||
option prefixrange '#43#'
|
||||
option facilityaction 'CW_DEACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo10'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*261#'
|
||||
option facilityaction 'DND_ACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo11'
|
||||
option prefixenable '1'
|
||||
option prefixrange '#261#'
|
||||
option facilityaction 'DND_DEACTIVATE'
|
||||
|
||||
config prefixinfo 'prefixinfo12'
|
||||
option prefixenable '1'
|
||||
option prefixrange '*#261#'
|
||||
option facilityaction 'DND_INTERROGATE'
|
||||
|
||||
config sip_service_provider 'sip0'
|
||||
list codecs 'alaw'
|
||||
list codecs 'ulaw'
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue