Why doesn’t your dog come to you when you call? Because he’s paying attention to where he is (or where he’s going) instead of you.
How do you get attention? By being more interesting than everything else. This doesn’t mean that your dog should only have eyes for you, it just means that when you ask your dog should want to pay attention to you.
Play the name game. Start at home in a quiet room and gradually work your way up to distractions both inside and outside. It may take a long time, but it’s amazing how much easier it is to ask your dog to do something when he’s actually looking at you.