This is because you are missing a key setting for your devices/endpoints in their proper config(s) in Asterisk. The “Directed Call Pickup” prefix is just that in the phone, the prefix. When you go to use it, it must know the extension/destination you’re trying to pick up. In order for the phone to know the details the NOTIFY has to contain the information in it’s message body. That is not done by default and you need to enable the devices/endpoints to do so.
For Chan_SIP you can go into the global SIP settings at where it gives you the option to add custom settings at the bottom of the page you add
notifycid=yes. Now PJSIP is going to be a bit more tricky as PJSIP doesn’t have “global endpoint settings” like Chan_SIP each endpoint must have its own settings to it. So for PJSIP you would have to use the pjsip.endpoints_custom_post.conf and for each endpoint you would need: (using 100 as an example)
And yes, every endpoint needs it. So you’ll have to do this for each of them. I know it is a pain in the ass but for some reason this important settings to make BLF+Call Pickup work on phones just aren’t part of the regular setup or config options for either driver.