mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
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: https://origsvn.digium.com/svn/asterisk/trunk@99696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
2
CHANGES
2
CHANGES
@@ -463,6 +463,8 @@ Miscellaneous New Modules
|
|||||||
to retrieve, create, update, and delete realtime information from a remote
|
to retrieve, create, update, and delete realtime information from a remote
|
||||||
web server. Note that this module requires func_curl.so to be loaded for
|
web server. Note that this module requires func_curl.so to be loaded for
|
||||||
backend functionality.
|
backend functionality.
|
||||||
|
* Added a new module, res_config_ldap, which permits the use of an LDAP
|
||||||
|
server for realtime data access.
|
||||||
|
|
||||||
Miscellaneous
|
Miscellaneous
|
||||||
-------------
|
-------------
|
||||||
|
@@ -13,6 +13,7 @@ IMAP_TK=@PBX_IMAP_TK@
|
|||||||
ISDNNET=@PBX_ISDNNET@
|
ISDNNET=@PBX_ISDNNET@
|
||||||
IXJUSER=@PBX_IXJUSER@
|
IXJUSER=@PBX_IXJUSER@
|
||||||
JACK=@PBX_JACK@
|
JACK=@PBX_JACK@
|
||||||
|
LDAP=@PBX_LDAP@
|
||||||
LTDL=@PBX_LTDL@
|
LTDL=@PBX_LTDL@
|
||||||
LUA=@PBX_LUA@
|
LUA=@PBX_LUA@
|
||||||
MISDN=@PBX_MISDN@
|
MISDN=@PBX_MISDN@
|
||||||
|
141
configs/res_ldap.conf.sample
Normal file
141
configs/res_ldap.conf.sample
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
;
|
||||||
|
; Configuration file for res_config_ldap
|
||||||
|
;
|
||||||
|
|
||||||
|
; Sample Asterisk config file for res_config_ldap
|
||||||
|
; in extconfig.conf you can use it like this:
|
||||||
|
; sipusers = ldap,"dc=myDomain,dc=myDomainExt",sip
|
||||||
|
; sippeers = ldap,"dc=myDomain,dc=myDomainExt",sip
|
||||||
|
; extensions = ldap,"dc=myDomain,dc=myDomainExt",extensions
|
||||||
|
; sip.conf = ldap,"dc=myDomain,dc=myDomainExt",config
|
||||||
|
|
||||||
|
|
||||||
|
[_general]
|
||||||
|
;host=192.168.1.1,ldap.mydomain.com ; LDAP host(s)
|
||||||
|
;protocol=3 ; Version of the LDAP protocol to use default is 3.
|
||||||
|
;basedn=MyRootDN ; Base DN
|
||||||
|
;pass=MyPassword ; Bind password
|
||||||
|
;user=MyDN ; Bind DN
|
||||||
|
|
||||||
|
; Configuration Table
|
||||||
|
[config]
|
||||||
|
; addtional filter - This specifies an additional set of criteria to be used
|
||||||
|
; when querying the LDAP server.
|
||||||
|
additionalFilter=(objectClass=PBXConfig)
|
||||||
|
; Attributes mapping (asterisk variable name = ldap attribute name)
|
||||||
|
; When Asterisk requests the variable by the name of the value on the left,
|
||||||
|
; this module will look up the attribute listed on the right.
|
||||||
|
filename = PBXConfigFilename
|
||||||
|
category = PBXConfigCategory
|
||||||
|
variable_name = PBXConfigVariableName
|
||||||
|
variable_value = PBXConfigVariableValue
|
||||||
|
cat_metric = PBXConfigCategoryMetric
|
||||||
|
commented = PBXConfigCommented
|
||||||
|
|
||||||
|
; Extensions Table
|
||||||
|
[extensions]
|
||||||
|
context = PBXExtensionContext
|
||||||
|
exten = PBXExtensionExten
|
||||||
|
priority = PBXExtensionPriority
|
||||||
|
app = PBXExtensionApplication
|
||||||
|
appdata = PBXExtensionApplicationData
|
||||||
|
additionalFilter=(objectClass=PBXExtension)
|
||||||
|
|
||||||
|
; Sip Users Table
|
||||||
|
[sip]
|
||||||
|
name = uid
|
||||||
|
amaflags = PBXAccountAMAFlags
|
||||||
|
callgroup = PBXAccountCallGroup
|
||||||
|
callerid = PBXAccountCallerID
|
||||||
|
canreinvite = PBXAccountCanReinvite
|
||||||
|
context = PBXAccountContext
|
||||||
|
dtmfmode = PBXAccountDTMFMode
|
||||||
|
fromuser = PBXAccountFromUser
|
||||||
|
fromdomain = PBXAccountFromDomain
|
||||||
|
fullcontact = PBXAccountFullContact
|
||||||
|
fullcontact = gecos
|
||||||
|
host = PBXAccountHost
|
||||||
|
insecure = PBXAccountInsecure
|
||||||
|
mailbox = PBXAccountMailbox
|
||||||
|
md5secret = realmedPassword
|
||||||
|
nat = PBXAccountNAT
|
||||||
|
deny = PBXAccountDeny
|
||||||
|
permit = PBXAccountPermit
|
||||||
|
pickupgroup = PBXAccountPickupGroup
|
||||||
|
port = PBXAccountPort
|
||||||
|
qualify = PBXAccountQualify
|
||||||
|
restrictcid = PBXAccountRestrictCID
|
||||||
|
rtptimeout = PBXAccountRTPTimeout
|
||||||
|
rtpholdtimeout = PBXAccountRTPHoldTimeout
|
||||||
|
type = PBXAccountType
|
||||||
|
disallow = PBXAccountDisallowedCodec
|
||||||
|
allow = PBXAccountAllowedCodec
|
||||||
|
MusicOnHold = PBXAccountMusicOnHold
|
||||||
|
regseconds = PBXAccountExpirationTimestamp
|
||||||
|
regcontext = PBXAccountRegistrationContext
|
||||||
|
regexten = PBXAccountRegistrationExten
|
||||||
|
CanCallForward = PBXAccountCanCallForward
|
||||||
|
additionalFilter=(objectClass=PBXAccountSIP)
|
||||||
|
|
||||||
|
; IAX Users Table
|
||||||
|
[iax]
|
||||||
|
amaflags = PBXAccountAMAFlags
|
||||||
|
callerid = PBXAccountCallerID
|
||||||
|
context = PBXAccountContext
|
||||||
|
fullcontact = PBXAccountFullContact
|
||||||
|
fullcontact = gecos
|
||||||
|
host = PBXAccountHost
|
||||||
|
mailbox = PBXAccountMailbox
|
||||||
|
md5secret = realmedPassword
|
||||||
|
deny = PBXAccountDeny
|
||||||
|
permit = PBXAccountPermit
|
||||||
|
port = PBXAccountPort
|
||||||
|
qualify = PBXAccountQualify
|
||||||
|
type = PBXAccountType
|
||||||
|
disallow = PBXAccountDisallowedCodec
|
||||||
|
allow = PBXAccountAllowedCodec
|
||||||
|
regseconds = PBXAccountExpirationTimestamp
|
||||||
|
regcontext = PBXAccountRegistrationContext
|
||||||
|
regexten = PBXAccountRegistrationExten
|
||||||
|
notransfer = PBXAccountNoTransfer
|
||||||
|
additionalFilter=(objectClass=PBXAccountIAX)
|
||||||
|
|
||||||
|
; A Test Family
|
||||||
|
[testfamily]
|
||||||
|
MyUSERID = uid
|
||||||
|
additionalFilter=(objectClass=*)
|
||||||
|
|
||||||
|
[accounts]
|
||||||
|
amaflags = PBXAccountAMAFlags
|
||||||
|
callgroup = PBXAccountCallGroup
|
||||||
|
callerid = PBXAccountCallerID
|
||||||
|
canreinvite = PBXAccountCanReinvite
|
||||||
|
context = PBXAccountContext
|
||||||
|
dtmfmode = PBXAccountDTMFMode
|
||||||
|
fromuser = PBXAccountFromUser
|
||||||
|
fromdomain = PBXAccountFromDomain
|
||||||
|
fullcontact = PBXAccountFullContact
|
||||||
|
fullcontact = gecos
|
||||||
|
host = PBXAccountHost
|
||||||
|
insecure = PBXAccountInsecure
|
||||||
|
mailbox = PBXAccountMailbox
|
||||||
|
md5secret = realmedPassword
|
||||||
|
nat = PBXAccountNAT
|
||||||
|
deny = PBXAccountDeny
|
||||||
|
permit = PBXAccountPermit
|
||||||
|
pickupgroup = PBXAccountPickupGroup
|
||||||
|
port = PBXAccountPort
|
||||||
|
qualify = PBXAccountQualify
|
||||||
|
restrictcid = PBXAccountRestrictCID
|
||||||
|
rtptimeout = PBXAccountRTPTimeout
|
||||||
|
rtpholdtimeout = PBXAccountRTPHoldTimeout
|
||||||
|
type = PBXAccountType
|
||||||
|
disallow = PBXAccountDisallowedCodec
|
||||||
|
allow = PBXAccountAllowedCodec
|
||||||
|
MusicOnHold = PBXAccountMusicOnHold
|
||||||
|
regseconds = PBXAccountExpirationTimestamp
|
||||||
|
regcontext = PBXAccountRegistrationContext
|
||||||
|
regexten = PBXAccountRegistrationExten
|
||||||
|
CanCallForward = PBXAccountCanCallForward
|
||||||
|
additionalFilter=(objectClass=PBXAccount)
|
||||||
|
|
319
configure
vendored
319
configure
vendored
@@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.ac Revision: 98971 .
|
# From configure.ac Revision: 98985 .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.61 for asterisk 1.4.
|
# Generated by GNU Autoconf 2.61 for asterisk 1.4.
|
||||||
#
|
#
|
||||||
@@ -777,6 +777,10 @@ JACK_LIB
|
|||||||
JACK_INCLUDE
|
JACK_INCLUDE
|
||||||
JACK_DIR
|
JACK_DIR
|
||||||
PBX_JACK
|
PBX_JACK
|
||||||
|
LDAP_LIB
|
||||||
|
LDAP_INCLUDE
|
||||||
|
LDAP_DIR
|
||||||
|
PBX_LDAP
|
||||||
LTDL_LIB
|
LTDL_LIB
|
||||||
LTDL_INCLUDE
|
LTDL_INCLUDE
|
||||||
LTDL_DIR
|
LTDL_DIR
|
||||||
@@ -1587,6 +1591,7 @@ Optional Packages:
|
|||||||
--with-imap=PATH use UW IMAP Toolkit files in PATH
|
--with-imap=PATH use UW IMAP Toolkit files in PATH
|
||||||
--with-isdnnet=PATH use ISDN4Linux Library files in PATH
|
--with-isdnnet=PATH use ISDN4Linux Library files in PATH
|
||||||
--with-jack=PATH use Jack Audio Connection Kit files in PATH
|
--with-jack=PATH use Jack Audio Connection Kit files in PATH
|
||||||
|
--with-ldap=PATH use OpenLDAP files in PATH
|
||||||
--with-ltdl=PATH use libtool files in PATH
|
--with-ltdl=PATH use libtool files in PATH
|
||||||
--with-lua=PATH use Lua files in PATH
|
--with-lua=PATH use Lua files in PATH
|
||||||
--with-misdn=PATH use mISDN User Library files in PATH
|
--with-misdn=PATH use mISDN User Library files in PATH
|
||||||
@@ -8329,6 +8334,34 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LDAP_DESCRIP="OpenLDAP"
|
||||||
|
LDAP_OPTION="ldap"
|
||||||
|
|
||||||
|
# Check whether --with-ldap was given.
|
||||||
|
if test "${with_ldap+set}" = set; then
|
||||||
|
withval=$with_ldap;
|
||||||
|
case ${withval} in
|
||||||
|
n|no)
|
||||||
|
USE_LDAP=no
|
||||||
|
;;
|
||||||
|
y|ye|yes)
|
||||||
|
ac_mandatory_list="${ac_mandatory_list} LDAP"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
LDAP_DIR="${withval}"
|
||||||
|
ac_mandatory_list="${ac_mandatory_list} LDAP"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
PBX_LDAP=0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LTDL_DESCRIP="libtool"
|
LTDL_DESCRIP="libtool"
|
||||||
LTDL_OPTION="ltdl"
|
LTDL_OPTION="ltdl"
|
||||||
|
|
||||||
@@ -33193,6 +33226,268 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if test "x${PBX_LDAP}" != "x1" -a "${USE_LDAP}" != "no"; then
|
||||||
|
pbxlibdir=""
|
||||||
|
# if --with-LDAP=DIR has been specified, use it.
|
||||||
|
if test "x${LDAP_DIR}" != "x"; then
|
||||||
|
if test -d ${LDAP_DIR}/lib; then
|
||||||
|
pbxlibdir="-L${LDAP_DIR}/lib"
|
||||||
|
else
|
||||||
|
pbxlibdir="-L${LDAP_DIR}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
pbxfuncname="ldap_first_attribute"
|
||||||
|
if test "x${pbxfuncname}" = "x" ; then # empty lib, assume only headers
|
||||||
|
AST_LDAP_FOUND=yes
|
||||||
|
else
|
||||||
|
as_ac_Lib=`echo "ac_cv_lib_ldap_${pbxfuncname}" | $as_tr_sh`
|
||||||
|
{ echo "$as_me:$LINENO: checking for ${pbxfuncname} in -lldap" >&5
|
||||||
|
echo $ECHO_N "checking for ${pbxfuncname} in -lldap... $ECHO_C" >&6; }
|
||||||
|
if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
ac_check_lib_save_LIBS=$LIBS
|
||||||
|
LIBS="-lldap ${pbxlibdir} $LIBS"
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
|
||||||
|
/* Override any GCC internal prototype to avoid an error.
|
||||||
|
Use char because int might match the return type of a GCC
|
||||||
|
builtin and then its argument prototype would still apply. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
#endif
|
||||||
|
char ${pbxfuncname} ();
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
return ${pbxfuncname} ();
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext conftest$ac_exeext
|
||||||
|
if { (ac_try="$ac_link"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_link") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } && {
|
||||||
|
test -z "$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
} && test -s conftest$ac_exeext &&
|
||||||
|
$as_test_x conftest$ac_exeext; then
|
||||||
|
eval "$as_ac_Lib=yes"
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
eval "$as_ac_Lib=no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
LIBS=$ac_check_lib_save_LIBS
|
||||||
|
fi
|
||||||
|
ac_res=`eval echo '${'$as_ac_Lib'}'`
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_res" >&5
|
||||||
|
echo "${ECHO_T}$ac_res" >&6; }
|
||||||
|
if test `eval echo '${'$as_ac_Lib'}'` = yes; then
|
||||||
|
AST_LDAP_FOUND=yes
|
||||||
|
else
|
||||||
|
AST_LDAP_FOUND=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# now check for the header.
|
||||||
|
if test "${AST_LDAP_FOUND}" = "yes"; then
|
||||||
|
LDAP_LIB="${pbxlibdir} -lldap "
|
||||||
|
# if --with-LDAP=DIR has been specified, use it.
|
||||||
|
if test "x${LDAP_DIR}" != "x"; then
|
||||||
|
LDAP_INCLUDE="-I${LDAP_DIR}/include"
|
||||||
|
fi
|
||||||
|
LDAP_INCLUDE="${LDAP_INCLUDE} "
|
||||||
|
if test "xldap.h" = "x" ; then # no header, assume found
|
||||||
|
LDAP_HEADER_FOUND="1"
|
||||||
|
else # check for the header
|
||||||
|
saved_cppflags="${CPPFLAGS}"
|
||||||
|
CPPFLAGS="${CPPFLAGS} ${LDAP_INCLUDE} "
|
||||||
|
if test "${ac_cv_header_ldap_h+set}" = set; then
|
||||||
|
{ echo "$as_me:$LINENO: checking for ldap.h" >&5
|
||||||
|
echo $ECHO_N "checking for ldap.h... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_header_ldap_h+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
fi
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_cv_header_ldap_h" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_header_ldap_h" >&6; }
|
||||||
|
else
|
||||||
|
# Is the header compilable?
|
||||||
|
{ echo "$as_me:$LINENO: checking ldap.h usability" >&5
|
||||||
|
echo $ECHO_N "checking ldap.h usability... $ECHO_C" >&6; }
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$ac_includes_default
|
||||||
|
#include <ldap.h>
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (ac_try="$ac_compile"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_compile") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } && {
|
||||||
|
test -z "$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
} && test -s conftest.$ac_objext; then
|
||||||
|
ac_header_compiler=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_header_compiler=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
|
||||||
|
echo "${ECHO_T}$ac_header_compiler" >&6; }
|
||||||
|
|
||||||
|
# Is the header present?
|
||||||
|
{ echo "$as_me:$LINENO: checking ldap.h presence" >&5
|
||||||
|
echo $ECHO_N "checking ldap.h presence... $ECHO_C" >&6; }
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <ldap.h>
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null && {
|
||||||
|
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
|
||||||
|
test ! -s conftest.err
|
||||||
|
}; then
|
||||||
|
ac_header_preproc=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_header_preproc=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
|
||||||
|
echo "${ECHO_T}$ac_header_preproc" >&6; }
|
||||||
|
|
||||||
|
# So? What about this header?
|
||||||
|
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
|
||||||
|
yes:no: )
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: proceeding with the compiler's result" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: proceeding with the compiler's result" >&2;}
|
||||||
|
ac_header_preproc=yes
|
||||||
|
;;
|
||||||
|
no:yes:* )
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: present but cannot be compiled" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: present but cannot be compiled" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: check for missing prerequisite headers?" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: check for missing prerequisite headers?" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: see the Autoconf documentation" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: see the Autoconf documentation" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: section \"Present But Cannot Be Compiled\"" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: proceeding with the preprocessor's result" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: proceeding with the preprocessor's result" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: ldap.h: in the future, the compiler will take precedence" >&5
|
||||||
|
echo "$as_me: WARNING: ldap.h: in the future, the compiler will take precedence" >&2;}
|
||||||
|
( cat <<\_ASBOX
|
||||||
|
## ------------------------------- ##
|
||||||
|
## Report this to www.asterisk.org ##
|
||||||
|
## ------------------------------- ##
|
||||||
|
_ASBOX
|
||||||
|
) | sed "s/^/$as_me: WARNING: /" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
{ echo "$as_me:$LINENO: checking for ldap.h" >&5
|
||||||
|
echo $ECHO_N "checking for ldap.h... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_header_ldap_h+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
ac_cv_header_ldap_h=$ac_header_preproc
|
||||||
|
fi
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_cv_header_ldap_h" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_header_ldap_h" >&6; }
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test $ac_cv_header_ldap_h = yes; then
|
||||||
|
LDAP_HEADER_FOUND=1
|
||||||
|
else
|
||||||
|
LDAP_HEADER_FOUND=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
CPPFLAGS="${saved_cppflags}"
|
||||||
|
fi
|
||||||
|
if test "x${LDAP_HEADER_FOUND}" = "x0" ; then
|
||||||
|
LDAP_LIB=""
|
||||||
|
LDAP_INCLUDE=""
|
||||||
|
else
|
||||||
|
if test "x${pbxfuncname}" = "x" ; then # only checking headers -> no library
|
||||||
|
LDAP_LIB=""
|
||||||
|
fi
|
||||||
|
PBX_LDAP=1
|
||||||
|
# XXX don't know how to evaluate the description (third argument) in AC_DEFINE_UNQUOTED
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_LDAP 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define HAVE_LDAP_VERSION
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "x${PBX_MISDN}" != "x1" -a "${USE_MISDN}" != "no"; then
|
if test "x${PBX_MISDN}" != "x1" -a "${USE_MISDN}" != "no"; then
|
||||||
pbxlibdir=""
|
pbxlibdir=""
|
||||||
# if --with-MISDN=DIR has been specified, use it.
|
# if --with-MISDN=DIR has been specified, use it.
|
||||||
@@ -49415,6 +49710,10 @@ JACK_LIB!$JACK_LIB$ac_delim
|
|||||||
JACK_INCLUDE!$JACK_INCLUDE$ac_delim
|
JACK_INCLUDE!$JACK_INCLUDE$ac_delim
|
||||||
JACK_DIR!$JACK_DIR$ac_delim
|
JACK_DIR!$JACK_DIR$ac_delim
|
||||||
PBX_JACK!$PBX_JACK$ac_delim
|
PBX_JACK!$PBX_JACK$ac_delim
|
||||||
|
LDAP_LIB!$LDAP_LIB$ac_delim
|
||||||
|
LDAP_INCLUDE!$LDAP_INCLUDE$ac_delim
|
||||||
|
LDAP_DIR!$LDAP_DIR$ac_delim
|
||||||
|
PBX_LDAP!$PBX_LDAP$ac_delim
|
||||||
LTDL_LIB!$LTDL_LIB$ac_delim
|
LTDL_LIB!$LTDL_LIB$ac_delim
|
||||||
LTDL_INCLUDE!$LTDL_INCLUDE$ac_delim
|
LTDL_INCLUDE!$LTDL_INCLUDE$ac_delim
|
||||||
LTDL_DIR!$LTDL_DIR$ac_delim
|
LTDL_DIR!$LTDL_DIR$ac_delim
|
||||||
@@ -49448,10 +49747,6 @@ UNIXODBC_INCLUDE!$UNIXODBC_INCLUDE$ac_delim
|
|||||||
UNIXODBC_DIR!$UNIXODBC_DIR$ac_delim
|
UNIXODBC_DIR!$UNIXODBC_DIR$ac_delim
|
||||||
PBX_UNIXODBC!$PBX_UNIXODBC$ac_delim
|
PBX_UNIXODBC!$PBX_UNIXODBC$ac_delim
|
||||||
OGG_LIB!$OGG_LIB$ac_delim
|
OGG_LIB!$OGG_LIB$ac_delim
|
||||||
OGG_INCLUDE!$OGG_INCLUDE$ac_delim
|
|
||||||
OGG_DIR!$OGG_DIR$ac_delim
|
|
||||||
PBX_OGG!$PBX_OGG$ac_delim
|
|
||||||
OSPTK_LIB!$OSPTK_LIB$ac_delim
|
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||||
@@ -49493,6 +49788,10 @@ _ACEOF
|
|||||||
ac_delim='%!_!# '
|
ac_delim='%!_!# '
|
||||||
for ac_last_try in false false false false false :; do
|
for ac_last_try in false false false false false :; do
|
||||||
cat >conf$$subs.sed <<_ACEOF
|
cat >conf$$subs.sed <<_ACEOF
|
||||||
|
OGG_INCLUDE!$OGG_INCLUDE$ac_delim
|
||||||
|
OGG_DIR!$OGG_DIR$ac_delim
|
||||||
|
PBX_OGG!$PBX_OGG$ac_delim
|
||||||
|
OSPTK_LIB!$OSPTK_LIB$ac_delim
|
||||||
OSPTK_INCLUDE!$OSPTK_INCLUDE$ac_delim
|
OSPTK_INCLUDE!$OSPTK_INCLUDE$ac_delim
|
||||||
OSPTK_DIR!$OSPTK_DIR$ac_delim
|
OSPTK_DIR!$OSPTK_DIR$ac_delim
|
||||||
PBX_OSPTK!$PBX_OSPTK$ac_delim
|
PBX_OSPTK!$PBX_OSPTK$ac_delim
|
||||||
@@ -49586,10 +49885,6 @@ VPB_DIR!$VPB_DIR$ac_delim
|
|||||||
PBX_VPB!$PBX_VPB$ac_delim
|
PBX_VPB!$PBX_VPB$ac_delim
|
||||||
X11_LIB!$X11_LIB$ac_delim
|
X11_LIB!$X11_LIB$ac_delim
|
||||||
X11_INCLUDE!$X11_INCLUDE$ac_delim
|
X11_INCLUDE!$X11_INCLUDE$ac_delim
|
||||||
X11_DIR!$X11_DIR$ac_delim
|
|
||||||
PBX_X11!$PBX_X11$ac_delim
|
|
||||||
ZLIB_LIB!$ZLIB_LIB$ac_delim
|
|
||||||
ZLIB_INCLUDE!$ZLIB_INCLUDE$ac_delim
|
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||||
@@ -49631,6 +49926,10 @@ _ACEOF
|
|||||||
ac_delim='%!_!# '
|
ac_delim='%!_!# '
|
||||||
for ac_last_try in false false false false false :; do
|
for ac_last_try in false false false false false :; do
|
||||||
cat >conf$$subs.sed <<_ACEOF
|
cat >conf$$subs.sed <<_ACEOF
|
||||||
|
X11_DIR!$X11_DIR$ac_delim
|
||||||
|
PBX_X11!$PBX_X11$ac_delim
|
||||||
|
ZLIB_LIB!$ZLIB_LIB$ac_delim
|
||||||
|
ZLIB_INCLUDE!$ZLIB_INCLUDE$ac_delim
|
||||||
ZLIB_DIR!$ZLIB_DIR$ac_delim
|
ZLIB_DIR!$ZLIB_DIR$ac_delim
|
||||||
PBX_ZLIB!$PBX_ZLIB$ac_delim
|
PBX_ZLIB!$PBX_ZLIB$ac_delim
|
||||||
ZAPTEL_LIB!$ZAPTEL_LIB$ac_delim
|
ZAPTEL_LIB!$ZAPTEL_LIB$ac_delim
|
||||||
@@ -49699,7 +49998,7 @@ CURL_CONFIG!$CURL_CONFIG$ac_delim
|
|||||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 66; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 70; then
|
||||||
break
|
break
|
||||||
elif $ac_last_try; then
|
elif $ac_last_try; then
|
||||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||||
|
@@ -216,6 +216,7 @@ AST_EXT_LIB_SETUP([IKSEMEL], [Iksemel Jabber Library], [iksemel])
|
|||||||
AST_EXT_LIB_SETUP([IMAP_TK], [UW IMAP Toolkit], [imap])
|
AST_EXT_LIB_SETUP([IMAP_TK], [UW IMAP Toolkit], [imap])
|
||||||
AST_EXT_LIB_SETUP([ISDNNET], [ISDN4Linux Library], [isdnnet])
|
AST_EXT_LIB_SETUP([ISDNNET], [ISDN4Linux Library], [isdnnet])
|
||||||
AST_EXT_LIB_SETUP([JACK], [Jack Audio Connection Kit], [jack])
|
AST_EXT_LIB_SETUP([JACK], [Jack Audio Connection Kit], [jack])
|
||||||
|
AST_EXT_LIB_SETUP([LDAP], [OpenLDAP], [ldap])
|
||||||
AST_EXT_LIB_SETUP([LTDL], [libtool], [ltdl])
|
AST_EXT_LIB_SETUP([LTDL], [libtool], [ltdl])
|
||||||
AST_EXT_LIB_SETUP([LUA], [Lua], [lua])
|
AST_EXT_LIB_SETUP([LUA], [Lua], [lua])
|
||||||
AST_EXT_LIB_SETUP([MISDN], [mISDN User Library], [misdn])
|
AST_EXT_LIB_SETUP([MISDN], [mISDN User Library], [misdn])
|
||||||
@@ -814,6 +815,8 @@ AST_EXT_LIB_CHECK([JACK], [jack], [jack_activate], [jack/jack.h])
|
|||||||
# Needed by unixodbc
|
# Needed by unixodbc
|
||||||
AST_EXT_LIB_CHECK([LTDL], [ltdl], [lt_dlinit], [ltdl.h], [])
|
AST_EXT_LIB_CHECK([LTDL], [ltdl], [lt_dlinit], [ltdl.h], [])
|
||||||
|
|
||||||
|
AST_EXT_LIB_CHECK([LDAP], [ldap], [ldap_first_attribute], [ldap.h])
|
||||||
|
|
||||||
AST_EXT_LIB_CHECK([MISDN], [mISDN], [mISDN_open], [mISDNuser/mISDNlib.h])
|
AST_EXT_LIB_CHECK([MISDN], [mISDN], [mISDN_open], [mISDNuser/mISDNlib.h])
|
||||||
|
|
||||||
if test "${PBX_MISDN}" = 1; then
|
if test "${PBX_MISDN}" = 1; then
|
||||||
|
562
contrib/scripts/asterisk.ldap-schema
Normal file
562
contrib/scripts/asterisk.ldap-schema
Normal file
@@ -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
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
567
contrib/scripts/asterisk.ldif
Normal file
567
contrib/scripts/asterisk.ldif
Normal file
@@ -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
|
||||||
|
)
|
||||||
|
)
|
||||||
|
#
|
||||||
|
|
65
doc/ldap.txt
Normal file
65
doc/ldap.txt
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
Asterisk Realtime LDAP Driver
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
With this driver Asterisk can retrieve information from a LDAP drectory, including
|
||||||
|
sip/iax users, extensions and configuration.
|
||||||
|
|
||||||
|
See configs/res_ldap.conf.sample for a configuration file sample
|
||||||
|
|
||||||
|
|
||||||
|
Here is a LDAP dif sample:
|
||||||
|
|
||||||
|
# Base SIP Phones Entry
|
||||||
|
dn: uid=phone-base,dc=myDomain,dc=myDomainExt
|
||||||
|
objectClass: top
|
||||||
|
objectClass: AstAccount
|
||||||
|
objectClass: AstAccountSIP
|
||||||
|
uid: phone-base
|
||||||
|
AstAccountAccountingCode: baseacccode
|
||||||
|
AstAccountHost: dynamic
|
||||||
|
preferredLanguage: FR
|
||||||
|
AstAccountAMAFlags: billing
|
||||||
|
AstAccountContext: ldaptest
|
||||||
|
|
||||||
|
|
||||||
|
# A Phone. realmedPassword md5 hash should be the result of
|
||||||
|
# echo -n "UID:SIPRealm:Password" | md5sum
|
||||||
|
dn: uid=phone-test,dc=myDomain,dc=myDomainExt
|
||||||
|
objectClass: top
|
||||||
|
objectClass: AstAccount
|
||||||
|
objectClass: AstAccountSIP
|
||||||
|
uid: phone-test
|
||||||
|
AstAccountAccountingCode: acc-phone-base
|
||||||
|
AstAccountFullContact: Noone <1234>
|
||||||
|
AstAccountCallerID: 1234
|
||||||
|
AstAccountBaseDN: uid=phone-base,dc=myDomain,dc=myDomainExt
|
||||||
|
realmedPassword: {MD5}f67965da780bf9c70d6e337f938cee6f
|
||||||
|
|
||||||
|
|
||||||
|
# extensions,
|
||||||
|
dn: ou=extensions,dc=myDomain,dc=myDomainExt
|
||||||
|
ou: extensions
|
||||||
|
objectClass: top
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
|
||||||
|
# Extension 100 Priority 1 in context ldaptest
|
||||||
|
dn: cn=100-1,ou=extensions,dc=myDomain,dc=myDomainExt
|
||||||
|
AstExtensionApplication: NoOp
|
||||||
|
AstExtensionApplicationData: TEST LDAP
|
||||||
|
objectClass: top
|
||||||
|
objectClass: AstExtension
|
||||||
|
AstExtensionExten: 100
|
||||||
|
AstExtensionContext: ldaptest
|
||||||
|
cn: 100-1
|
||||||
|
AstExtensionPriority: 1
|
||||||
|
|
||||||
|
# Extension 100 Priority 1 in context ldaptest
|
||||||
|
dn: cn=100-2,ou=extensions,dc=myDomain,dc=myDomainExt
|
||||||
|
objectClass: top
|
||||||
|
objectClass: AstExtension
|
||||||
|
AstExtensionExten: 100
|
||||||
|
AstExtensionContext: ldaptest
|
||||||
|
cn: 100-2
|
||||||
|
AstExtensionPriority: 2
|
||||||
|
AstExtensionApplication: hangup
|
||||||
|
|
@@ -373,6 +373,12 @@
|
|||||||
/* Define to indicate the ${JACK_DESCRIP} library version */
|
/* Define to indicate the ${JACK_DESCRIP} library version */
|
||||||
#undef HAVE_JACK_VERSION
|
#undef HAVE_JACK_VERSION
|
||||||
|
|
||||||
|
/* Define this to indicate the ${LDAP_DESCRIP} library */
|
||||||
|
#undef HAVE_LDAP
|
||||||
|
|
||||||
|
/* Define to indicate the ${LDAP_DESCRIP} library version */
|
||||||
|
#undef HAVE_LDAP_VERSION
|
||||||
|
|
||||||
/* Define to 1 if you have the <libintl.h> header file. */
|
/* Define to 1 if you have the <libintl.h> header file. */
|
||||||
#undef HAVE_LIBINTL_H
|
#undef HAVE_LIBINTL_H
|
||||||
|
|
||||||
|
@@ -102,6 +102,9 @@ IMAP_TK_LIB=@IMAP_TK_LIB@
|
|||||||
JACK_INCLUDE=@JACK_INCLUDE@
|
JACK_INCLUDE=@JACK_INCLUDE@
|
||||||
JACK_LIB=@JACK_LIB@
|
JACK_LIB=@JACK_LIB@
|
||||||
|
|
||||||
|
LDAP_INCLUDE=@LDAP_INCLUDE@
|
||||||
|
LDAP_LIB=@LDAP_LIB@
|
||||||
|
|
||||||
LUA_INCLUDE=@LUA_INCLUDE@
|
LUA_INCLUDE=@LUA_INCLUDE@
|
||||||
LUA_LIB=@LUA_LIB@
|
LUA_LIB=@LUA_LIB@
|
||||||
|
|
||||||
|
1550
res/res_config_ldap.c
Normal file
1550
res/res_config_ldap.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user