this could be a bug, although from a quick look at the code the
specified timeout seems to be passed to subroutines correctly.
Can you open an issue at github, also including your Python/Obspy versions?
We also don't have a test server we can use to debug this, so we would
also need a server we can query for testing..