Yealink Forums

Full Version: [Workaround] BLF caller preview with Asterisk and T4xG phones
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

what is sadly not working with Asterisk is if you want to get caller info (cid) on a incoming call to a monitored phone (BLF).

I wrote a short script to get this info within a AGI script which pushed the info to the Yealink phones via XML.
It may be helpful for other users.
So if somebody is interested in this please let me know and I will clean up the script and post it here...
Hello,

That might be sweet, can you post a picture of the results ?

Thanks,
Hi,

attached the necessary AGI file and a screenshot of phone display.

I'm running this on Asterisk 13.13-cert3 with latest version of phpagi libs: http://phpagi.sourceforge.net/
In these libs the config file has to be edited to your needs.

Process is to click BLF key on phone while the monitored extension is ringing.
A call goes out to Asterisk where the AGI script is called.
A XML message is sent to the phone by the AGI script and the call will hang up.
On the phone you can see the caller information and pick the call.

My dialplan:
Quote:exten => _*8XXX,1,Set(VIATMP=${CUT(SIP_HEADER(VIA), ,2)})
exten => _*8XXX,n,Set(IPADDR=${CUT(VIATMP,:,1)})
exten => _*8XXX,n,AGI(pushBlfCid.php,${IPADDR},${EXTEN:2})
exten => _*8XXX,n,Answer()
exten => _*8XXX,n,Hangup(16)
exten => _*88XXX,1,Pickup(${EXTEN:3}@PICKUPMARK)
exten => _*88XXX,2,Hangup(16)

Hope this will help.

AGI of course could be edited to fit needs of other phones.
Code is surely improveable Wink
Hi there !

Good work on that !

Unfortunatelly, i can't really do this kind of modification as my Multi-Tenant PBX is hosted. I don't want to install or modify files on the server. If something bugs/breaks, I will be held liable about it and i'll get fees for that.

All in all, really good find, I'm interested if I ever host my own PBX.
(06-20-2017 06:27 AM)Patrick77 Wrote: [ -> ]Hi,

attached the necessary AGI file and a screenshot of phone display.

I'm running this on Asterisk 13.13-cert3 with latest version of phpagi libs: http://phpagi.sourceforge.net/
In these libs the config file has to be edited to your needs.

Process is to click BLF key on phone while the monitored extension is ringing.
A call goes out to Asterisk where the AGI script is called.
A XML message is sent to the phone by the AGI script and the call will hang up.
On the phone you can see the caller information and pick the call.

My dialplan:
Quote:exten => _*8XXX,1,Set(VIATMP=${CUT(SIP_HEADER(VIA), ,2)})
exten => _*8XXX,n,Set(IPADDR=${CUT(VIATMP,:,1)})
exten => _*8XXX,n,AGI(pushBlfCid.php,${IPADDR},${EXTEN:2})
exten => _*8XXX,n,Answer()
exten => _*8XXX,n,Hangup(16)
exten => _*88XXX,1,Pickup(${EXTEN:3}@PICKUPMARK)
exten => _*88XXX,2,Hangup(16)

Hope this will help.

AGI of course could be edited to fit needs of other phones.
Code is surely improveable Wink

Nice job! We are trying to resolve the same problem on 4xG/4xS phones with PJSIP and still not successful. We got all VIATMP and IPADDR from PJSIP header but get immediate hangup and do not see the caller ID on BLF
Reference URL's