I've implemented a working video chat app using EasyRTC as framework.
If I make video call through my Wi-Fi internet connection, everything is working. When I make a video call through 3G internet connection, I can see list of connected user, but when I start video call to a listed one, I can't see any video or listen any audio (but message exchange is working).
Is it possible that mobile data network carrier limits p2p traffic of video call?
Yes you are correct. Some networks block WebRTC flows.
You only have STUN servers. That's why you will need a TURN server in order to relay the media flows. This link will provide you a method in order to deploy a TURN server.