1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260
|
#
# $Id$
#
# This is the default LDAP schema of SER for OpenLDAP.
# Written by Jan Janak <jan@iptel.org>.
#
#
# The root OID of IANA private enterprise numbers
#
objectIdentifier ianaPrivate 1.3.6.1.4.1
#
# The root OID of many LDAPv3 attributes
#
objectIdentifier ldap3OID ianaPrivate:1466
#
# The root OID assigned by the IANA to iptel.org
#
objectIdentifier iptelorg ianaPrivate:24960
#
# SER related objects and attributes
#
objectIdentifier ser iptelorg:0
objectIdentifier serLDAP ser:1
objectIdentifier serAttributeType serLDAP:0
objectIdentifier serObjectClass serLDAP:1
#
# Convenience macros for commonly used syntax OIDs
#
objectIdentifier ldapSyntax ldap3OID:115.121.1
objectIdentifier stringSyntax ldapSyntax:15
objectIdentifier octetStringSyntax ldapSyntax:40
objectIdentifier bitStringSyntax ldapSyntax:6
objectIdentifier intSyntax ldapSyntax:27
objectIdentifier numericStringSyntax ldapSyntax:36
objectIdentifier binarySyntax ldapSyntax:5
objectIdentifier boolSyntax ldapSyntax:7
objectIdentifier genTimeSyntax ldapSyntax:24
#
# This is the parent attribute type for various UID attributes of SER, such
# as serUID and serDID.
#
attributeType ( serAttributeType:0
NAME 'serUUID'
DESC 'SER Universally Unique Identifier'
SYNTAX stringSyntax
SINGLE-VALUE
)
#
# serUID attribute stores universally unique identifiers of SER users, the
# identifier is an opaque string by default.
#
attributeType ( serAttributeType:1 NAME 'serUID'
DESC 'SER User Identifier'
SUP serUUID
)
#
# serDID attributes contain universally unique identifiers of virtual SER
# domains. They are used to group a bunch of domain names together in a
# single virtual domain.
#
attributeType ( serAttributeType:2 NAME 'serDID'
DESC 'SER Domain Identifier'
SUP serUUID
)
#
# digesetUsername attribute contains the value of username field from
# digest authentication credentials as specified in RFC2617. This attribute,
# together with digestRealm, is used by SER during digest authentication to
# lookup credentaials of a particular user.
#
attributeType ( serAttributeType:3 NAME 'digestUsername'
DESC 'SIP Digest Authentication username'
SYNTAX stringSyntax
EQUALITY caseIgnoreMatch
SINGLE-VALUE
)
#
# digestRealm attribute contains the value of realm field from digest
# authentication credentials as specified in RFC2617. This attribute,
# together with digestUsername, is used by SER during digest authentication
# to lookup credentials of a particular user.
#
attributeType ( serAttributeType:4 NAME 'digestRealm'
DESC 'SIP Digest Authentication realm attribute'
SYNTAX stringSyntax
EQUALITY caseIgnoreMatch
SINGLE-VALUE
)
#
# digestPassword attribute contains the plain-text password for digest
# authentication (see RFC2617)
#
attributeType ( serAttributeType:5 NAME 'digestPassword'
DESC 'SIP Digest Authentication password'
SYNTAX octetStringSyntax
EQUALITY octetStringMatch
SINGLE-VALUE
)
#
# The attribute serFlags contains various SER and SERWeb related flags,
# the flags are used to mark entries as deleted or disabled, they are
# used to mark entries that are exclusively for SER or SERWeb, and so on.
# The maximum length of the bit string fields is 32 bits, the most
# significant bits of values longer than 32 will be ignored.
#
attributeType ( serAttributeType:6 NAME 'serFlags'
DESC 'SER flags'
SYNTAX bitStringSyntax
EQUALITY bitStringMatch
SINGLE-VALUE
)
#
# This attribute contains the HA1 string as defined in RFC2617. The
# string is an MD5 hash of digest username, realm, and password.
# See RFC2617 for more details. SER is using either HA1 or plain-text
# password (depending on configuration) when verifying digest credentials.
#
attributeType ( serAttributeType:7 NAME 'digestHA1'
DESC 'Digest Authentication HA1 String'
SYNTAX octetStringSyntax
EQUALITY octetStringMatch
SINGLE-VALUE
)
#
# This attribute contains the HA1 string as defined in RFC2617. This is
# similar to digestHA1 attribute, except that the MD5 hash in digestHA1b
# also includes a domain part in username, so the username is of form
# user@domain. This is sometimes needed when authenticating user agents
# that put user@domain into the digest username field.
#
attributeType ( serAttributeType:8 NAME 'digestHA1b'
DESC 'Digest Authentication HA1 String (includes domain in username)'
SYNTAX octetStringSyntax
EQUALITY octetStringMatch
SINGLE-VALUE
)
#
# This attribute stores a domain name within a virtual domain handled
# by a SER server. SER users this value to determine whether the SIP
# requests are to/from one of its virtual domains.
#
attributeType ( serAttributeType:9 NAME 'serDomain'
DESC 'Domain Name'
SYNTAX stringSyntax
EQUALITY caseIgnoreMatch
SINGLE-VALUE
)
#
# SER attributes is a generic mechanism for storing configuration data.
# This attribute contains the name of an SER attribute.
#
attributeType ( serAttributeType:10 NAME 'serAttrName'
DESC 'SER Attribute Name'
SYNTAX stringSyntax
EQUALITY caseExactMatch
SINGLE-VALUE
)
#
# SER attributes is a generic mechanism for storing configuration data.
# This attribute contains SER attribute type. There are two types of
# SER attributes: integer and string.
#
attributeType ( serAttributeType:11 NAME 'serAttrType'
DESC 'SER Attribute Type'
SYNTAX intSyntax
SINGLE-VALUE
)
#
# SER attributes is a generic mechanism for storing configuration data.
# This attribute contains the value (as string) of a SER attribute.
#
attributeType ( serAttributeType:12 NAME 'serAttrValue'
DESC 'SER Attribute Value'
SYNTAX stringSyntax
EQUALITY caseExactMatch
SINGLE-VALUE
)
#
# digestAuthCredentials objects are used by SER to perform digest
# authentication as defined in RFC3261 and RFC2617. Every object must
# contain a username, a realm, and a UID of the user who owns the
# credentials. In addition to that the object can contains either
# password in plain-text format, or the HA1 string, or both. Which of
# them will be used by SER depends on the configuration.
#
# This is an analogy to 'credentials' table found in SER relational
# database schema.
#
objectClass ( serObjectClass:0 NAME 'digestAuthCredentials'
DESC 'Credentials for SIP Digest Authentication'
MUST ( digestUsername $ digestRealm $ serUID $ serFlags )
MAY ( serDID $ digestPassword $ digestHA1 $ digestHA1b )
)
#
# serDomain objects are used to store the information about virtual
# domains supported by a SER server. The purpose of the object is
# to map domain names (which appear in SIP messages) to universally
# unique domain identifiers and vice versa.
#
# This is an analogy to 'domain' table found in SER relational database
# schema.
#
objectClass ( serObjectClass:1 NAME 'serDomain'
DESC 'SER Virtual Domains'
MUST ( serDID $ serDomain $ serFlags )
)
#
# This is an abstract class that can be used as a base for other classes
# storing SER uri/user/domain/global attributes. An object storing SER
# attributes must contain serAttrName, serAttrType, serAttrValue, and
# serFlags attributes.
#
objectClass ( serObjectClass:2 NAME 'serAttrAbstract'
ABSTRACT
MUST ( serAttrName $ serAttrType $ serAttrValue $ serFlags )
)
#
# An auxiliary class that can be used to extend other objects in an LDAP
# directory with the possibility to store SER attributes.
#
objectClass ( serObjectClass:3 NAME 'serAttr'
AUXILIARY
SUP serAttrAbstract
)
#
# This class is used to store domain level attributes. Domain level
# attributes are attributes used to store configuration information related
# to a virtual domain (i.e. common configuration for all users/URIs within
# that virtual domain), such as digest authentication realm or default
# language.
#
objectClass ( serObjectClass:4 NAME 'serDomainAttr'
DESC 'SER Domain Attributes'
SUP serAttrAbstract
MUST ( serDID )
)
|