If you are confused with the relation among Call, Dialog, Transaction & Message, you are not alone. I think quite a good number of people get confused regarding the relation in the beginning.
Messages are the individual textual bodies exchanged between a server and a client. There can be two types of messages. Bingo! You already know them ... Requests and Responses.
Transaction occurs between a client and a server and comprises all messages from the first request sent from the client to the server up to a final (non-1xx) response sent from the server to the client. If the request is INVITE and the final response is a non-2xx, the transaction also includes an ACK to the response. The ACK for a 2xx response to an INVITE request is a separate transaction.
Dialog is a peer-to-peer SIP relationship between two UAs that persists for some time. A dialog is identified by a Call-ID, a local tag and a remote tag. A dialog used to be referred as a 'call leg'.
Call of a callee comprises of all the dialogs it is involved in. I think a Call is same as a Session.
The following figure will make the relation clearer.(RINGING is a 1xx response and OK is a 2xx response.)
A caller may have connections to a number of callees at a time forming a number of dialogs. All these dialogs make a single call.
Well, time to reveal a old secret! If you want to know how server1 knew the location of user2 during the call setup, the page about SIP registration will help you.