diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-22 22:33:20 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-01-22 22:33:20 +0000 |
commit | 533d426fefd676ba437dbb3f9b72fecd0ff43a70 (patch) | |
tree | 063b6003773d63e1065a3e9741ec4bffd43cd147 /contrib | |
parent | 395fa10a4b0a21536f0cf2b1b9bcfb9b1287ef66 (diff) |
Add res_config_ldap for realtime LDAP engine.
(closes issue #5768)
Reported by: mguesdon
Patches:
res_config_ldap-v0.7.tar.gz uploaded by mguesdon (license 121)
res_ldap.conf.sample uploaded by suretec (license 70)
asterisk-v3.1.4.ldif uploaded by suretec (license 70)
asterisk-v3.1.4.schema uploaded by suretec (license 70)
Tested by: oej, mguesdon, suretec, cthorner
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@99696 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/scripts/asterisk.ldap-schema | 562 | ||||
-rw-r--r-- | contrib/scripts/asterisk.ldif | 567 |
2 files changed, 1129 insertions, 0 deletions
diff --git a/contrib/scripts/asterisk.ldap-schema b/contrib/scripts/asterisk.ldap-schema new file mode 100644 index 000000000..c69d51a70 --- /dev/null +++ b/contrib/scripts/asterisk.ldap-schema @@ -0,0 +1,562 @@ +# +# Copyright (c) 2007 Suretec Systems Ltd. - <http://www.suretecsystems.com/> +# +# Asterisk LDAP Schema +# +# Digium root OID (http://www.iana.org/assignments/enterprise-numbers) +# +# 1.3.6.1.4.1.22736 +# 1.3.6.1.4.1.22736.5 LDAP elements +# 1.3.6.1.4.1.22736.5.4 Attribute Types +# 1.3.6.1.4.1.22736.5.5 Object Classes +# +objectIdentifier AsteriskRoot 1.3.6.1.4.1.22736 +objectIdentifier AsteriskLDAP AsteriskRoot:5 + +############################################################################# +# Attribute group OIDs. e.g.: objectIdentifier AstAttrType AsteriskLDAP:4 +############################################################################# +objectIdentifier AstAttrType AsteriskLDAP:4 + + +############################################################################# +# Attribute OIDs e.g.: objectIdentifier AstContext AstAttrType:1 +############################################################################# +objectIdentifier AstContext AstAttrType:1 +objectIdentifier AstExtension AstAttrType:2 +objectIdentifier AstPriority AstAttrType:3 +objectIdentifier AstApplication AstAttrType:4 +objectIdentifier AstApplicationData AstAttrType:5 +objectIdentifier AstAccountAMAFlags AstAttrType:6 +objectIdentifier AstAccountCallerID AstAttrType:7 +objectIdentifier AstAccountContext AstAttrType:8 +objectIdentifier AstAccountMailbox AstAttrType:9 +objectIdentifier AstMD5secret AstAttrType:10 +objectIdentifier AstAccountDeny AstAttrType:11 +objectIdentifier AstAccountPermit AstAttrType:12 +objectIdentifier AstAccountQualify AstAttrType:13 +objectIdentifier AstAccountType AstAttrType:14 +objectIdentifier AstAccountDisallowedCodec AstAttrType:15 +objectIdentifier AstAccountExpirationTimestamp AstAttrType:16 +objectIdentifier AstAccountRegistrationContext AstAttrType:17 +objectIdentifier AstAccountRegistrationExten AstAttrType:18 +objectIdentifier AstAccountNoTransfer AstAttrType:19 +objectIdentifier AstAccountCallGroup AstAttrType:20 +objectIdentifier AstAccountCanReinvite AstAttrType:21 +objectIdentifier AstAccountDTMFMode AstAttrType:22 +objectIdentifier AstAccountFromUser AstAttrType:23 +objectIdentifier AstAccountFromDomain AstAttrType:24 +objectIdentifier AstAccountFullContact AstAttrType:25 +objectIdentifier AstAccountHost AstAttrType:26 +objectIdentifier AstAccountInsecure AstAttrType:27 +objectIdentifier AstAccountNAT AstAttrType:28 +objectIdentifier AstAccountPickupGroup AstAttrType:29 +objectIdentifier AstAccountPort AstAttrType:30 +objectIdentifier AstAccountRestrictCID AstAttrType:31 +objectIdentifier AstAccountRTPTimeout AstAttrType:32 +objectIdentifier AstAccountRTPHoldTimeout AstAttrType:33 +objectIdentifier AstAccountRealmedPassword AstAttrType:34 +objectIdentifier AstAccountAllowedCodec AstAttrType:35 +objectIdentifier AstAccountMusicOnHold AstAttrType:36 +objectIdentifier AstAccountCanCallForward AstAttrType:37 +objectIdentifier AstAccountSecret AstAttrType:38 +objectIdentifier AstAccountName AstAttrType:39 +objectIdentifier AstConfigFilename AstAttrType:40 +objectIdentifier AstConfigCategory AstAttrType:41 +objectIdentifier AstConfigCategoryMetric AstAttrType:42 +objectIdentifier AstConfigVariableName AstAttrType:43 +objectIdentifier AstConfigVariableValue AstAttrType:44 +objectIdentifier AstConfigCommented AstAttrType:45 + + +############################################################################# +# Object Class OIDs +############################################################################# +objectIdentifier AstObjectClass AsteriskLDAP:2 +objectIdentifier AsteriskExtension AstObjectClass:1 +objectIdentifier AsteriskIAXUser AstObjectClass:2 +objectIdentifier AsteriskSIPUser AstObjectClass:3 +objectIdentifier AsteriskConfig AstObjectClass:4 + + +############################################################################# +# attribute definitions +# +# OID (the first arg) comes from the objectIdentifier defined above +# +# NAME should be the same as objectIdentifier +# +# DESC should be the description of the attribute +# +# EQUALITY is the rule to use when doing a search/compare for an +# attribute value. +# +# SUBSTR is the rule to use when doing a substring search (*foo*) +# +# SYNTAX is the syntax (i.e., type) of the attribute. We should +# probably stick to syntaxes: +# +# 1.3.6.1.4.1.1466.115.121.1.15 -> directoryString (UTF-8 string) +# 1.3.6.1.4.1.1466.115.121.1.26 -> IA5String (ASCII String) +# 1.3.6.1.4.1.1466.115.121.1.27 -> integer (Integer value) +# +# SINGLE-VALUE should be present if only one instance of this +# attribute is allowed within an entry. +# +# {32} is the allowed length +# +# e.g.: +# +# attributetype ( AstExample +# NAME ( 'AstExample' ) +# DESC 'Asterisk Example Attribute' +# EQUALITY caseIgnoreMatch +# SUBSTR caseIgnoreSubstringsMatch +# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32} +# SINGLE-VALUE ) +# +############################################################################# + +attributetype ( AstContext + NAME 'AstContext' + DESC 'Asterisk Context' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstExtension + NAME 'AstExtension' + DESC 'Asterisk Extension' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstPriority + NAME 'AstPriority' + DESC 'Asterisk Priority' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstApplication + NAME 'AstApplication' + DESC 'Asterisk Application' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstApplicationData + NAME 'AstApplicationData' + DESC 'Asterisk Application Data' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountAMAFlags + NAME 'AstAccountAMAFlags' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountCallerID + NAME 'AstAccountCallerID' + DESC 'Asterisk Account CallerID' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountContext + NAME 'AstAccountContext' + DESC 'Asterisk Account Context' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountMailbox + NAME 'AstAccountMailbox' + DESC 'Asterisk Account Mailbox' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstMD5secret + NAME 'AstMD5secret' + DESC 'Asterisk Account MD5 Secret' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountDeny + NAME 'AstAccountDeny' + DESC 'Asterisk Account Deny' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountPermit + NAME 'AstAccountPermit' + DESC 'Asterisk Account Permit' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountQualify + NAME 'AstAccountQualify' + DESC 'Asterisk Account Qualify' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountType + NAME 'AstAccountType' + DESC 'Asterisk Account Type' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountDisallowedCodec + NAME 'AstAccountDisallowedCodec' + DESC 'Asterisk Account Disallowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountExpirationTimestamp + NAME 'AstAccountExpirationTimestamp' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRegistrationContext + NAME 'AstAccountRegistrationContext' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRegistrationExten + NAME 'AstAccountRegistrationExten' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountNoTransfer + NAME 'AstAccountNoTransfer' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountCallGroup + NAME 'AstAccountCallGroup' + DESC 'Asterisk Account Call Group' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountCanReinvite + NAME 'AstAccountCanReinvite' + DESC 'Asterisk Account Can Reinvite' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountDTMFMode + NAME 'AstAccountDTMFMode' + DESC 'Asterisk Account DTMF Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountFromUser + NAME 'AstAccountFromUser' + DESC 'Asterisk Account From User' + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountFromDomain + NAME 'AstAccountFromDomain' + DESC 'Asterisk Account From Domain' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountFullContact + NAME 'AstAccountFullContact' + DESC 'Asterisk Account Full Contact' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountHost + NAME 'AstAccountHost' + DESC 'Asterisk Account Host' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountInsecure + NAME 'AstAccountInsecure' + DESC 'Asterisk Account Insecure' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountNAT + NAME 'AstAccountNAT' + DESC 'Asterisk Account NAT' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountPickupGroup + NAME 'AstAccountPickupGroup' + DESC 'Asterisk Account PickupGroup' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountPort + NAME 'AstAccountPort' + DESC 'Asterisk Account Port' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRestrictCID + NAME 'AstAccountRestrictCID' + DESC 'Asterisk Restrict CallerID' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRTPTimeout + NAME 'AstAccountRTPTimeout' + DESC 'Asterisk RTP Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRTPHoldTimeout + NAME 'AstAccountRTPHoldTimeout' + DESC 'Asterisk RTP Hold Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountRealmedPassword + NAME 'AstAccountRealmedPassword' + DESC 'Asterisk RTP Hold Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountAllowedCodec + NAME 'AstAccountAllowedCodec' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountMusicOnHold + NAME 'AstAccountMusicOnHold' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountCanCallForward + NAME 'AstAccountCanCallForward' + DESC 'Asterisk Can CAll Forward' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountSecret + NAME 'AstAccountSecret' + DESC 'Asterisk Can CAll Forward' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstAccountName + NAME 'AstAccountName' + DESC 'Asterisk Account Username' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigFilename + NAME 'AstConfigFilename' + DESC 'Asterisk LDAP Configuration Filename' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigCategory + NAME 'AstConfigCategory' + DESC 'Asterisk LDAP Configuration Category' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigCategoryMetric + NAME 'AstConfigCategoryMetric' + DESC 'Asterisk LDAP Configuration Category Metric' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigVariableName + NAME 'AstConfigVariableName' + DESC 'Asterisk LDAP Configuration Variable Name' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigVariableValue + NAME 'AstConfigVariableValue' + DESC 'Asterisk LDAP Configuration Variable Value' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +attributetype ( AstConfigCommented + NAME 'AstConfigCommented' + DESC 'Asterisk LDAP Configuration Commented' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) + +############################################################################# +# Object Class definitions +# +# This is where to define the object classes. Object classes are used +# to define which attribute MAY (optional) or MUST (required) belong +# to an entry. +# +# Classes can be AUXILIARY or STRUCTURAL. An entry in the directory +# must have one and only one structural class, but can have many +# AUXILIARY classes. +# +############################################################################# + +objectclass ( AsteriskExtension + NAME 'AsteriskExtension' + DESC 'PBX Extension Information for Asterisk' + SUP top AUXILIARY + MUST cn + MAY ( + AstContext $ + AstExtension $ + AstPriority $ + AstApplication $ + AstApplicationData + ) + ) + +############################################################################# +# +# AsteriskIAXUser and AsteriskSIPUser extend AsteriskExtension. These +# represent real accounts in Asterisk. +# +# NOTE: They are defined as AUXILIARY in case they need to be mixed with an +# existing directory deployment. +# +############################################################################# + +objectclass ( AsteriskIAXUser + NAME 'AsteriskIAXUser' + DESC 'IAX2 User information for Asterisk' + SUP AsteriskExtension AUXILIARY + MUST cn + MAY ( + AstAccountAMAFlags $ + AstAccountCallerID $ + AstAccountContext $ + AstAccountFullContact $ + AstAccountHost $ + AstAccountMailbox $ + AstMD5secret $ + AstAccountDeny $ + AstAccountPermit $ + AstAccountPort $ + AstAccountQualify $ + AstAccountType $ + AstAccountDisallowedCodec $ + AstAccountExpirationTimestamp $ + AstAccountRegistrationContext$ + AstAccountRegistrationExten $ + AstAccountNoTransfer $ + AstAccountName + ) + ) + +objectclass ( AsteriskSIPUser + NAME 'AsteriskSIPUser' + DESC 'SIP User information for Asterisk' + SUP AsteriskExtension AUXILIARY + MUST cn + MAY ( + AstAccountAMAFlags $ + AstAccountCallGroup $ + AstAccountCallerID $ + AstAccountCanReinvite $ + AstAccountContext $ + AstAccountDTMFMode $ + AstAccountFromUser $ + AstAccountFromDomain $ + AstAccountFullContact $ + AstAccountHost $ + AstAccountInsecure $ + AstAccountMailbox $ + AstAccountRealmedPassword $ + AstAccountNAT $ + AstAccountDeny $ + AstAccountPermit $ + AstAccountPickupGroup $ + AstAccountPort $ + AstAccountQualify $ + AstAccountRestrictCID $ + AstAccountRTPTimeout $ + AstAccountRTPHoldTimeout $ + AstAccountType $ + AstAccountDisallowedCodec $ + AstAccountAllowedCodec $ + AstAccountMusicOnHold $ + AstAccountExpirationTimestamp $ + AstAccountRegistrationContext $ + AstAccountRegistrationExten $ + AstAccountCanCallForward $ + AstAccountSecret $ + AstAccountName + ) + ) + +############################################################################# +# +# AsteriskIAXUser and AsteriskSIPUser extend AsteriskExtension. These +# represent real accounts in Asterisk. +# +# NOTE: They are defined as AUXILIARY in case they need to be mixed with an +# existing directory deployment. +# +############################################################################# + +objectclass ( AsteriskConfig + NAME 'AsteriskConfig' + DESC 'Asterisk configuration Information' + SUP top AUXILIARY + MUST cn + MAY ( + AstConfigFilename $ + AstConfigCategory $ + AstConfigCategoryMetric $ + AstConfigVariableName $ + AstConfigVariableValue $ + AstConfigCommented + ) + ) + diff --git a/contrib/scripts/asterisk.ldif b/contrib/scripts/asterisk.ldif new file mode 100644 index 000000000..0bb6a4b9f --- /dev/null +++ b/contrib/scripts/asterisk.ldif @@ -0,0 +1,567 @@ +# +# Copyright (c) 2007 Suretec Systems Ltd. - <http://www.suretecsystems.com/> +# +# Asterisk LDAP Schema ldif +# +# Digium root OID (http://www.iana.org/assignments/enterprise-numbers) +# +# 1.3.6.1.4.1.22736 +# 1.3.6.1.4.1.22736.5 LDAP elements +# 1.3.6.1.4.1.22736.5.4 Attribute Types +# 1.3.6.1.4.1.22736.5.5 Object Classes +# +dn: cn=asterisk,cn=schema,cn=config +objectClass: olcSchemaConfig +cn: asterisk +# +olcObjectIdentifier: AsteriskRoot 1.3.6.1.4.1.22736 +olcObjectIdentifier: AsteriskLDAP AsteriskRoot:5 +# +############################################################################# +# Attribute group OIDs. e.g.: olcObjectIdentifier: AstAttrType AsteriskLDAP:4 +############################################################################# +olcObjectIdentifier: AstAttrType AsteriskLDAP:4 +# +# +############################################################################# +# Attribute OIDs e.g.: olcObjectIdentifier: AstContext AstAttrType:1 +############################################################################# +olcObjectIdentifier: AstContext AstAttrType:1 +olcObjectIdentifier: AstExtension AstAttrType:2 +olcObjectIdentifier: AstPriority AstAttrType:3 +olcObjectIdentifier: AstApplication AstAttrType:4 +olcObjectIdentifier: AstApplicationData AstAttrType:5 +olcObjectIdentifier: AstAccountAMAFlags AstAttrType:6 +olcObjectIdentifier: AstAccountCallerID AstAttrType:7 +olcObjectIdentifier: AstAccountContext AstAttrType:8 +olcObjectIdentifier: AstAccountMailbox AstAttrType:9 +olcObjectIdentifier: AstMD5secret AstAttrType:10 +olcObjectIdentifier: AstAccountDeny AstAttrType:11 +olcObjectIdentifier: AstAccountPermit AstAttrType:12 +olcObjectIdentifier: AstAccountQualify AstAttrType:13 +olcObjectIdentifier: AstAccountType AstAttrType:14 +olcObjectIdentifier: AstAccountDisallowedCodec AstAttrType:15 +olcObjectIdentifier: AstAccountExpirationTimestamp AstAttrType:16 +olcObjectIdentifier: AstAccountRegistrationContext AstAttrType:17 +olcObjectIdentifier: AstAccountRegistrationExten AstAttrType:18 +olcObjectIdentifier: AstAccountNoTransfer AstAttrType:19 +olcObjectIdentifier: AstAccountCallGroup AstAttrType:20 +olcObjectIdentifier: AstAccountCanReinvite AstAttrType:21 +olcObjectIdentifier: AstAccountDTMFMode AstAttrType:22 +olcObjectIdentifier: AstAccountFromUser AstAttrType:23 +olcObjectIdentifier: AstAccountFromDomain AstAttrType:24 +olcObjectIdentifier: AstAccountFullContact AstAttrType:25 +olcObjectIdentifier: AstAccountHost AstAttrType:26 +olcObjectIdentifier: AstAccountInsecure AstAttrType:27 +olcObjectIdentifier: AstAccountNAT AstAttrType:28 +olcObjectIdentifier: AstAccountPickupGroup AstAttrType:29 +olcObjectIdentifier: AstAccountPort AstAttrType:30 +olcObjectIdentifier: AstAccountRestrictCID AstAttrType:31 +olcObjectIdentifier: AstAccountRTPTimeout AstAttrType:32 +olcObjectIdentifier: AstAccountRTPHoldTimeout AstAttrType:33 +olcObjectIdentifier: AstAccountRealmedPassword AstAttrType:34 +olcObjectIdentifier: AstAccountAllowedCodec AstAttrType:35 +olcObjectIdentifier: AstAccountMusicOnHold AstAttrType:36 +olcObjectIdentifier: AstAccountCanCallForward AstAttrType:37 +olcObjectIdentifier: AstAccountSecret AstAttrType:38 +olcObjectIdentifier: AstAccountName AstAttrType:39 +olcObjectIdentifier: AstConfigFilename AstAttrType:40 +olcObjectIdentifier: AstConfigCategory AstAttrType:41 +olcObjectIdentifier: AstConfigCategoryMetric AstAttrType:42 +olcObjectIdentifier: AstConfigVariableName AstAttrType:43 +olcObjectIdentifier: AstConfigVariableValue AstAttrType:44 +olcObjectIdentifier: AstConfigCommented AstAttrType:45 +# +# +############################################################################# +# Object Class OIDs +############################################################################# +olcObjectIdentifier: AstObjectClass AsteriskLDAP:2 +olcObjectIdentifier: AsteriskExtension AstObjectClass:1 +olcObjectIdentifier: AsteriskIAXUser AstObjectClass:2 +olcObjectIdentifier: AsteriskSIPUser AstObjectClass:3 +olcObjectIdentifier: AsteriskConfig AstObjectClass:4 +# +# +############################################################################# +# attribute definitions +# +# OID (the first arg) comes from the olcObjectIdentifier: defined above +# +# NAME should be the same as olcObjectIdentifier: +# +# DESC should be the description of the attribute +# +# EQUALITY is the rule to use when doing a search/compare for an +# attribute value. +# +# SUBSTR is the rule to use when doing a substring search (*foo*) +# +# SYNTAX is the syntax (i.e., type) of the attribute. We should +# probably stick to syntaxes: +# +# 1.3.6.1.4.1.1466.115.121.1.15 -> directoryString (UTF-8 string) +# 1.3.6.1.4.1.1466.115.121.1.26 -> IA5String (ASCII String) +# 1.3.6.1.4.1.1466.115.121.1.27 -> integer (Integer value) +# +# SINGLE-VALUE should be present if only one instance of this +# attribute is allowed within an entry. +# +# {32} is the allowed length +# +# e.g.: +# +# olcAttributeTypes: ( AstExample +# NAME ( 'AstExample' ) +# DESC 'Asterisk Example Attribute' +# EQUALITY caseIgnoreMatch +# SUBSTR caseIgnoreSubstringsMatch +# SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32} +# SINGLE-VALUE ) +# +############################################################################# +# +olcAttributeTypes: ( AstContext + NAME 'AstContext' + DESC 'Asterisk Context' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstExtension + NAME 'AstExtension' + DESC 'Asterisk Extension' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstPriority + NAME 'AstPriority' + DESC 'Asterisk Priority' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstApplication + NAME 'AstApplication' + DESC 'Asterisk Application' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstApplicationData + NAME 'AstApplicationData' + DESC 'Asterisk Application Data' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountAMAFlags + NAME 'AstAccountAMAFlags' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountCallerID + NAME 'AstAccountCallerID' + DESC 'Asterisk Account CallerID' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountContext + NAME 'AstAccountContext' + DESC 'Asterisk Account Context' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountMailbox + NAME 'AstAccountMailbox' + DESC 'Asterisk Account Mailbox' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstMD5secret + NAME 'AstMD5secret' + DESC 'Asterisk Account MD5 Secret' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountDeny + NAME 'AstAccountDeny' + DESC 'Asterisk Account Deny' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountPermit + NAME 'AstAccountPermit' + DESC 'Asterisk Account Permit' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountQualify + NAME 'AstAccountQualify' + DESC 'Asterisk Account Qualify' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountType + NAME 'AstAccountType' + DESC 'Asterisk Account Type' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountDisallowedCodec + NAME 'AstAccountDisallowedCodec' + DESC 'Asterisk Account Disallowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountExpirationTimestamp + NAME 'AstAccountExpirationTimestamp' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRegistrationContext + NAME 'AstAccountRegistrationContext' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRegistrationExten + NAME 'AstAccountRegistrationExten' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountNoTransfer + NAME 'AstAccountNoTransfer' + DESC 'Asterisk Account AMA Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountCallGroup + NAME 'AstAccountCallGroup' + DESC 'Asterisk Account Call Group' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountCanReinvite + NAME 'AstAccountCanReinvite' + DESC 'Asterisk Account Can Reinvite' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountDTMFMode + NAME 'AstAccountDTMFMode' + DESC 'Asterisk Account DTMF Flags' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountFromUser + NAME 'AstAccountFromUser' + DESC 'Asterisk Account From User' + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountFromDomain + NAME 'AstAccountFromDomain' + DESC 'Asterisk Account From Domain' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountFullContact + NAME 'AstAccountFullContact' + DESC 'Asterisk Account Full Contact' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountHost + NAME 'AstAccountHost' + DESC 'Asterisk Account Host' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountInsecure + NAME 'AstAccountInsecure' + DESC 'Asterisk Account Insecure' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountNAT + NAME 'AstAccountNAT' + DESC 'Asterisk Account NAT' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountPickupGroup + NAME 'AstAccountPickupGroup' + DESC 'Asterisk Account PickupGroup' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountPort + NAME 'AstAccountPort' + DESC 'Asterisk Account Port' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRestrictCID + NAME 'AstAccountRestrictCID' + DESC 'Asterisk Restrict CallerID' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRTPTimeout + NAME 'AstAccountRTPTimeout' + DESC 'Asterisk RTP Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRTPHoldTimeout + NAME 'AstAccountRTPHoldTimeout' + DESC 'Asterisk RTP Hold Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountRealmedPassword + NAME 'AstAccountRealmedPassword' + DESC 'Asterisk RTP Hold Timeout' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountAllowedCodec + NAME 'AstAccountAllowedCodec' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountMusicOnHold + NAME 'AstAccountMusicOnHold' + DESC 'Asterisk Account Allowed Codec' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountCanCallForward + NAME 'AstAccountCanCallForward' + DESC 'Asterisk Can CAll Forward' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountSecret + NAME 'AstAccountSecret' + DESC 'Asterisk Can CAll Forward' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstAccountName + NAME 'AstAccountName' + DESC 'Asterisk Account Username' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigFilename + NAME 'AstConfigFilename' + DESC 'Asterisk LDAP Configuration Filename' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigCategory + NAME 'AstConfigCategory' + DESC 'Asterisk LDAP Configuration Category' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigCategoryMetric + NAME 'AstConfigCategoryMetric' + DESC 'Asterisk LDAP Configuration Category Metric' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigVariableName + NAME 'AstConfigVariableName' + DESC 'Asterisk LDAP Configuration Variable Name' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigVariableValue + NAME 'AstConfigVariableValue' + DESC 'Asterisk LDAP Configuration Variable Value' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +olcAttributeTypes: ( AstConfigCommented + NAME 'AstConfigCommented' + DESC 'Asterisk LDAP Configuration Commented' + EQUALITY caseIgnoreMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) +# +############################################################################# +# Object Class definitions +# +# This is where to define the object classes. Object classes are used +# to define which attribute MAY (optional) or MUST (required) belong +# to an entry. +# +# Classes can be AUXILIARY or STRUCTURAL. An entry in the directory +# must have one and only one structural class, but can have many +# AUXILIARY classes. +# +############################################################################# +# +olcObjectClasses: ( AsteriskExtension + NAME 'AsteriskExtension' + DESC 'PBX Extension Information for Asterisk' + SUP top AUXILIARY + MUST cn + MAY ( + AstContext $ + AstExtension $ + AstPriority $ + AstApplication $ + AstApplicationData + ) + ) +# +############################################################################# +# +# AsteriskIAXUser and AsteriskSIPUser extend AsteriskExtension. These +# represent real accounts in Asterisk. +# +# NOTE: They are defined as AUXILIARY in case they need to be mixed with an +# existing directory deployment. +# +############################################################################# +# +olcObjectClasses: ( AsteriskIAXUser + NAME 'AsteriskIAXUser' + DESC 'IAX2 User information for Asterisk' + SUP AsteriskExtension AUXILIARY + MUST cn + MAY ( + AstAccountAMAFlags $ + AstAccountCallerID $ + AstAccountContext $ + AstAccountFullContact $ + AstAccountHost $ + AstAccountMailbox $ + AstMD5secret $ + AstAccountDeny $ + AstAccountPermit $ + AstAccountPort $ + AstAccountQualify $ + AstAccountType $ + AstAccountDisallowedCodec $ + AstAccountExpirationTimestamp $ + AstAccountRegistrationContext$ + AstAccountRegistrationExten $ + AstAccountNoTransfer $ + AstAccountName + ) + ) +# +olcObjectClasses: ( AsteriskSIPUser + NAME 'AsteriskSIPUser' + DESC 'SIP User information for Asterisk' + SUP AsteriskExtension AUXILIARY + MUST cn + MAY ( + AstAccountAMAFlags $ + AstAccountCallGroup $ + AstAccountCallerID $ + AstAccountCanReinvite $ + AstAccountContext $ + AstAccountDTMFMode $ + AstAccountFromUser $ + AstAccountFromDomain $ + AstAccountFullContact $ + AstAccountHost $ + AstAccountInsecure $ + AstAccountMailbox $ + AstAccountRealmedPassword $ + AstAccountNAT $ + AstAccountDeny $ + AstAccountPermit $ + AstAccountPickupGroup $ + AstAccountPort $ + AstAccountQualify $ + AstAccountRestrictCID $ + AstAccountRTPTimeout $ + AstAccountRTPHoldTimeout $ + AstAccountType $ + AstAccountDisallowedCodec $ + AstAccountAllowedCodec $ + AstAccountMusicOnHold $ + AstAccountExpirationTimestamp $ + AstAccountRegistrationContext $ + AstAccountRegistrationExten $ + AstAccountCanCallForward $ + AstAccountSecret $ + AstAccountName + ) + ) +# +############################################################################# +# +# AsteriskIAXUser and AsteriskSIPUser extend AsteriskExtension. These +# represent real accounts in Asterisk. +# +# NOTE: They are defined as AUXILIARY in case they need to be mixed with an +# existing directory deployment. +# +############################################################################# +# +olcObjectClasses: ( AsteriskConfig + NAME 'AsteriskConfig' + DESC 'Asterisk configuration Information' + SUP top AUXILIARY + MUST cn + MAY ( + AstConfigFilename $ + AstConfigCategory $ + AstConfigCategoryMetric $ + AstConfigVariableName $ + AstConfigVariableValue $ + AstConfigCommented + ) + ) +# + |