mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
261 lines
7.8 KiB
261 lines
7.8 KiB
#
|
|
# $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 )
|
|
)
|
|
|