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:54]
abelbeck [Phone LDAP Directory CLI Scripts]
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!!
  
-If the local LDAP Server is enabled and populated with a directory, the typical LDAP Client setting to anonymously access via localhost is:+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:
  
 {{:​userdoc:​ldap-client-system-defaults.jpg?​nolink|LDAP Client Defaults}} {{:​userdoc:​ldap-client-system-defaults.jpg?​nolink|LDAP Client Defaults}}
 +\\
 +\\
 +**ldap-phone-num-lookup**
  
 +  Usage: ldap-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
  
-**ldap-phone-name-lookup**+By default the '​number'​ is matched as: ''​(|(telephonenumber=$number)(mobile=$number)(cellphone=$number)(homephone=$number))''​
  
-  Usage: ldap-phone-name-lookup [--tls] name+Standard output returns the first ''​displayname/​cn/​sn/​givenname''​ that contains a matching number.
  
-The 'name' ​is filtered as: ''​(|(cn=$name)(displayname=$name))''​+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**
  
-Standard output returns (multiple) ​phone numbers ​separated ​by a tilde (~).+  Usage: ldap-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 numbersDefault: telephonenumber,​mobile,​cellphone,​homephone
  
-**ldap-phone-num-lookup**+By default the '​name'​ is matched as: ''​(|(cn=$name)(displayname=$name))''​
  
-  Usage: ldap-phone-num-lookup [--tls] ​number+Standard output returns (multiple) ​phone number(s) separated by a tilde (~).
  
-The 'number' ​is filtered as: ''​(|(telephonenumber=$number)(mobile=$number)(cellphone=$number)(homephone=$number))''​ +Use the optional ​''​-m|--match-name list'' ​and ''​-o|--output-num list'' ​options to limit and specify the order of the matching ​and output.
- +
-Standard ​output ​returns the first ''​displayname/​cn/​sn/​givenname''​ that contains a matching ​number.+
  
 ==== 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)}))