As noted on the wiki page[1] PJSIP_HEADER is for use on the channel it should be used on, in your dialplan you’re using it on the calling channel which won’t work. The b option on Page[2] can be used to execute a subroutine to place it on the outgoing channel, much like is given in the example on the PJSIP_HEADER wiki page.
I’m not sure that you can add the same header multiple times (check the protocol log), and if you do manage it, I’m not sure that the phone will process all of them. If the headers are being sent, this is not an Asterisk problem.
Have you enabled auto answer on the phones. This will be disabled by default, as it presents a security risk, as it can be used to bug the room with the phone.