A method in a resource allocation server for allocating one or more resources to a request in a distributed environment, comprising: receiving the request from a third party, a first requester currently engaged in a communications session with the third party and the third party putting the first requester on hold, the request comprising a request for a music-on-hold resource to be made available; identifying one or more resources to handle said request; obtaining an assessment of a network connection between the first requester associated with said request and each of said one or more resources, wherein said network connection assessment is performed by the resource allocation server, which maintains the state of its own resources and resources of other resource allocation servers in said system, wherein said resource allocation server obtains said state of resources in other resource allocation servers from a resource summary record by way of a publish/subscribe mechanism; and assigning at least one of said one or more resources to said request based on said network connection assessment, wherein assigning includes: prior to a telephone associated with the first requester being notified of any change, instructing the telephone associated with the first requester to connect with at least one of said one or more resources assigned to said request, wherein the step of instructing is done by a call control application associated with the third party, and the telephone of the first requester is connected to the assigned one or more resources to enable music to be played to the first requester. receiving the request from a third party, a first requester currently engaged in a communications session with the third party and the third party putting the first requester on hold, the request comprising a request for a music-on-hold resource to be made available; identifying one or more resources to handle said request; obtaining an assessment of a network connection between the first requester associated with said request and each of said one or more resources, wherein said network connection assessment is performed by the resource allocation server, which maintains the state of its own resources and resources of other resource allocation servers in said system, wherein said resource allocation server obtains said state of resources in other resource allocation servers from a resource summary record by way of a publish/subscribe mechanism; and assigning at least one of said one or more resources to said request based on said network connection assessment, wherein assigning includes: prior to a telephone associated with the first requester being notified of any change, instructing the telephone associated with the first requester to connect with at least one of said one or more resources assigned to said request, wherein the step of instructing is done by a call control application associated with the third party, and the telephone of the first requester is connected to the assigned one or more resources to enable music to be played to the first requester. prior to a telephone associated with the first requester being notified of any change, instructing the telephone associated with the first requester to connect with at least one of said one or more resources assigned to said request, wherein the step of instructing is done by a call control application associated with the third party, and the telephone of the first requester is connected to the assigned one or more resources to enable music to be played to the first requester.