How do I modify the P-asserted Identity

Update again:
I just find out I couldn’t add any header to the SIP packet through the extension_custom.conf, this is really bugging me, here’s my code in the conf file:
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(PJSIP_HEADER(add,P-Asserted-Identity)=sip:mike(@)192.168.0.253)
exten => s,n,Set(PJSIP_HEADER(add,Diversion)=sip:mike(@)192.168.0.253)

from the CLI i can see these are being executed:
– Executing [s@macro-dialout-trunk-predial-hook:1] Set(“Local/00XXXXXXX@from-internal-00000023;2”, “PJSIP_HEADER(add,P-Asserted-Identity)=sip:mike(@)192.168.0.253”) in new stack

[2019-08-13 10:34:26] ERROR[21758][C-00000049]: res_pjsip_header_funcs.c:513 func_write_header: This function requires a PJSIP channel.

-- Executing [s@macro-dialout-trunk-predial-hook:3] Set("Local/00XXXXXXXX(@)from-internal-00000023;2", "PJSIP_HEADER(add,Diversion)=sip:mike(@)192.168.0.253") in new stack

[2019-08-13 10:34:26] ERROR[21758][C-00000049]: res_pjsip_header_funcs.c:513 func_write_header: This function requires a PJSIP channel.

The error says it requires a PJSIP Channel, but I am using PJSIP. there’s got be something I am not doing it correct, would someone please help, I am really desperate!!