Iphone 4s wont send imessage:?

I have a iphone 4s. My carrier is fido. When i am at home, im able to send imessages and text without a problem. But when im out, it wont send imeessages even though i have full bars, and only sometimes it send text. I tried turning on/off airplane mode, but that works for like 20 seconds. I try cloising the app and opening again and even turining off my phone but nothing works. Please if you have any idea what can help me, or how to fix this, thanks a lot!

So, iMessage works over Wifi connection, and SMS works over cellular connection. When you are at home, connected to Wifi, iMessage sends just fine. If you are out and it doesn't send, that probably means you don't have a data plan. Because the iPhone's iMessage works over Internet connection NOT cellular. So even If you have 5 bars, but no data plan, the iMessage won't send bc iMessage requires either WiFi, or data plan to send. Good luck!

What the bloody hell is fido…