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