This was just a permissions thing. I really should have spotted it earlier. The READ_PHONE_STATE is the one. Previous versions of the DPC library allowed this permission to be granted automatically but now we have to ask the user. Doing that has fixed the issue.