Yealink Forums
LDAP lookup doesn't work, though directory is basically searchable (T56A / T58) - Printable Version

+- Yealink Forums (http://forum.yealink.com/forum)
+-- Forum: IP Phone Series (/forumdisplay.php?fid=4)
+--- Forum: T5X Series (/forumdisplay.php?fid=58)
+--- Thread: LDAP lookup doesn't work, though directory is basically searchable (T56A / T58) (/showthread.php?tid=41485)



LDAP lookup doesn't work, though directory is basically searchable (T56A / T58) - Mr_Christian - 01-24-2018 04:23 PM

Hi,

we have several T56A and T58V which work in conjunction with a 3CX telephone system. The phones are configured to resolve the incoming / outgoing number. But though we can search the directory through the LDAP telephone book, we neither see the name of who is calling nor the name of who we are calling. Instead we see the plain telephone number.

Here is our configuration (see attached screenshot):

ldap.base = dc=3cx
ldap.call_in_lookup = 1
ldap.customize_label = Telefonbuch
ldap.dial_lookup = 1
ldap.display_name = %displayName
ldap.enable = 1
ldap.host = 192.168.182.7
ldap.name_attr = displayName cn sn
ldap.name_filter = (|(searchContact=%)(searchNumber=%))
ldap.numb_attr = telephoneNumber
ldap.number_filter = (searchNumber=%)
ldap.port = 712
ldap.user = 3cx

The LDAP directory is an Estos Metadirectory in version 4.0.3.5828. This directory supports special queries using searchContact and searchNumber which internally searches several fields and also takes care of formatting issues (like with or without country prefix, +49... or 0049..., and so on).

Using wireshark (see other screenshot), I could see that the LDAP server has been queried by the phone but - if I interpret it correctly - without any number within the LDAP-filter. Thus the result is not a single fitting contact but rather a list of non-fitting contacts (being the first entries of the whole directory). The phone presumably double-checks the number or can't handle the result having so many entries and thus shows nothing but the plain number.

I guess that the number which is sent to the LDAP server is not determined correctly. But why? How does the phone decide which number it sends to the LDAP server? And can I somehow configure this?

Thank you very much for your help!

Best regards
Chris

PS: Tested firmwares are 58.80.0.40 (newest) and 58.80.0.25.


RE: LDAP lookup doesn't work, though directory is basically searchable (T56A / T58) - Samuel_Yealink - 01-26-2018 09:31 AM

Dear Chris,

To identify the problem, we need you to provide more diagnostice information.
Would you please follow below FAQ and turn on the event capturing, reproduce this issue, and then send us the config.bin, and syslog on level 6?

http://support.yealink.com/faq/faqInfo?id=707

Kind Regards
Samuel Wang


RE: LDAP lookup doesn't work, though directory is basically searchable (T56A / T58) - Mr_Christian - 01-26-2018 01:59 PM

Hi Samuel,

I just seem to have figured it out myself a few minutes ago. Having tried various configurations I ended up with the following:

ldap.name_filter = (|(searchContact=%)(searchNumber=%))
ldap.number_filter = (|(searchContact=%)(searchNumber=%))

Though I already tried this configuration before, it is working now. I guess the reason it didn't work before was that the telephone system, the phone and the LDAP had different representations of the number. Let's try to explain what presumably was happening:

Within the 3CX telephone system I replaced +49 with 0 respectively + with 00. This lead to the phenomenom that the phone got the number without leading country code. (The reason for this number transformation was that I wanted to be able to dial calls from the missed calls list from within the 3CX softphone and this didn't send the + sign to the phone ending up in a wrong number. I later figured out that there was an option to automatically change the + sign with 00.)

Within the LDAP the number also has a leading + sign. Though the search functionality of our phone finds the number ignoring different number formats, it always replies with a number having the leading +. This seemed to confuse the phone.

The last part of the riddle was to find out that the phone treats all numbers with a leading + sign as a string and therefor queries the LDAP using the name- instead of the number-filter. Thus always searching both fields did the trick.

If someone else runs into the same problem: Always double check that the number sent from the telephone system and the one that comes from the ldap are in the same format. And keep in mind that the phone treats numbers with a + sign as names. That's it. Smile

Thanks a lot for the offered help. I might come back to you if there is something still not working.

Best regards

Chris

PS: It would be great to know how the phone works internally. Am I right that the number sent back from the LDAP is double checked within the phone? And does the phone really handle numbers with the + sign as strings and thus uses the name filter instead of the number filter? Thanks a lot for clarification - I gues this would help others struggling with the LDAP feature a lot!