Page 368 - From GMS to LTE
P. 368

354  From GSM to LTE-Advanced Pro and 5G

             In practice both methods are used. On the signaling side early media is implemented
            by the SIP originator including a SIP ‘P‐Early‐Media: supported’ header to let the net-
            work know that it supports early media. If the network wants to send the alerting tone
            or ringback music it informs the originator in the SIP ‘180 Ringing’ message with a ‘P‐
            Early‐Media: sendonly’ or ‘sendrecv’ header line to indicate that a stream has started. In
            practice the media stream might have started even earlier. If early media is not used the
            180 Ringing message contains a ‘P‐Early‐Media: inactive’ header line. Further details
            can be found in RFC 3960 [13], in GSMA IR.92 section 2.2.8 and in 3GPP TS 24.628 [14].

            5.3.9  Port Usage
            Most services on the Internet make use of a single TCP or UDP connection. The client
            opens a TCP connection from a random port to a well‐known port on the server (e.g.
            port 443 for HTTPS) and then performs authentication and establishment of an
            encrypted session over that connection. This is not the case in VoLTE. Here three
            streams are used in practice and TCP and UDP can even be mixed.
             To register to the IMS via the P‐CSCF a device first sends an unencrypted SIP Register
            message from a random port to the well‐known SIP port 5060. The IMS responds with
            a SIP ‘401 Unauthorized’ message from port 5060, which contains the security chal-
            lenge. Part of that challenge is the UDP/TCP port number to which the encrypted mes-
            sages following have to be sent. This is called the ‘port‐s’ (server). The message also
            contains a ‘port‐c’ (client) number which is used later when the IMS wants to pro‐
            actively  contact  the  UE.  These  are  the  only  two  messages  exchanged  to  and  from
            port 5060.
             The UE then sends another SIP Register message, this time encrypted and with the
            response to the security challenge to the TCP port given in the ‘port‐s’ parameter in the
            previous message. In the Register message the UE repeats the ‘port‐c’ and ‘port‐s’
            parameters it has received from the server and, in addition, gives the IMS its own local
            ‘port‐c’ and ‘port‐s’ parameters. For this dialog the combination of the UE’s ‘port‐c’ and
            the IMS’s ‘port‐s’ ports is used. The second port combination, i.e. the IMS’s ‘port‐c’ and
            the UE’s ‘port‐c’ are used later on when the IMS wants to contact the UE. If the second
            Register message was correct the network returns a 200 OK message and the UE is
            registered.
             As mentioned above, whenever the UE contacts the network with a SIP message it
            will use its own ‘port‐c’ (client) as source TCP port and ‘port‐s’ (server) of the IMS to
            send the message. Responses from the network will be sent over the same port combi-
            nation. If the network wants to send a message that is not directly connected with a
            message previously sent by the UE, it uses the ‘port‐c’ port number of the network as
            the source as it is the client in this conversation and the ‘port‐s’ of the UE as the destina-
            tion port. In addition TCP and UDP can be mixed depending on message sizes. Further
            details can be found in chapter 7 of 3GPP TS 33.203 [15], which deals with Access
            Security For IMS.

            5.3.10  Message Filtering and Asserted Identities
            Figures 5.7 and 5.8 above might give the impression that SIP messages are sent more or
            less transparently from an originating to a terminating device. In VoLTE this is not the
            case, however. Instead, many network elements significantly modify or reassemble
   363   364   365   366   367   368   369   370   371   372   373