Index: configs/res_ldap.conf.sample
===================================================================
--- configs/res_ldap.conf.sample	(revision 379211)
+++ configs/res_ldap.conf.sample	(working copy)
@@ -1,6 +1,5 @@
-;
 ; Configuration file for res_config_ldap
-;
+; https://wiki.asterisk.org/wiki/display/AST/LDAP+Realtime+Driver
 
 ; Realtime configuration
 ; ----------------------
@@ -14,8 +13,10 @@
 ; In the case of LDAP the last keyword in each line above specifies
 ; a section in this file.
 ;
-; LDAP schema and ldif files can be located in contrib/scripts.
+; LDAP schema and ldif files can be located in contrib/realtime/
 
+; Write access to the LDAP service is required by res_config_ldap.
+
 ; TLS support
 ; -----------
 ; Note that you can configure an ldaps: url here to get TLS support.
@@ -26,9 +27,13 @@
 ; *********************************************************************************
 ; NOTE: res_ldap.conf should be chmod 600 because it contains the plain-text LDAP
 ;       password to an account with WRITE access to the asterisk configuration. 
+;
+; NOTE: Secret/Password can be an MD5 hash. Field value is appended with {md5}.
+;       Generate the password via the md5sum command.
+;       printf "my_password" | md5sum
 ; *********************************************************************************
 
-[_general]
+[general]
 ;
 ; Specify one of either host and port OR url.  URL is preferred, as you can
 ; use more options.
@@ -63,12 +68,12 @@
 ; Extensions Table
 ;
 [extensions]
-context  =  AstExtensionContext
-exten  =  AstExtensionExten
-priority = AstExtensionPriority
-app = AstExtensionApplication
-appdata = AstExtensionApplicationData
-additionalFilter=(objectClass=AstExtension)
+context = AstContext
+exten = AstExtension
+priority = AstPriority
+app = AstApplication
+appdata = AstApplicationData
+additionalFilter=(objectClass=AsteriskExtension)
 
 ;
 ; Sip Users Table
@@ -83,44 +88,41 @@
                 ; This is possible by changing the line above to name = AstAccountName (or whatever you
                 ; prefer).
                 ;
+allow = AstAccountAllowedCodec
 amaflags = AstAccountAMAFlags
+callerid = AstAccountCallerID
 callgroup = AstAccountCallGroup
-callerid = AstAccountCallerID
+cancallforward = AstAccountCanCallForward
+context = AstAccountContext
+defaultuser = AstAccountDefaultUser
+deny = AstAccountDeny
 directmedia = AstAccountDirectMedia
-context = AstAccountContext
+disallow = AstAccountDisallowedCodec
 dtmfmode = AstAccountDTMFMode
+fromdomain = AstAccountFromDomain
 fromuser = AstAccountFromUser
-fromdomain = AstAccountFromDomain
 fullcontact = AstAccountFullContact
-fullcontact = gecos
 host = AstAccountHost
 insecure = AstAccountInsecure
+ipaddr = AstAccountIPAddress
+lastms = AstAccountLastQualifyMilliseconds
 mailbox = AstAccountMailbox
-md5secret = AstAccountRealmedPassword           ; Must be an MD5 hash. Field value can start with
-                                                ; {md5} but it is not required.
-                                                ; Generate the password via the md5sum command, e.g.
-                                                ; echo "my_password" | md5sum
+md5secret = AstMD5secret
+musiconhold = AstAccountMusicOnHold
 nat = AstAccountNAT
-deny = AstAccountDeny
 permit = AstAccountPermit
 pickupgroup = AstAccountPickupGroup
 port = AstAccountPort
 qualify = AstAccountQualify
+regcontext = AstAccountRegistrationContext
+regexten = AstAccountRegistrationExten
+regseconds = AstAccountExpirationTimestamp
+regserver = AstAccountRegistrationServer
 restrictcid = AstAccountRestrictCID
+rtpholdtimeout = AstAccountRTPHoldTimeout
 rtptimeout = AstAccountRTPTimeout
-rtpholdtimeout = AstAccountRTPHoldTimeout
 type = AstAccountType
-disallow = AstAccountDisallowedCodec
-allow = AstAccountAllowedCodec
-MusicOnHold = AstAccountMusicOnHold
-regseconds = AstAccountExpirationTimestamp
-regcontext = AstAccountRegistrationContext
-regexten = AstAccountRegistrationExten
-CanCallForward = AstAccountCanCallForward
-ipaddr = AstAccountIPAddress
-defaultuser = AstAccountDefaultUser
-regserver = AstAccountRegistrationServer
-lastms = AstAccountLastQualifyMilliseconds
+useragent = AstAccountUserAgent
 additionalFilter=(objectClass=AsteriskSIPUser)
 
 ;
@@ -134,10 +136,7 @@
 fullcontact = gecos
 host = AstAccountHost
 mailbox = AstAccountMailbox
-md5secret = AstAccountRealmedPassword           ; Must be an MD5 hash. Field value can start with
-                                                ; {md5} but it is not required.
-                                                ; Generate the password via the md5sum command, e.g.
-                                                ; echo "my_password" | md5sum
+md5secret = AstMD5secret
 deny = AstAccountDeny
 permit = AstAccountPermit
 port = AstAccountPort
@@ -150,6 +149,7 @@
 regexten = AstAccountRegistrationExten
 notransfer = AstAccountNoTransfer
 lastms = AstAccountLastQualifyMilliseconds
+useragent = AstAccountUserAgent
 additionalFilter=(objectClass=AstAccountIAX)
 
 ;
@@ -173,10 +173,7 @@
 host = AstAccountHost
 insecure = AstAccountInsecure
 mailbox = AstAccountMailbox
-md5secret = AstAccountRealmedPassword           ; Must be an MD5 hash. Field value can start with
-                                                ; {md5} but it is not required.
-                                                ; Generate the password via the md5sum command, e.g.
-                                                ; echo "my_password" | md5sum
+md5secret = AstMD5secret
 nat = AstAccountNAT
 deny = AstAccountDeny
 permit = AstAccountPermit
@@ -189,10 +186,55 @@
 type = AstAccountType
 disallow = AstAccountDisallowedCodec
 allow = AstAccountAllowedCodec
-MusicOnHold = AstAccountMusicOnHold
+musiconhold = AstAccountMusicOnHold
 regseconds = AstAccountExpirationTimestamp
 regcontext = AstAccountRegistrationContext
 regexten = AstAccountRegistrationExten
-CanCallForward = AstAccountCanCallForward
+cancallcorward = AstAccountCanCallForward
 additionalFilter=(objectClass=AstAccount)
 
+[queue]
+name=AstQueueName
+musiconhold=AstQueueMoh
+announce=AstQueueAnnounce
+context=AstQueueContext
+timeout=AstQueueTimeout
+monitor_join=AstQueueMonjoin
+monitor_format=AstQueueMonformat
+queue_youarenext=AstQueueYouarenext
+queue_thereare=AstQueueThereare
+queue_callswaiting=AstQueueCallswaiting
+queue_holdtime=AstQueueHoldtime
+queue_minutes=AstQueueMinutes
+queue_seconds=AstQueueSeconds
+queue_lessthan=AstQueueLessthan
+queue_thankyou=AstQueueThankyou
+queue_reporthold=AstQueueReporthold
+announce_frequency=AstQueueFrequency
+announce_round_seconds=AstQueueRoundseconds
+announce_holdtime=AstQueueAnnounceholdtime
+retry=AstQueueRetry
+wrapuptime=AstQueueWrapuptime
+maxlen=AstQueueMaxlen
+servicelevel=AstQueueServicelevel
+strategy=AstQueueStrategy
+joinempty=AstQueueJoinempty
+leavewhenempty=AstQueueLeavewhenempty
+eventmemberstatus=AstQueueEventmemberstatus
+eventwhencalled=AstQueueEventwhencalled
+reportholdtime=AstQueueReportholdtime
+memberdelay=AstQueueMemberdelay
+weight=AstQueueWeight
+timeoutrestart=AstQueueTimeoutrestart
+periodic_announce=AstQueuePeriodicannounce
+periodic_announce_frequency=AstQueuePeriodicannouncefrequency
+additionalFilter=(objectClass=AsteriskQueue)
+
+[queue_member]
+uniqueid=AstAccountCallerID
+membername=AstQueueMembername
+queue_name=AstQueueMemberof
+interface=AstQueueInterface
+penalty=AstQueuePenality
+paused=AstQueuePaused
+additionalFilter=(objectClass=AsteriskQueueMember)
