Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
userdoc:tt_ldap_client [2013/10/25 13:49]
abelbeck [Asterisk Usage Examples]
userdoc:tt_ldap_client [2013/11/18 08:37] (current)
abelbeck [Phone LDAP Directory CLI Scripts]
Line 92: Line 92:
 !!Note: AstLinux 1.1.4 or later is required!! !!Note: AstLinux 1.1.4 or later is required!!
  
-**ldap-phone-name-lookup**+If the local LDAP Server is enabled and populated with a directory, the typical LDAP Client setting to anonymously access via localhost is as follows:
  
-  Usage: ldap-phone-name-lookup [--tls] name+{{:userdoc:ldap-client-system-defaults.jpg?​nolink|LDAP Client Defaults}} 
 +\\ 
 +\\ 
 +**ldap-phone-num-lookup**
  
-The '​name'​ is filtered as''​(|(cn=$name)(displayname=$name))''​+  Usageldap-phone-num-lookup [-ht] [--tls] [-m|--match-num list] [-o|--output-name list] number 
 +   
 +  Options: 
 +      -h, --help ​            Show help 
 +      -t, --tls              Enable TLS using start_tls 
 +      -m, --match-num list   Comma separated list to match number. Default: telephonenumber,​mobile,​cellphone,​homephone 
 +      -o, --output-name list Comma separated list to display the name. Default: displayname,​cn,​sn,​givenname
  
-Standard output returns ​(multiplephone numbers separated by a tilde (~).+By default the '​number'​ is matched as: ''​(|(telephonenumber=$number)(mobile=$number)(cellphone=$number)(homephone=$number))''​
  
-**ldap-phone-num-lookup**+Standard output returns the first ''​displayname/​cn/​sn/​givenname''​ that contains a matching number.
  
-  Usage: ldap-phone-num-lookup [--tls] number+Use the optional ''​-m|--match-num list''​ and ''​-o|--output-name list''​ options to limit and specify the order of the matching and output. 
 +\\ 
 +\\ 
 +**ldap-phone-name-lookup**
  
-The '​number'​ is filtered as''​(|(telephonenumber=$number)(mobile=$number)(cellphone=$number)(homephone=$number))''​+  Usageldap-phone-name-lookup [-ht] [--tls] [-m|--match-name list] [-o|--output-num list] name 
 +   
 +  Options: 
 +      -h, --help ​            Show help 
 +      -t, --tls              Enable TLS using start_tls 
 +      -m, --match-name list  Comma separated list to match name. Default: cn,​displayname 
 +      -o, --output-num list  Comma separated list to display numbers. Default: ​telephonenumber,mobile,cellphone,homephone
  
-Standard output returns the first ''​displayname/​cn/​sn/​givenname'' ​that contains a matching ​number.+By default the '​name'​ is matched as: ''​(|(cn=$name)(displayname=$name))''​ 
 + 
 +Standard output returns ​(multiple) phone number(s) separated by a tilde (~). 
 + 
 +Use the optional ​''​-m|--match-name list'' ​and ''​-o|--output-num list''​ options to limit and specify the order of the matching ​and output.
  
 ==== Asterisk Usage Examples ==== ==== Asterisk Usage Examples ====
  
 Examples how the ''​ldap-phone-name-lookup''​ and ''​ldap-phone-num-lookup''​ scripts can be used an Asterisk dialplan. Examples how the ''​ldap-phone-name-lookup''​ and ''​ldap-phone-num-lookup''​ scripts can be used an Asterisk dialplan.
 +
 +**CallerID number lookup via LDAP and AstDB**
 +
 +<​code>​[subCID-lookup]
 +; CallerID(num) lookup, first LDAP then AstDB
 +exten => s,​1,​NoOp(CallerID lookup, first LDAP then AstDB ...)
 + same => n,ExecIf($[ $["​${CALLERID(num)}"​ != ""​] & $["​${CALLERID(name)}"​ = ""​] ]?​Set(LDAP_Name=${SHELL(ldap-phone-num-lookup '​${ARG1}'​)})
 + same => n,​ExecIf($["​${LDAP_Name}"​ != ""​]?​Set(CALLERID(name)=${LDAP_Name}))
 + same => n,ExecIf($[ $["​${CALLERID(num)}"​ != ""​] & $["​${CALLERID(name)}"​ = ""​] ]?​Set(CALLERID(name)=${DB(cidname/​${CALLERID(num)})}))
 + same => n,​Return()</​code>​
 +
 +And in your incoming context put this line somewhere:
 +
 +  exten => s,​n,​GoSub(subCID-lookup,​s,​1(${CALLERID(num)}))