 pushes the intelligence to the periphery of the network (Figure 5-11). Format of SIP Messages Protocol design proceeds in discrete stages. When it has been decided which information will be exchanged between distributed systems, the next step is to decide how this information should be encoded. This decision has basi- cally two approaches: binary, which uses bit fields to encode information, Figure 5-11 SIP keeps the core of the network stateless. Stateless proxies Stateful proxies Call stateful proxies SIP: Protocol Operation and textual, which uses strings of characters. The following example illus- trates the differences between the two approaches. Users need to keep track of the current month on their computers, and a server in the network has this information. We need a protocol that can transfer this information from server to desktop. The current month field can take exactly 12 possible values: January, February, March, April, May, June, July, August, September, October, November, and December. A text-based protocol would transmit the name of the month between systems. Let's say that the message contents are January. Every character (letter) is typically encoded using one byte (8 bits). Thus, the message Jan- uary will be encoded using 49 bits (7 letters times 8 bits). A binary protocol, on the other hand, would define a table with possible values and their corresponding encoding, as shown in Table 5-3. Thus, to transmit the current month, the binary protocol would send a 4- bit message containing 0000. SIP uses text encoding as opposed to binary. This issue has created heated discussions. Text VS. binary seems to be a quasi-religious debate in which it is impossible to maintain a moderate opinion. Text proponents claim that text-based protocols are debugged more easily because they can be read directly by a human and that text protocols are more flexible and easier to extend with new features. Binary believers argue that binary protocols use bandwidth more effi- ciently and can also be easy to debug and 