aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/contrib/scripts/asterisk.ldap-schema
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/contrib/scripts/asterisk.ldap-schema')
-rw-r--r--trunk/contrib/scripts/asterisk.ldap-schema562
1 files changed, 562 insertions, 0 deletions
diff --git a/trunk/contrib/scripts/asterisk.ldap-schema b/trunk/contrib/scripts/asterisk.ldap-schema
new file mode 100644
index 000000000..c69d51a70
--- /dev/null
+++ b/trunk/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
+ )
+ )
+