avec SIP, quand utiliser TCP non UDP?
Je connais assez les différences entre les protocoles UDP et TCP en général (eg. http://www.onsip.com/about-voip/sip/udp-versus-tcp-for-voip)
Question est de savoir dans quelles circonstances à l'aide de TCP pour le transport des avantages spécifiquement sous SIP VOiP communications?
source d'informationauteur Marcos
Vous devez vous connecter pour publier un commentaire.
Beaucoup de gens s'associent en général UDP avec la voip et probablement en rester là, mais en termes simples, il y a deux parties à la voip, de la connexion et de la voix de transfert de données.
SIP est un très léger protocole, une fois les connexions établies, il est effectivement laissé au repos jusqu'à ce que les rares cas de quelqu'un qui fait un appel téléphonique. TCP (contrairement à UDP) seront effectivement réduire le trafic sur le serveur en éliminant la nécessité d';
Vous pouvez exécuter SIP sur TCP et ensuite utiliser (recommandé) UDP RTP.
Je ne pouvais pas aider mais aussi le point de sortir les choses évidentes que j'ai regardé. Par exemple. nombre de dispositifs de connexion pour le serveur. Comme le nombre croît, l'équation s'incline en faveur de l'UDPs. Mais ensuite, vous devez également tenir compte SIP User Agents d'expansion pour couvrir plusieurs codecs, multimédia, vidéo et de partage d'écran. Les INVITER paquets peuvent commencer à croître grande et potentiellement courir sur de l'UDP unique taille du datagramme ainsi l'inclinaison de l'équation de nouveau en faveur de TCP.
Tout cela étant dit, j'espère vous avoir assez d'informations pour répondre à la question que vous avez été à la recherche pour répondre.
Espère que cette aide.
De crédit: La merveilleuse discussion à onSip: https://www.onsip.com/blog/sip-via-udp-vs-tcp
SIP sur TCP a un avantage considérable sur UDP pour les appareils mobiles. La raison est due à l'utilisation de NAT, et comment NAT entrées de la table en un routeur sans fil ou d'une cellule de fournisseurs de routeur sont généralement dépassé beaucoup plus rapide pour vs UDP TCP. Depuis gardant la même table NAT entrée est nécessaire pour être en mesure fiable de recevoir des appels SIP doit envoyer périodiquement keep-alives pour maintenir la table de NAT entrée. La fréquence de keep-alives est beaucoup plus élevé pour UDP (peut-être toutes les 30 secondes) vs TCP (peut-être toutes les 15 minutes) entraînant ainsi sensiblement supérieur appareil mobile, l'utilisation de la batterie. Souvent, quand vous voyez quelqu'un se plaindre de la façon dont leur utilisation de la batterie en prend un coup important lors de l'utilisation d'un client de VOIP, c'est parce que le client est en utilisant UDP.
Donc, TCP emporte sur UDP mains vers le bas pour les appareils mobiles.
Remarque que ci-dessus suppose que vous voulez être en mesure fiable de recevoir des appels sur votre appareil mobile. Si tout ce que vous voulez faire est d'être en mesure de faire des appels, alors c'est une autre histoire.
Si un message est de grande taille (moins de 200 octets de taille MTU), RFC 3261 l'article 18.1.1 mandats utilisation de TCP (pour être précis, il requiert l'usage d'une "congestion contrôlé protocole de transport, tels que TCP"). J'ai frappé que, dans la pratique, lors de l'envoi d'un premier
INVITE
avec beaucoup d'en-têtes et un complexe de l'URI de la Requête.Vous ne pouvez pas fiable assembler un flux audio à partir d'un basée sur le protocole TCP. En audio, il est de loin préférable de perdre un paquet que d'avoir un paquet retransmis en raison d'une perte de paquets. L'Audio ne fonctionne pas s'il est excessif de la gigue dans le paquet de synchronisation. L'Audio est en temps réel et nécessite un protocole comme UDP pour fonctionner correctement. La perte de paquets de ne pas rompre l'audio, il n'en diminue la qualité. TCP est parfait, n'est pas de l'aide de l'audio d'une quelconque façon, il ne peut y avoir de la qualité, si vous obtenez 100% des paquets, mais ils ne sont pas en temps réel. En audio, c'est le timing (latence, gigue) qui déterminent la qualité plus que de l'intégrité des données.
Ce sip fonctionne MEILLEUR lors de signal et de commande sont au-dessus de TCP, mais la voix est au dessus de UDP.
J'ai travaillé avec la transmission numérique de la voix sur réseau protocoles depuis que j'ai conçu l'un des premiers smartphones en 1987 pour les nouvelles réseau cellulaire numérique au Japon. Depuis 1987, le seul aspect numérique de transmission de la voix qui n'a pas changé, c'est ce que je décris ici. La nature en temps réel de l'audio (voix) de transmission et comment que les impacts de la conception du système est exactement le même que c'était dans les jours dinosaures je viens d'.
TCP peut obtenir avec une parfaite clarté sur une perte de connexion, lorsque UDP peuvent ne pas être compréhensible. Vous obtenez un temps de latence inférieur avec UDP, mais cela ne vous aidera pas si vous ne pouvez pas comprendre ce qui est dit.