Aastra 57i BLF/Presence?

Stewart

Guru
Joined
Sep 16, 2009
Messages
603
Reaction score
6
These Aastra 57i phones are really nice. They allow me to see the directory and choose an extension. Unfortunately, when I look at the extension it shows the user as available even when they are on the phone. It only changes if someone updates their phone Presence. I'd like it to also show if someone is on the phone.

Is there a way to add that function to the directory.php script? I'll start tinkering with it, but php isn't exactly my strength. Has this already been done? Or am I missing something?
 
Noone? Okay. Then how about this: Does anyone know where that status is notated for asterisk so I can pull it from there? I know I can check the status by setting a softkey as a type blf, but that doesn't give me any insight as to how the phone is performing the function and it only gives me a few buttons to configure for it.

I'm trying to figure out a solution that doesn't involve a sidecar on every phone.
 
OK. So far I've deduced this much:

1. This really all should happen in directory.php. I had an idea to make it a new Presence on the phone and modifying away.php, but I couldn't see a way to make it happen.

2. I add a third icon in the Icons List to represent the Phone Off Hook:
# Icons
if(Aastra_is_icons_supported())
{
$object->addIcon('1',Aastra_get_custom_icon('Available'));
$object->addIcon('2',Aastra_get_custom_icon('DND'));
$object->addIcon('3','Icon:PhoneOffHook');
}


3. I add an extra check here:
if($AA_PRESENCE_STATE)
{
if(Aastra_is_icons_supported())
{
if(($v['status']==AA_PRESENCE_AVAILABLE) $icon='1';
else $icon='2';
}
else $name='['.$status_short[$v['status']].']'.$v['name'];
}


To something like this:


if($AA_PRESENCE_STATE)
{
if(Aastra_is_icons_supported())
{
if(($v['status']==AA_PRESENCE_AVAILABLE) and ($DEVSTATE($v)!=NOT_INUSE))
{
$icon='3';
elseif(($v['status']==AA_PRESENCE_AVAILABLE) and ($DEVSTATE($v)==NOT_INUSE))
{
$icon='1';
else $icon='2';
}
}
}
else $name='['.$status_short[$v['status']].']'.$v['name'];
}

Theoretically, that should do it. Unfortunately, I seem to have something wrong in the if statements. Any ideas? I'm not exactly sure how this is handling the arrays so using $v seems wrong.
 

Members online

No members online now.

Forum statistics

Threads
26,688
Messages
174,412
Members
20,259
Latest member
Fadeek86
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top