{"id":87043,"date":"2020-07-02T19:42:04","date_gmt":"2020-07-02T17:42:04","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8"},"modified":"2020-07-02T19:42:04","modified_gmt":"2020-07-02T17:42:04","slug":"izuchaem-voip-dvizhok-mediastreamer2-chast-8","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","title":{"rendered":"Wir untersuchen die VoIP-Engine Mediastreamer2. Teil 8","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Der Inhalt dieses Artikels stammt von meinem <noindex><a rel=\"nofollow\" href=\"https:\/\/zen.yandex.ru\/id\/5e3f8e0751f5346faab4fc7a\">Zen-Kanal<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir untersuchen die VoIP-Engine Mediastreamer2. Teil 8\" src=\"\/wp-content\/uploads\/2020\/07\/ddc5dba3a090dec9927b46a82dda760f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"struktura-rtp-paketa\">Struktur des RTP-Pakets<\/h2>\n<p><\/p>\n<p>Im letzten <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496490\/\">Artikel<\/a><\/noindex> haben wir mithilfe von <em>TShark<\/em> die RTP-Pakete erfasst, die zwischen unserem Empf\u00e4nger und Sender ausgetauscht wurden. In diesem Abschnitt f\u00e4rben wir die Elemente des Pakets in verschiedene Farben und sprechen \u00fcber deren Zweck. <\/p>\n<p><\/p>\n<p>Schauen wir uns dasselbe Paket an, aber jetzt mit eingef\u00e4rbten Feldern und erl\u00e4uternden Beschriftungen:<br \/>\n<img decoding=\"async\" alt=\"Wir untersuchen die VoIP-Engine Mediastreamer2. Teil 8\" src=\"\/wp-content\/uploads\/2020\/07\/a2ee8fb10bc6daa48dcd0bc9a8596fd7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Im unteren Bereich der Auflistung sind die Bytes hervorgehoben, die das RTP-Paket bilden, welches wiederum die Nutzlast des UDP-Pakets darstellt (der Header ist mit einer schwarzen Linie umrandet). Die farbigen Hintergr\u00fcnde kennzeichnen die Bytes des RTP-Headers, w\u00e4hrend der gr\u00fcne Bereich den Datenblock hervorhebt, der die Nutzlast des RTP-Pakets enth\u00e4lt. Die Daten sind im Hexadezimalformat dargestellt. In unserem Fall handelt es sich um ein komprimiertes Audiosignal gem\u00e4\u00df dem u-Gesetz (M\u00fc-Gesetz), d.h. ein Sample hat eine Gr\u00f6\u00dfe von 1 Byte. Da wir die standardm\u00e4\u00dfige Abtastrate von 8000 Hz verwendet haben, sollte jedes RTP-Paket bei einer Paketfrequenz von 50 Hz 160 Bytes Nutzlast enthalten. Das werden wir sehen, wenn wir die Bytes im gr\u00fcnen Bereich z\u00e4hlen; es sollten 10 Zeilen sein. <\/p>\n<p><\/p>\n<p>Nach den Standards muss die Gr\u00f6\u00dfe der Nutzdaten ein Vielfaches von vier sein, oder anders ausgedr\u00fcckt, sie muss eine ganze Anzahl an vier-Byte-W\u00f6rtern enthalten. Sollte es vorkommen, dass Ihre Nutzdaten dieser Regel nicht entsprechen, m\u00fcssen Sie Nullen am Ende der Nutzdaten hinzuf\u00fcgen und das Padding-Bit setzen. Dieses Bit befindet sich im ersten Byte des RTP-Headers, das t\u00fcrkisfarben ist. Beachten Sie, dass alle Bytes der Nutzdaten den Wert 0xFF haben \u2013 so sieht Stille im u-law-Format aus.<\/p>\n<p><\/p>\n<p>Der RTP-Paketheader besteht aus 12 obligatorischen Bytes, kann jedoch in zwei F\u00e4llen l\u00e4nger sein:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>Wenn das Paket ein Audiosignal tr\u00e4gt, das aus der Mischung von Signalen mehrere Quellen (RTP-Streams) stammt, folgt auf die ersten 12 Bytes des Headers eine Tabelle mit einer Liste der Quellidentifikatoren, deren Nutzdaten zur Erstellung der Nutzdaten dieses Pakets verwendet wurden. Dabei stehen in den unteren vier Bits des ersten Bytes des Headers (Feld <em>Anzahl der beitragenden Quellidentifikatoren<\/em>) die Anzahl der Quellen an. Die Feldgr\u00f6\u00dfe betr\u00e4gt 4 Bit, entsprechend kann die Tabelle bis zu 15 Quellidentifikatoren enthalten. Jeder davon belegt 4 Byte. Diese Tabelle wird zur Organisation von Konferenzverbindungen genutzt.<\/p>\n<p>\n<\/li>\n<li>\n<p>Wenn der Header eine Erweiterung hat. In diesem Fall wird im ersten Byte des Headers ein Bit gesetzt <strong>X<\/strong>. Im erweiterten Header, nach der Teilnehmerliste (sofern vorhanden), befindet sich der Erweiterungsheader mit einer Gr\u00f6\u00dfe von einem Wort, gefolgt von Erweiterungsw\u00f6rtern. Eine Erweiterung ist eine Reihe von Bytes, die Sie verwenden k\u00f6nnen, um zus\u00e4tzliche Daten zu \u00fcbertragen. Der Standard legt das Format dieser Daten nicht fest \u2013 es kann beliebig sein. Zum Beispiel k\u00f6nnten dies zus\u00e4tzliche Einstellungen f\u00fcr ein Ger\u00e4t sein, das RTP-Pakete empf\u00e4ngt. F\u00fcr bestimmte Anwendungen wurden jedoch Standards f\u00fcr den erweiterten Header entwickelt, wie beispielsweise f\u00fcr Kommunikationsmittel im Standard <em>ED-137 (Interoperabilit\u00e4tsstandards f\u00fcr VoIP-ATM-Komponenten)<\/em>. <\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Schauen wir uns die Headerfelder genauer an. Unten sehen Sie ein kanonisches Bild mit der Struktur des RTP-Headers, das ich ebenfalls in denselben Farben gestaltet habe.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wir untersuchen die VoIP-Engine Mediastreamer2. Teil 8\" src=\"\/wp-content\/uploads\/2020\/07\/b8839a56fbe4ee484c9d6b19714b541e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<strong>VER<\/strong> \u2014 Versionsnummer des Protokolls (aktuelle Version 2);<\/p>\n<p><\/p>\n<p><strong>P<\/strong> \u2014 Flag, das gesetzt wird, wenn das RTP-Paket mit leeren Bytes am Ende erg\u00e4nzt wird;<\/p>\n<p><\/p>\n<p><strong>X<\/strong> \u2014 Flag, dass der Header erweitert ist;<\/p>\n<p><\/p>\n<p><strong>CC<\/strong> \u2014 enth\u00e4lt die Anzahl der CSRC-Identifikatoren, die dem festen Header folgen (nach den Worten 1..3), in der Abbildung ist die Tabelle nicht dargestellt;<\/p>\n<p><\/p>\n<p><strong>M<\/strong> \u2014 Marker f\u00fcr den Beginn eines Frames oder das Vorhandensein von Sprache im Kanal (wenn ein Sprachpausendetektor verwendet wird). Wenn der Empf\u00e4nger keinen Sprachpausendetektor enth\u00e4lt, sollte dieses Bit konstant gesetzt sein;<\/p>\n<p><\/p>\n<p><strong>PTYPE<\/strong> \u2014 gibt das Format der Nutzlast an;<\/p>\n<p><\/p>\n<p><strong>Sequenznummer<\/strong> \u2014 Paketnummer, die zur Wiederherstellung der Wiedergabereihenfolge der Pakete verwendet wird, da Pakete m\u00f6glicherweise nicht in der Reihenfolge beim Empf\u00e4nger ankommen, in der sie gesendet wurden. Der Anfangswert sollte zuf\u00e4llig sein, um es zu erschweren, den RTP-Stream bei Verwendung von Verschl\u00fcsselung zu knacken. Dieses Feld erm\u00f6glicht auch die Erkennung von Paketverlusten;<\/p>\n<p><\/p>\n<p><strong>Zeitstempel<\/strong> \u2014 der Zeitstempel. Die Zeit wird in Signalproben gemessen, d.h. wenn ein Paket 160 Proben enth\u00e4lt, wird der Zeitstempel des n\u00e4chsten Pakets um 160 erh\u00f6ht. Der anf\u00e4ngliche Zeitstempel sollte zuf\u00e4llig sein;<\/p>\n<p><\/p>\n<p><strong>SSRC<\/strong> \u2014 die Identifikation des Paketquell, die einzigartig sein muss. Es ist am besten, ihn zuf\u00e4llig vor dem Start des RTP-Streams zu generieren.<\/p>\n<p><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a \u0438\u043b\u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a RTP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u0432\u0430\u043c \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043d\u0435 \u0440\u0430\u0437 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0438 \u043f\u0430\u043a\u0435\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0432\u044b\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u044f \u0432\u0430\u043c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0441\u0432\u043e\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0432 TShark, \u043e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441 \u0434\u043b\u044f \u0432\u0430\u0441. \u0412 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0441\u0435\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 RTP-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0446\u0435\u043d\u043d\u043e. \u0412 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 TShark \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0435\u0439 &quot;-f&quot;. \u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u044d\u0442\u0443 \u043e\u043f\u0446\u0438\u044e \u043a\u043e\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0441 \u043f\u043e\u0440\u0442\u0430 8010:<br \/>\n<code>-f &quot;udp port 8010&quot;<\/code><br \/>\n\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0441\u0443\u0442\u0438 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043a\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c &quot;\u043e\u0442\u043b\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c\u044b\u0439&quot; \u043f\u0430\u043a\u0435\u0442. \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0430\u0434\u0440\u0435\u0441, \u043f\u043e\u0440\u0442, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u0430\u0439\u0442\u0430 \u0432 \u043f\u0430\u043a\u0435\u0442\u0435. \u0423\u0441\u043b\u043e\u0432\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438 &quot;\u0418&quot;, &quot;\u0418\u041b\u0418&quot; \u0438 \u0442.\u043f. \u041e\u0447\u0435\u043d\u044c \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442.<\/p>\n<p><\/p>\n<p>Wenn Sie die Dynamik der \u00c4nderungen in den Paketfeldern beobachten m\u00f6chten, m\u00fcssen Sie die Ausgabe wiederholen <em>TShark<\/em> in eine Datei, wie es im vorherigen Artikel gezeigt wurde, indem Sie die Ausgabe \u00fcbergeben <em>TShark<\/em> an den Eingang <em>tee<\/em>. \u00d6ffnen Sie anschlie\u00dfend die Log-Datei mit <em>less, vim<\/em> oder einem anderen Werkzeug, das in der Lage ist, schnell mit gro\u00dfen Textdateien zu arbeiten und Zeilen zu durchsuchen, damit Sie alle Nuancen des Verhaltens der Paketfelder im RTP-Stream herausfinden k\u00f6nnen.<\/p>\n<p><\/p>\n<p>Sollten Sie das Signal, das \u00fcber den RTP-Stream gesendet wird, abh\u00f6ren m\u00fcssen, verwenden Sie die Version <em>TShark<\/em> mit grafischer Benutzeroberfl\u00e4che <em>Wireshark<\/em>. Durch einfache Mausklicks k\u00f6nnen Sie dort das Signal abh\u00f6ren und das Oszillogramm des Signals sehen. Aber unter der Voraussetzung, dass es im Format u-law oder a-low kodiert ist.<\/p>\n<p><\/p>\n<p>Im n\u00e4chsten <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496874\/\">Artikel<\/a><\/noindex> Wir werden zusammen ein Duplex-Gespr\u00e4chsger\u00e4t erstellen. Besorgen Sie sich ein paar Headsets und einen Gespr\u00e4chspartner.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496666\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0437\u044f\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e \u0434\u0437\u0435\u043d-\u043a\u0430\u043d\u0430\u043b\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RTP-\u043f\u0430\u043a\u0435\u0442\u0430 \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TShark \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442 RTP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a. \u041d\u0443 \u0430 \u0432 \u044d\u0442\u043e\u0439 \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u0430\u0441\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u0443\u0436\u0435 \u0441 \u043f\u043e\u0434\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0434\u043f\u0438\u0441\u044f\u043c\u0438: \u0412 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87044,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87043","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0437\u044f\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e \u0434\u0437\u0435\u043d-\u043a\u0430\u043d\u0430\u043b\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RTP-\u043f\u0430\u043a\u0435\u0442\u0430 \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TShark \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442 RTP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a. \u041d\u0443 \u0430 \u0432 \u044d\u0442\u043e\u0439 \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u0430\u0441\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u0443\u0436\u0435 \u0441 \u043f\u043e\u0434\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0434\u043f\u0438\u0441\u044f\u043c\u0438: \u0412\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c VoIP-\u0434\u0432\u0438\u0436\u043e\u043a Mediastreamer2. \u0427\u0430\u0441\u0442\u044c 8 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0437\u044f\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e \u0434\u0437\u0435\u043d-\u043a\u0430\u043d\u0430\u043b\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RTP-\u043f\u0430\u043a\u0435\u0442\u0430 \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TShark \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442 RTP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a. \u041d\u0443 \u0430 \u0432 \u044d\u0442\u043e\u0439 \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u0430\u0441\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u0443\u0436\u0435 \u0441 \u043f\u043e\u0434\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0434\u043f\u0438\u0441\u044f\u043c\u0438: \u0412\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-02T17:42:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-02T17:42:04+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wir lernen die VoIP-Engine Mediastreamer2 kennen. Teil 8 | ProHoster","description":"Der Artikel basiert auf meinem Zen-Kanal. Struktur des RTP-Pakets In dem vorherigen Artikel haben wir mit TShark RTP-Pakete erfasst, die zwischen unserem Empf\u00e4nger und Sender ausgetauscht wurden. In diesem Artikel werden wir die Elemente des Pakets einf\u00e4rben und \u00fcber deren Funktionen sprechen. Lassen Sie uns dasselbe Paket betrachten, jedoch mit markierten Feldern und erkl\u00e4renden Beschriftungen:","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0437\u0443\u0447\u0430\u0435\u043c VoIP-\u0434\u0432\u0438\u0436\u043e\u043a Mediastreamer2. \u0427\u0430\u0441\u0442\u044c 8 | ProHoster","og:description":"\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u0437\u044f\u0442 \u0441 \u043c\u043e\u0435\u0433\u043e \u0434\u0437\u0435\u043d-\u043a\u0430\u043d\u0430\u043b\u0430. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 RTP-\u043f\u0430\u043a\u0435\u0442\u0430 \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e TShark \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0437\u0430\u0445\u0432\u0430\u0442 RTP-\u043f\u0430\u043a\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u0431\u043c\u0435\u043d\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a. \u041d\u0443 \u0430 \u0432 \u044d\u0442\u043e\u0439 \u043c\u044b \u0440\u0430\u0441\u043a\u0440\u0430\u0441\u0438\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u0430 \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u0446\u0432\u0435\u0442\u0430 \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u0431 \u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438. \u0412\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 \u0442\u043e\u0442 \u0436\u0435 \u043f\u0430\u043a\u0435\u0442, \u043d\u043e \u0443\u0436\u0435 \u0441 \u043f\u043e\u0434\u043a\u0440\u0430\u0448\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0438 \u0441 \u043f\u043e\u044f\u0441\u043d\u044f\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0434\u043f\u0438\u0441\u044f\u043c\u0438: \u0412","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-02T17:42:04+00:00","article:modified_time":"2020-07-02T17:42:04+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87043","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:59:56","updated":"2022-10-07 20:48:50"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/87043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=87043"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/87043\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/87044"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=87043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=87043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=87043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}