extend with the proper tools. Both types of encoding have advantages and disadvantages that we won't enu- merate in this discussion, but keep in mind that SIP is a text-based proto- col and exhibits all the pros and cons of text-based protocols in general. January Table 5-3 February August Binary Encoding of the Months March September April October November December Chapter 5 SIP Request Format A SIP request consists of a request line, several headers, an empty line, and a message body. Table 5-4 shows the format of a SIP request. The message body is optional; some requests do not carry it. Request Line A request line has three elements: method, Request-URI, and protocol version. The method indicates the type of request, and we've explained several in previous sections. The Request-URI indicates the next hop, which is where the request has to be routed. In Figure 5-12, the SIP proxy at company.com receives an INVITE with the Request-URI SIP:Bob.Johnson@company.com This proxy knows that Bob might be reachable at two places SO it generates two INVITEs. One will contain SIP:Bob@university.com as the Request-URI and it will be sent to the server at university.com. The second INVITE will have SIP:Bob@131.160.1.112 and will be sent to 131.160.1.112. Hence, the Request-URI contains the address of the next hop in the path. Finally, we know the protocol version to be SIP/2.0. Therefore, the request line of the INVITE received in the previous example by the server at company.com would look like the following: INVITE sip:Bob. Johnson@company com SIP/2.0 SIP Response Format A SIP response consists of a status line, several headers, an empty line, and a message body. Table 5-5 shows the format of a SIP response. The message body is optional; some responses do not carry it. Request-line Table 5-4 Several headers Format of an SIP Request Empty line Message body SIP: Protocol Operation Laura company.com 131.160.1.112 university.com Figure 5-12 The Request-URI (1) INVITE SIP: contains the next Bob.Johnson@company.com SIP/2.0 (2) 