Hi Rajeev
You said best place to start a game is onUserJoined but I guess something wrong here. First of all no problem creating max 2 user room. You said "Whenever you get the onUserJoinedRoom event, check the user name, if it is not you then there is a second user in the room, hence you can start the game. In this way, there is no need to call getLiveRoomInfo to detect the second user."
Firstly, onUserJoinedRoom is not executed when local player joins room accourding to my test. It is executed when other players joins room. So checking name of joined user will never be my name. Second problem, there may be already a player inside room and in this case I am the second player. Again in this case onUserJoined room will never called so that I can start game there!!! Am I right?