LDAP Directory Search and Dial for Cisco IP phones

| 4 Comments | No TrackBacks

(Originally posted December 14, 2005)
The stock "Corporate Directory" function in CallManager relies on user information found either in Active Directory or Cisco's DCD. Our official directory information is kept in an enterprise LDAP server, so I put together a simple Perl CGI to take search parameters from phone keypad (text) input, query the LDAP server, and return search results to the phone, providing name, department, and phone number.

The phone number comes back from the LDAP search in the format "+1 814 555 1212" so if we want to have a Dial hotkey available, the number first has to be formatted according to the system's dial plan. The University's dialing plan is not too complicated, so parsing out a dialable number required only a few regexps.

There is a toggle switch in the code to allow or disallow returning of entries with no phone number in the directory. In a way, I like having entries returned even if there is no phone number. If I am searching for John Doe, at least I will see that he exists in the system, but does not have a permanent phone assignment.

Download the scripts from repos/phoneldap.

(Update on October 18, 2007)

I updated the files in the repository. There have been some changes since 2005, including a new departmental lookup function. I'm not going to go into detail about each file; start with dirmenu.txml. (Point the Directories URL in CallManager to this file.) Setup of the web server options is the same as for the weather and RSS scripts.

Here's what it looks like...

Directories Menu screen
Directories Main Menu
Entering a name to search
Entering a name to search
Results page with Dial softkey
Search results with Dial softkey

No TrackBacks

TrackBack URL: https://blogs.psu.edu/mt4/mt-tb.cgi/7396

4 Comments

Hey Bill, this is a cool look up you have in place. Could I hire you just to install something similar in my company. I'm not using a cisco call manager

Thanks

muchas gracias amigo tu trabajo me sirvio mucho

Hello, i would like to know how can i use your script but with a authentication for my ldap.

Thanks a lot .

Instead of the anonymous bind,

# Make an anonyous bind to the directory
$ldap->bind ;

Provide parameters to the bind() function to authenticate.

See http://search.cpan.org/~gbarr/perl-ldap-0.37/lib/Net/LDAP/Examples.pod and find the heading "BINDING" to see how to do this.

Leave a comment

March 2009

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

Recent Comments

  • Bill: Instead of the anonymous bind, # Make an anonyous bind read more
  • marsup: Hello, i would like to know how can i use read more
  • erick: muchas gracias amigo tu trabajo me sirvio mucho read more
  • Teo: Hey Bill, this is a cool look up you have read more

Contact Me


AIM: TNS BillS

View William Simon's profile on LinkedIn

Donate

Make a gift
Like this blog? Support education and research at Penn State by donating any amount to an area of your choice.

Subscribe

Blogroll

Disclaimer

We are Penn State, but I am not. Opinions expressed on this blog are those of the author and do not represent the opinions of The Pennsylvania State University or any division therein, including but not limited to the author's workgroup, department, administrative unit, or campus. Technologies and ideas discussed on this blog do not describe a production service unless noted.