Two methods we used here,
Bedtime passes
If you think the not sleeping is a psychological thing then you could try something called bedtime tokens / bedtime passes. Start with a family meeting, draw up some sleep rules, get your child to suggest and draw them to give them some ownership.
Agree a reward. We used playmobil, I bought a camping set and split it all up, put the names of all the bits on individual slips of paper in a pot.
Make loads of tokens together. I mean loads. If the child gets up at bedtime or calls you in the night then that's absolutely fine and allowed, but costs 1 token. Put them in a pot by their bed. If there are tokens left in the morning, the child gets a reward. My daughters was whichever bit of the playmobil set was written on the slip of paper she drew out. Like a tombola. One day it would be a person or horse, the next day a fork or spoon! High stakes...
For the first few nights the child needs to succeed. So you need more tokens than they will use. My Daughter used more than 30 the first night. When they're in the swing of it, start to gradually reduce the number of tokens. It took us a few weeks to get down to 6. My daughter started to fail a few times and had to try. We got stuck at this level a while. Eventually we got down to 3 and at some point the system was gradually forgotten.
You can look this up, I believe it's called bedtime passes and there's a few articles out there.
This is a second option, and I can't for the life of me remember what it's called. My daughter would wake at 1:30am like a clock and not go back to sleep, sometimes at all. There is a technique used on insomniac adults where you work out how long you can sleep in a block without waking (xhrs), work out what time you need to get up, and don't go to bed until xhrs before then. Then gradually bring bedtime earlier. My daughter would sleep 6hrs then wake. Morning at 6am. So if she'd have been an adult she would have stayed up till midnight for a week or more, aiming to sleep 12-6, then started creeping bedtime forward. We didn't do midnight but did 10pm bedtime. Then snuck it forward. We found that if we put her to bed before 8pm she'd start waking in the night again.
We also did meditations and visualisations, and she has been prescribed melatonin on occasion.
Hope one of these might sound worth trying.