37 | | - SIP signaling integrity protection, provided via: |
38 | | - SIP Identity, specified by [https://tools.ietf.org/html/rfc4474 RFC4474] and [https://tools.ietf.org/html/rfc4916 RFC4916], only Authentication Service is needed. |
39 | | - S/MIME, specified by [https://tools.ietf.org/html/rfc3261#section-23 RFC3261 section 23]. |
40 | | - SIPS, actually we already support this, but as SIPS can't guarantee that all proxies are trusted, the security provided by SIPS is considered weaker. |
41 | | - Best effort media encryption via SDP capability negotiation, to offer media channel with multiple configurations (e.g: offering SRTP but also accept plain RTP), this seems to be a [https://tools.ietf.org/html/rfc5763#section-6.11 MUST]. |
| 51 | 1. SIP signaling integrity protection, this may be provided by any of these extensions: |
| 52 | 1. SIP Identity, specified by [https://tools.ietf.org/html/rfc4474 RFC4474] and [https://tools.ietf.org/html/rfc4916 RFC4916], only Authentication Service is needed. |
| 53 | 2. S/MIME, specified by [https://tools.ietf.org/html/rfc3261#section-23 RFC3261 section 23]. |
| 54 | 3. SIPS, actually we already support this, but as SIPS can't guarantee that all proxies are trusted, the security provided by SIPS is considered weaker. |
| 55 | 1. Best effort media encryption via SDP capability negotiation, to offer media channel with multiple configurations (e.g: offering SRTP but also accept plain RTP), this seems to be a [https://tools.ietf.org/html/rfc5763#section-6.11 MUST]. |
| 56 | |
| 57 | ==== Behavior change ==== |
| 58 | 1. Media transport UDP can now be attached multiple times, any old attachment will be silently replaced by the latest. This change is done because DTLS nego needs to access the real transport (UDP/ICE) before stream is created (or SDP nego is completed). After SDP nego is completed, stream will invoke media transport {{{attach()}}} again. |
| 59 | 2. Media transport UDP & ICE is equipped with auto-switching RTP/RTCP target address to the address it receives RTP/RTCP from, and there is probation period (i.e: 10 packets) before switching to the new target address, during this probation period all packets from the candidate target address will be discarded. Now those packets will be no longer discarded as long as we have not received any packet from the current known source address (if any). Without this change, any incoming 'TLS hello' will be discarded until probation period is reached or SDP answer is received (which tell us about remote RTP address). |
| 60 | |