My oldest son rolled over at 4 months. However my youngest son didn't roll over until he was over 5 months, and even then he didn't do it very often. He didn't really start doing it on a regular basis until he was about 6 months. I have found with all his milestones he is behind his older brother. All babies move at their own pace and I think their personality has a lot to do with it. My oldest is anxious and a go getter, where my youngest mister easy going and in no hurry for anything.
When your son is ready or gets bored he will eventually get it. The best thing I can reccomend is just be patient and don't read all the articles that say what babies should be doing at a certain age (they just cause stress). Just give him pleanty of time on the floor to play and lean.