A method and system for routing messages received by a device is
described. The router routes messages to applications associated with a
provider that recognizes an incoming message type. Providers register
with the router to receive messages of a particular type. The providers
are prioritized so that the router delivers messages to the providers
based on the assigned priority. The router inquires with the providers in
their relative assigned priority. The router stops inquiring the
providers once an appropriate provider for the message has been found. If
the message does not belong to the provider then the next provider is
queried. Before delivering the message to the application, the provider
formats the message to the specifications provided by the application.