If BBB server is not responding, BBB API call tries to connect to remote server until connection is timed out. The "Connection timed out" errors are not displayed because of the "@"-sign in the XML load function / API call: @simplexml_load_file(). In our use case the BBB meeting server may be switched off when the meetings are not in progress. Default timeout is normally 30 seconds, so this is the user would have to wait for each unsuccessful API call.

The currently used function simplexml_load_file() doesn't have a timeout parameter. We should use timeout-sensitive function to call the API instead. The easiest would be to use drupal_http_request() for loading XML and use simplexml_load_string() to load the XML data into SimpleXMLElement object.

I have created a draft of the function that would process the API calls: http://pastebin.com/zKD2yAu5. I'm passing the 'timeout' option to drupal_http_request(). In this code is the number temporarily hardcoded, it should be implemented as a setting variable as part of this issue.

This is an addition to my patch in other issue, where I have separated the duplicate code for API calls into 1 generic function bbb_api_call(): http://drupal.org/node/1561584#comment-6766798