No on-site opportunities ??????
You want to go onsite, but there no chance for you. Have you find what is reason behind this, or you are under false hopes "onsite" from your manager. In Indian IT industry, there are a number of cases of false promises from the manger for on-site.
Another reason is that, some IT professional good in technical but not in functional and some good in functional but not good in technical. So if you want on-site, then you should know functional and little-bit technical also.
One more reason is communication skill, and this is very important. Because of this 80% of IT professional doesn't get chances for on-site. Yes 80% and this data are correct, so in today's time you must learn a communication skill. You have to practice each and every day at least 20 minutes.
Overconfidence, the biggest problem. There are so many professional they know technical and not too much functional, but they are in overconfidence like they know each every thing. This is the biggest mistake.
Control yourself, just learn functional and technical and most important communication skill. If you want to change jobs or you want on-site or better package, then communication skill should be.