'Get the room ID associated with a room alias.
Args:
room_alias (RoomAlias): The alias to look up.
Returns:
A tuple of:
The room ID as a RoomID object.
Hosts likely to be participating in the room ([str]).
Raises:
SynapseError if room alias could not be found.'

@defer.inlineCallbacks
def lookup_room_alias(self, room_alias):

    directory_handler = self.hs.get_handlers().directory_handler
    mapping = (yield directory_handler.get_association(room_alias))
    if (not mapping):
        raise SynapseError(404, 'No    such    room    alias')
    room_id = mapping['room_id']
    servers = mapping['servers']
    defer.returnValue((RoomID.from_string(room_id), servers))
