Major update to make Jingle S5B inherit more features from ICE and ICE-TCP. Added priorities and candidate identifiers. Renamed streamhost element to candidate element. Updated candidate selection to use priorities, and it is now required for both clients to send a candidate-used or candidate-error notification. Defined type attribute to differentiate between various kinds of candidates. More clearly described how S5B negotiation is completed, including an activated notification from responder to initiator when the candidate used is a proxy. Noted reuse of fast-mode methodology from S5B optimization specification. Because of incompatibilities with the previous version, changed the namespace to urn:xmpp:jingle:transports:s5b:1.
Add additional text to use NAT assisting protocols and allow the responder to also send <streamhost/> information. This change required the introduction of streamhost-used and streamhost-error.
Specified that the responder can send <streamhost/> candidates, consistent with the earlier S5B optimization extension; this change required the introduction of streamhost-used and streamhost-error. Also added text to encourage the use of NAT-assisting protocols.
The type preference is an integer value between 0 and 127. The following types and their suggested preference values are defined here:
Type | Description | Preference Value |
---|---|---|
direct | Direct connection using the given interface | 126 |
assisted | Direct connection using NAT assisting technologies like NAT-PMP or UPnP-IGD | 120 |
tunnel | Tunnel protocols such as Teredo | 110 |
proxy | SOCKS5 Relay | 10 |