Heads-up notifications with onesignal - incoming call

hello!
i want to implement incoming call notifications like whatsapp with onesignal but i do not understand some concepts.
i was thinking that i could send to the other person by a simple notification by resto api but it seems that it is not so easy.
my app uses ionic capacitor-angular

sending a manual push notification with urgent priority(channel) and buttons on the dashboard seems kind of nice but its having an accordeon button to then display the buttons.
seems similar to whatsapp icoming call but not completely, wsp notification doesnt have that accordeon button, shows inmediately the ui to take or reject call. to get a result like i need to write java code or onesignal provide more options to customize? do i have to write special java code?

another thing i am not clear about is the concepts of data and background notifications and voip notifications. do i necessarily have to use voip technology to send this kind of push notifications?

what else should i take into account? what should i read? does anybody have a example of this to share? i found some posts in the forum but seems old

if anyone can help me, i would be very grateful :pray:

notification sent from dashboard

whatsapp incoming call notification
image