Contact Photos on Sangoma Phones?

I have both the s500 and the s700 Sangoma VoIP phones. In User Manager and Contact Manager I have setup Gravatar images for some users. I’d like for these pictures to show up on the phones when someone dials the associated extension, but so far they still show the default generic contact picture. Any idea how to fully set this up?

I also noticed that the phone’s HTTP GUI has an option for “Contacts Photo Server Path”, but I don’t see this documented anywhere…

You’ll need the very latest Contact Manager, User Manager, and Endpoint to set this up. The configuration items were just added to Endpoint today.

1 Like

In EPM latest version under options you can enable or disable Picture Caller ID lookup

2 Likes

I’m still having problems with this.

I’ve updated all of my modules, in the EPM template under Options I enabled “Contact Photos.” They still don’t show up on the phone.

If I HTTP into the phone I can see that it filled in the Contacts Photo Server Path with:
http://my.freepbx.ip.address:84/image.php?token=mytoken&did=

If I copy and paste that string into my browser, I can append an extension to it and see the photo that should show up, but it still doesn’t show up on the phone.

Does this require a firmware update to the phone? I’m on 2.0.4.14 (2016-08-12).

It requires firmware 2.0.4.14 or higher. It only works currently on inbound calls.

Thank you for your assistance. I’ve been able to get it to work for incoming calls now.

I’m still having problems getting it to work reliably, though. For some reason my contact photo and one of my coworker’s contact photos work perfect (we’re both domain admins, we have user management synced with LDAP, don’t know if that makes a difference but I thought I’d point it out). With other users it’s been very sporadic though. I had one user working fine, then after adding another user her’s stopped working. I’ve tried setting up the photos both in Contact Manager and in User Manager. Neither seem to work. I’ve been using calls to image.php to test, with my extension it works fine but I get nothing when using another extension. Going back into contact manager and/or user manager I can verify that the pictures are still there.

Any idea of what I can do to debug the problem?

Photo caller ID has to be enabled in the phone through template manager inside EPM and the phone has to be on firmware 2.0.4.14 or newer.

I understand that. And for two users I have it working fine. But for some reason I can’t get it to work consistently with other users.

If I can’t pull up the pictures using the image.php restapp, there’s no way the phone will.

On a side note, deleting pictures in User Management is broken. It works fine in Contact Manager, but if you delete a picture in User Management and refresh, the picture will still be there.

Did a little more testing, I completely reinstalled the Contact Manager and Phone Apps modules, trying to get a fresh start. Added contact photos for more users. Right now I have 8 users whose contact photos show up fine from image.php, and 2 that won’t show up at all, with no significant differences between them that I can tell.

When an inbound call fails to get the contact image, what shows up in the httpd access_log?

grep image.php /var/log/httpd/access_log

A successful attempt should look like this:

10.8.0.18 - - [25/Aug/2016:09:01:20 -0300] "GET /image.php?token=f35124e66138cd8d1891a854177e8a52&did=/2005.png HTTP/1.1" 200 10761 "-" "Sangoma S500 2.0.4.14 00:50:58:50:00:c0"

A failed attempt will have a 404:

10.8.0.18 - - [23/Aug/2016:13:18:49 -0300] "GET /image.php?token=f35124e66138cd8d1891a854177e8a52&did=/2002.png HTTP/1.1" 404 - "-" "Sangoma S500 2.0.4.14 00:50:58:50:00:c0"

Here’s a successful attempt:
192.168.0.54 - - [26/Aug/2016:15:31:27 -0400] “GET /image.php?token=36c108aeedfebb707ce2f09ca2f3b7a2&did=/255.png HTTP/1.1” 200 15775 “-” “Sangoma S700 2.0.4.14 00:50:58:50:15:c8”

Here’s a failed attempt:
192.168.0.54 - - [26/Aug/2016:15:26:41 -0400] “GET /image.php?token=36c108aeedfebb707ce2f09ca2f3b7a2&did=/231.png HTTP/1.1” 404 - “-” “Sangoma S700 2.0.4.14 00:50:58:50:15:c8”

Do you have a phone number in the system with the digits “231” in it?

Yes. It’s linked to the user account and appears to work fine elsewise.

No. You are mis understanding. Do you have another number with the numbers “231” in it.

Example: 555-2315

No, currently we only have 3 digit extensions programmed in, and no external numbers added. Also, 231 is only one example. We have another user with the same problem, 238.

I’ve added more users, and photos aren’t working for 3 more of them (212, 205, 262).

Another user, 268, is somehow displaying the picture that I uploaded for 255. 255 works fine. If I go into the User Management page, the correct picture shows up for 268, but the wrong picture shows up on the phone. This is the only instance I’ve found of it.

So far out of 29 users I have with contact photos, 23 have working contact photos. Not sure what’s causing the problems with the other ones, I’ve tried unlinking and relinking the extensions but that hasn’t helped.

I can’t replicate this issue here. Contact Photos are brand new so I am sure their is a big somewhere but I can not replicate it here. Maybe @tm1000 has some ideas to debug this.

Just noticed you are using LDAP with userman. We do not use that here and it has lots of limitations still that need to be worked through not sure if that is where the problem is.

Would a VDI image of my server be useful in diagnosing this issue?

On a side note, if I look at the MySQL database, I can see all the pictures that I’ve uploaded in the contactmanager_entry_images table. Is this where image.php pulls it’s images from, or does it reference another place on the hard drive?

I actually tried to do a little more troubleshooting and think I have a lead on the issue. I was looking through Contactmanager.class.php and was trying to manually go through the steps taken when pulling up a image. It appears that there can be conflicts when searching for a DID that will cause the lookupByUserID function to return the wrong entry. In my case, it’s the authid column in the userman_users table.

For instance, when I try calling image.php with extension 268, the user for extension 255 happens to have the number 268 within their authid, so it picks up that image instead. I’ve found similar conflicts with most of my problematic extensions.