Continuing collecting info on SMS functions in 3.0.... In order to react on incoming SMS, we need to add our own observer for correspondent notification (btw, in 3.0 those notifications are kCTMessageReceivedNotification and kCKSMSRecordReceivedNotification). Also, if we want not only to react on SMS, but to completely intercept it, we need to remove system observers (which is the title of current thread). And this procedure, for some reason, is the cause of some obstacles. In 2.0 it was enough to inject this code into SBTelephonyManager init merhod: [OBJC]void *ct = CTTelephonyCenterGetDefault(); CTTelephonyCenterRemoveObserver(ct, SBTelephonyManager,kCTSMSMessageReceivedNotification,NULL); [/OBJC] It appears, that this is not enough for 3.0. Removing observers from SBTelephonyManager for both notifications does not give needed result. I have also tried to inject into [SBSMSManager init] this removal functions: [OBJC]CTTelephonyCenterRemoveObserver(ct, _SBSMSManager,kCKSMSRecordReceivedNotification,NULL); CTTelephonyCenterRemoveObserver(ct, _SBSMSManager,kCTMessageReceivedNotification,NULL);[/OBJC] And still - no result. So, apparently, I am missing some observer(s) in other classes. And I am stuck figuring out what are those classes. Does anyone have experience in dealing with this in 3.0? Any help, information and hints will be greatly appreciated.