Those of you who have activated your iPhone through an unauthorized carrier (aka hacktivation) on iPhone 3.x, then your Push Notification functionality in most cases will be broken. Even if you have tried getting it to work through “PushFix” via iPhoneil available in Cydia, it wont work as that fix uses a single shared certificate for all users who have installed it. This causes battery drainage and huge use of cellular data access.
The following guide will help you in enabling Push Notifications on iPhone 2G/3G/3GS running iPhone firmware 3.1.2 which is both jailbroken and hacktivated. You will need to have an unlocked and jailbroken iPhone for this to work. Please refer to the guide here to unlock, and here to jailbreak your iPhone on 3.1.2 before you follow the steps below.