In a system for providing user input information to multiple independent,
concurrent applications, the applications send subscription messages to a
device receiving user input such as a telephone receiving key presses
from a keypad. Each subscription message identifies a pattern of user
input that the application is to be notified of. The device monitors the
user input to identify the occurrence of the identified patterns. When a
specified pattern of user input is detected, the device notifies the
corresponding application via a signaling channel linking the application
with the device. The subscription messages use regular expressions
including various formats to specify the patterns of interest, such as a
single digit (explicitly or wildcard), one of a set of digits, a range of
digits, and a repeating pattern of digits. The subscription messages can
also contain tags associated with the regular expressions, which are
returned to the application upon reporting the occurrence of a pattern to
enable the application to readily identify the context of the
notification.