The CallKit API may also be useful in preventing other aspects of distracted driving. For example, the CallKit API has the ability to be notified of system calls and calls from other VoIP applications. Using the knowledge of these calls, the CallKit API may be used to mute, or even terminate, these other calls to prevent the user from being distracted by new incoming calls or continuing existing calls. Again, the instruction to mute or terminate the VoIP call would only be implemented if and when the distracted driving software determined that the user was accessing or attempting to launch a “forbidden” or blacklisted application or function on the iOS device while the user of the device is driving or in a location in which the application or function on the iOS device is prohibited by the distracted driving application installed on or in controlling communication with the iOS device.
In response to a new incoming call, the CallKit API may be used to tell the system that the distracted driving software also has an incoming call. This would make it difficult or impossible for the user to answer the other call and, therefore, prevents the user from talking on the phone while driving.
In another implementation the system can be configured quickly to initiate and disconnect calls repeatedly as long as the screen is on. This would have the effect of preventing the user from accessing any other applications while the user of the device is driving or in a location in which the application or function on the iOS device is prohibited by the distracted driving application installed on or in controlling communication with the iOS device. A notification may also be shown to the user during this time to help explain the actions taking place to reduce confusion.