--- /dev/null
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.1 NAME 'fsUid'
+ DESC 'FreeSWITCH directory user id'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.2 NAME 'fsCIDR'
+ DESC 'FreeSWITCH directory user id cidr'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.3 NAME 'fsNumberAlias'
+ DESC 'FreeSWITCH directory user id number-alias'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.4 NAME 'fsDialString'
+ DESC 'FreeSWITCH directory dial-string param'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.5 NAME 'fsPassword'
+ DESC 'FreeSWITCH directory password param'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.6 NAME 'fsReverseAuthUser'
+ DESC 'FreeSWITCH directory reverse-auth-user param'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.7 NAME 'fsReverseAuthPass'
+ DESC 'FreeSWITCH directory reverse-auth-pass param'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.8 NAME 'fsA1Hash'
+ DESC 'FreeSWITCH directory a1-hash param'
+ EQUALITY caseExactIA5Match
+ SUBSTR caseExactIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.9 NAME 'fsVmPassword'
+ DESC 'FreeSWITCH directory vm-password param'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.10 NAME 'fsVmEnabled'
+ DESC 'FreeSWITCH directory vm-enabled param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.11 NAME 'fsVmMailFrom'
+ DESC 'FreeSWITCH directory vm-mailfrom param'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.12 NAME 'fsVmMailTo'
+ DESC 'FreeSWITCH directory vm-mailto param'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.13 NAME 'fsVmNotifyMailTo'
+ DESC 'FreeSWITCH directory vm-notify-mailto param'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.14 NAME 'fsVmAttachFile'
+ DESC 'FreeSWITCH directory vm-attach-file param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.15 NAME 'fsVmMessageExt'
+ DESC 'FreeSWITCH directory vm-message-ext param'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.16 NAME 'fsVmEmailAllMessages'
+ DESC 'FreeSWITCH directory vm-email-all-messages param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.17 NAME 'fsVmKeepLocalAfterEmail'
+ DESC 'FreeSWITCH directory vm-keep-local-after-email param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.18 NAME 'fsVmNotifyEmailAllMessages'
+ DESC 'FreeSWITCH directory vm-notify-email-all-messages param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.19 NAME 'fsVmSkipInstructions'
+ DESC 'FreeSWITCH directory vm-skip-instructions param'
+ EQUALITY booleanMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.20 NAME 'fsVmCc'
+ DESC 'FreeSWITCH directory vm-cc param'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.21 NAME 'fsVmDiskQuota'
+ DESC 'FreeSWITCH directory vm-disk-quota param'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.22 NAME 'fsAccountCode'
+ DESC 'FreeSWITCH directory accountcode variable'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.23 NAME 'fsUserContext'
+ DESC 'FreeSWITCH directory user_context variable'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.24 NAME 'fsVmMailbox'
+ DESC 'FreeSWITCH directory vm_mailbox variable'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.25 NAME 'fsCallGroup'
+ DESC 'FreeSWITCH directory callgroup variable'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.26 NAME ('fsTollAllow' 'fsRuleSet')
+ DESC 'FreeSWITCH directory toll_allow variable'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.27 NAME 'fsEffectiveCallerIDNumber'
+ DESC 'FreeSWITCH directory effective_caller_id_number variable'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.28 NAME 'fsEffectiveCallerIDName'
+ DESC 'FreeSWITCH directory effective_caller_id_name variable'
+ EQUALITY caseExactMatch
+ SUBSTR caseExactSubstringsMatch
+ ORDERING caseExactOrderingMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.29 NAME 'fsOutboundCallerIDNumber'
+ DESC 'FreeSWITCH directory outbound_caller_id_number variable'
+ EQUALITY numericStringMatch
+ SUBSTR numericStringSubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.36
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.30 NAME 'fsOutboundCallerIDName'
+ DESC 'FreeSWITCH directory outbound_caller_id_name variable'
+ EQUALITY caseExactMatch
+ SUBSTR caseExactSubstringsMatch
+ ORDERING caseExactOrderingMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
+ SINGLE-VALUE )
+
+attributetype ( 1.3.6.1.4.1.27880.1003.1.1.31 NAME 'fsDomainName'
+ DESC 'FreeSWITCH directory domain name'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
+ SINGLE-VALUE )
+
+objectclass (1.3.6.1.4.1.27880.1003.2.1 NAME 'FSAccount'
+ SUP top AUXILIARY
+ DESC 'FreeSWITCH Directory Account (v1.1)'
+ MAY ( fsUid $ fsCIDR $ fsNumberAlias $ fsDialString $ fsPassword $
+ fsReverseAuthUser $ fsReverseAuthPass $ fsA1Hash $ fsVmMessageExt $
+ fsVmPassword $ fsVmEnabled $ fsVmMailFrom $ fsVmMailTo $
+ fsVmNotifyMailTo $ fsVmAttachFile $ fsVmMessageExt $
+ fsVmEmailAllMessages $ fsVmKeepLocalAfterEmail $ fsVmNotifyEmailAllMessages $
+ fsVmSkipInstructions $ fsVmCc $ fsVmDiskQuota $ fsAccountCode $
+ fsUserContext $ fsVmMailbox $ fsCallGroup $ fsTollAllow $
+ fsEffectiveCallerIDNumber $ fsEffectiveCallerIDName $
+ fsOutboundCallerIDNumber $ fsOutboundCallerIDName $ fsDomainName ))
typedef enum exten_types {
LDAP_EXTEN_ID = 0,
LDAP_EXTEN_CIDR,
+ LDAP_EXTEN_NUMBER_ALIAS,
+ LDAP_EXTEN_DIAL_STRING,
LDAP_EXTEN_PASSWORD,
- LDAP_EXTEN_VM_ENABLED,
+ LDAP_EXTEN_REV_AUTH_USER,
+ LDAP_EXTEN_REV_AUTH_PASS,
+ LDAP_EXTEN_A1_HASH,
LDAP_EXTEN_VM_PASSWORD,
+ LDAP_EXTEN_VM_ENABLED,
LDAP_EXTEN_VM_MAILFROM,
LDAP_EXTEN_VM_MAILTO,
- LDAP_EXTEN_VM_EMAILMSG,
- LDAP_EXTEN_VM_NOTEMAILMSG,
- LDAP_EXTEN_VM_ATTACHFILE,
+ LDAP_EXTEN_VM_NOTIFY_MAILTO,
+ LDAP_EXTEN_VM_ATTACH_FILE,
+ LDAP_EXTEN_VM_MESSAGE_EXT,
+ LDAP_EXTEN_VM_EMAIL_ALL_MSGS,
+ LDAP_EXTEN_VM_KEEP_LOCAL_AFTER_MAIL,
+ LDAP_EXTEN_VM_NOTIFY_EMAIL_ALL_MSGS,
+ LDAP_EXTEN_VM_SKIP_INSTRUCTIONS,
+ LDAP_EXTEN_VM_CC,
+ LDAP_EXTEN_VM_DISK_QUOTA,
+ LDAP_EXTEN_ACCOUNTCODE,
LDAP_EXTEN_USER_CONTEXT,
- LDAP_EXTEN_EFF_CLIDNAME,
+ LDAP_EXTEN_VM_MAILBOX,
+ LDAP_EXTEN_CALLGROUP,
+ LDAP_EXTEN_TOLL_ALLOW,
LDAP_EXTEN_EFF_CLIDNUM,
- LDAP_EXTEN_ACCOUNTCODE,
- LDAP_EXTEN_RULESET,
+ LDAP_EXTEN_EFF_CLIDNAME,
+ LDAP_EXTEN_OUT_CLIDNUM,
+ LDAP_EXTEN_OUT_CLIDNAME,
+ LDAP_EXTEN_DOMAIN_NAME
+/* not used now
LDAP_EXTEN_AREACODE,
LDAP_EXTEN_CID_EXTNAME,
LDAP_EXTEN_CID_EXTNUM,
LDAP_EXTEN_HOTLINE_ACTIVE,
LDAP_EXTEN_HOTLINE_DEST,
LDAP_EXTEN_CLASSOFSERVICE
+*/
} exten_type_t;
struct xml_ldap_attribute {
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
+ } else if (!strncasecmp("number-alias", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_NUMBER_ALIAS;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("dial-string", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_DIAL_STRING;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
} else if (!strncasecmp("password", n, strlen(n))) {
attr_list->type = LDAP_EXTEN_PASSWORD;
attr_list->len = strlen(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
- } else if (!strncasecmp("vm-enabled", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_VM_ENABLED;
+ } else if (!strncasecmp("reverse-auth-user", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_REV_AUTH_USER;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("reverse-auth-pass", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_REV_AUTH_PASS;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("a1-hash", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_A1_HASH;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-enabled", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_ENABLED;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
} else if (!strncasecmp("vm-mailfrom", n, strlen(n))) {
attr_list->type = LDAP_EXTEN_VM_MAILFROM;
attr_list->len = strlen(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-notify-mailto", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_NOTIFY_MAILTO;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-attach-file", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_ATTACH_FILE;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-message-ext", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_MESSAGE_EXT;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
} else if (!strncasecmp("vm-email-all-messages", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_VM_EMAILMSG;
+ attr_list->type = LDAP_EXTEN_VM_EMAIL_ALL_MSGS;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-keep-local-after-mail", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_KEEP_LOCAL_AFTER_MAIL;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
} else if (!strncasecmp("vm-notify-email-all-messages", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_VM_NOTEMAILMSG;
+ attr_list->type = LDAP_EXTEN_VM_NOTIFY_EMAIL_ALL_MSGS;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
- } else if (!strncasecmp("vm-attach-file", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_VM_ATTACHFILE;
+ } else if (!strncasecmp("vm-skip-instructions", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_SKIP_INSTRUCTIONS;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-cc", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_CC;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("vm-disk-quota", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_DISK_QUOTA;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
/* Variables */
+ } else if (!strncasecmp("accountcode", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_ACCOUNTCODE;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
} else if (!strncasecmp("user_context", n, strlen(n))) {
attr_list->type = LDAP_EXTEN_USER_CONTEXT;
attr_list->len = strlen(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
- } else if (!strncasecmp("effective_caller_id_name", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_EFF_CLIDNAME;
+ } else if (!strncasecmp("vm_mailbox", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_VM_MAILBOX;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("callgroup", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_CALLGROUP;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("toll_allow", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_TOLL_ALLOW;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
- } else if (!strncasecmp("accountcode", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_ACCOUNTCODE;
+ } else if (!strncasecmp("effective_caller_id_name", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_EFF_CLIDNAME;
+ attr_list->len = strlen(m);
+ attr_list->val = strdup(m);
+ attr_list->next = malloc(sizeof(*attr_list));
+ attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
+ attr_list = attr_list->next;
+ } else if (!strncasecmp("outbound_caller_id_number", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_OUT_CLIDNUM;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
attr_list->next = memset(attr_list->next, 0, sizeof(*attr_list));
attr_list = attr_list->next;
- } else if (!strncasecmp("ruleset", n, strlen(n))) {
- attr_list->type = LDAP_EXTEN_RULESET;
+ } else if (!strncasecmp("outbound_caller_id_name", n, strlen(n))) {
+ attr_list->type = LDAP_EXTEN_OUT_CLIDNAME;
attr_list->len = strlen(m);
attr_list->val = strdup(m);
attr_list->next = malloc(sizeof(*attr_list));
LDAPMessage *msg, *entry;
xml_ldap_attribute_t *attr = NULL;
static char *fsattr[] =
- { "id", "cidr", "password", "vm-enabled", "vm-password", "vm-mailfrom", "vm-mailto",
- "vm-email-all-messages", "vm-notify-email-all-messages", "vm-attach-file",
- "user_context", "effective_caller_id_name", "effective_caller_id_number",
- "accountcode", "ruleset", NULL };
+ { "id", "cidr", "number-alias", "dial-string", "password", "reverse-auth-user",
+ "reverse-auth-pass", "a1-hash", "vm-password", "vm-enabled", "vm-mailfrom",
+ "vm-mailto", "vm-notify-mailto", "vm-attach-file", "vm-message-ext",
+ "vm-email-all-messages", "vm-keep-local-after-mail", "vm-notify-email-all-messages",
+ "vm-skip-instructions", "vm-cc", "vm-disk-quota", "accountcode", "user_context",
+ "vm_mailbox", "callgroup", "effective_caller_id_number", "effective_caller_id_name",
+ "outbound_caller_id_number", "outbound_caller_id_name", "toll_allow", NULL };
basedn = switch_mprintf(binding->basedn, dir_domain);
filter = switch_mprintf(binding->filter, dir_exten);