A system, method, and apparatus are directed towards routing a Voice over
IP (VOIP) messages over a network. The VOIP messages are sent by a source
client device to a destination client device through a portal service
that has access to multiple routing services such as peering partners,
carriers, etc. A VOIP system of the portal service aggregates call
quality data after each VOIP call over each routing service. The call
quality data is analyzed to determine a perception factor for each
routing service at various times of day, days of the week, day of the
year, geographic areas, and the like. When a VOIP call is requested
through the portal service, the VOIP system determines a current cost, a
current quality of service, and the perception factor for each routing
service. A weighting is applied to each criterion and a routing service
is selected for routing the VOIP call.