media flows aim- ing at establishing direct connectivity (e.g., using ICE), while leaving to SIP proxies the forwarding of all SIP messages exchanged by the UAs. However, in most cases, there it is not mandatory to have intermediate nodes on the path of SIP messages, since NAT traversal techniques used for media flows can be easily extended to SIP signalling as well. If the SIP session does not rely on intermediate nodes to deliver both SIP messages as happens for media flows, the overall network robustness and scalability are increased. Otherwise, fault tolerance and scalability have to be addressed through the deployment of redundant proxies (see, for example, the scenario depicted in Figure 12.14) together with mechanisms to redirect SIP sessions in case of failure of a proxy, which adds complexity to the network infrastructure. If end-to-end connectiv- ity is available for SIP signalling, it is up to the UAs to detect communication failures and establish a valid communication channel again as soon as possible. Moreover, a direct channel established across NATs to deliver SIP messages can be used also to provide hints to choose optimal transport addresses for media flows, thus reducing the overall number of messages exchanged during connectivity checks. The core of ALEX is the ALEX-item, a new header field used to announce transport addresses, one in each field, together with a priority value. Hence, while ICE announces its candidates in specific attributes of the SDP payload (i.e., outside SIP), ALEX provides this information directly in the SIP header. As a consequence, ALEX also announces transport addresses to be used for SIP, not only for media flows. The ALEX operation consists in four phases, executed by each UA during session establishment, as exemplified in Figure 12.19. 1. Gathering transport addresses: both UAs collect all the transport addresses they can use to send and receive IP packets, including relayed transport addresses gathered from TURN servers and server reflexive transport addresses gath