This is what we did...
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've used penny sweets and playmobil. We used playmobil, I bought a camping set and split it all up, put the names of all the bits in a pot and Dd got a new piece at random every morning she had tokens left.
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.
For the first few nights the child needs to succeed. So you need more tokens than they will use. My Dd 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. Dd 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. 30+ night wakings down to 1 or 2 was a lot bloody better.
You can look this up, I believe it's called bedtime passes and there's a few articles out there.