Message to sip phone about missing call

Asterisk 20.5.2, pjsip
Yealink SIP phones, Call Waiting disabled

Simple dialplan

exten = _XXX, Dial(PJSIP/${EXTEN},90)

in this case, if I call number XXX and he is already talking, I hear a busy tone, and the callee receives a message on Yealink about a missed call when he hangs up and callee can view that missing in call history list.

Device states dialplan

exten = _XXX,1,Gosub(subDial,s,1(${EXTEN}))
 same = n,Hangup()

[subDial]
exten = s,1,Verbose(1, "Device State - ${DEVICE_STATE(PJSIP/${ARG1})}")
 same = n,GotoIf($["${DEVICE_STATE(PJSIP/${ARG1})}" = "INUSE"]?in_use)
 same = n,GotoIf($["${DEVICE_STATE(PJSIP/${ARG1})}" = "BUSY"]?busy);
 same = n,GotoIf($["${DEVICE_STATE(PJSIP/${ARG1})}" = "RINGING"]?ringing)
 same = n,GotoIf($["${DEVICE_STATE(PJSIP/${ARG1})}" = "UNAVAILABLE"]?unavail)
 same = n,Dial(${PJSIP_DIAL_CONTACTS(${ARG1})},90)
 same = n,Playback(number-not-answering&pls-try-call-later)
 same = n,Hangup()
 same = n(in_use),Playback(number&vm-isonphone&pls-try-call-later)
   same = n,Hangup()
 same = n(busy),Playback(number&vm-isonphone&pls-try-call-later)
   same = n,Hangup()
 same = n(ringing),Playback(number&vm-isonphone&pls-try-call-later)
   same = n,Hangup()
 same = n(unavail),Playback(number&vm-isunavail)
   same = n,Hangup()

in this case asterisk didn’t call to XXX, and callee not recieved message about missing call. How to send a message to a calle’s phone so that he sees the missed call event, including in the call history list?

Temporary solution: make a short call to the callee before hangup(), but it’s not nice.

same = n,Dial(${PJSIP_DIAL_CONTACTS(${ARG1})},1,r(silence))

Any ideas?

The call will only go into the phone’s call history if it is actually attempted.

I think you should look into whether you can disable the phone’s call waiting feature.

If the phone allows out of dialogue messages you may be able to message it about the current call, but it won’t go in its history.