Tech-invite3GPPspaceIETFspace
SIP ↠  ExamplesGrammarsPresence ⇾  MainServicesTransactionDialogIMS
Up   Prev   Next
SIP protocol structure through an example: SIP INVITE request from Alice's UA to Proxy1

at Initiating UA:

  • The UAC (User Agent Client) TU:
    • Creates the initial INVITE request;
    • Creates a new client transaction (in the transaction layer) and passes it the INVITE message, plus the IP address, port and transport.
  • The new "INVITE" Client Transaction (state="calling") is identified by the CSeq header field and the "branch" parameter of the Via header field. The T1 timer is started (if UDP) before passing the message request to transport
  • The Client Transport, before sending the request, inserts the 'sent-by' parameter in the Via header field.

at Proxy 1:

  • When receiving the request, the Server Transport, by examining the 'sent-by' parameter in the top Via header field, matches it to the relevant server transaction and adds the "received" parameter.
  • The new "INVITE" server transaction (state="proceeding") is created by the proxy core (not acting as TU). The server transaction transmits the INVITE request to the TU and somehow knows that this TU will generate a response within 200ms: it does not send back a 100 Trying response.
  • The proxy core TU first validates the INVITE request. It cannot authenticate the originator because no credentials are provided. It rejects the request by sending back (see next slide) a 407 (Proxy Authentication Required) response.