{"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\/sv\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","title":{"rendered":"Vi studerar VoIP-motorn Mediastreamer2. Del 8","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Artikelmaterialet \u00e4r h\u00e4mtat fr\u00e5n min <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=\"Vi studerar VoIP-motorn Mediastreamer2. Del 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\">Strukturen av RTP-paketet<\/h2>\n<p><\/p>\n<p>Tidigare <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496490\/\">artikeln<\/a><\/noindex> Vi har med hj\u00e4lp av <em>TShark<\/em> genomf\u00f6rt en f\u00e5ngst av RTP-paket som utbyttes mellan v\u00e5r mottagare och s\u00e4ndare. I denna kommer vi att f\u00e4rgl\u00e4gga paketets element i olika f\u00e4rger och diskutera deras syften. <\/p>\n<p><\/p>\n<p>L\u00e5t oss titta p\u00e5 samma paket, men nu med f\u00e4rgade f\u00e4lt och f\u00f6rklarande texter:<br \/>\n<img decoding=\"async\" alt=\"Vi studerar VoIP-motorn Mediastreamer2. Del 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>I den nedre delen av listningen \u00e4r de bytes som utg\u00f6r RTP-paketet f\u00e4rgade, och det \u00e4r i sin tur nyttolasten i UDP-paketet (dess huvud \u00e4r inringat med en svart linje). F\u00e4rgfonderna markerar bytes av RTP-huvudet, medan den gr\u00f6na f\u00e4rgen framh\u00e4ver datablocket som inneh\u00e5ller RTP-paketets nyttolast. Data presenteras i hexadecimalt format. I v\u00e5rt fall \u00e4r detta ett ljudsignal komprimerat enligt u-law (my-law), det vill s\u00e4ga en sampling har storleken 1 byte. Eftersom vi anv\u00e4nde standard samplingfrekvens (8000 Hz), ska varje RTP-paket inneh\u00e5lla 160 bytes nyttolast vid en paketfrekvens p\u00e5 50 Hz. Detta ser vi n\u00e4r vi r\u00e4knar bytes i det gr\u00f6na omr\u00e5det; de borde vara 10 rader. <\/p>\n<p><\/p>\n<p>Enligt standarden ska m\u00e4ngden data i nyttolasten vara ett multipel av fyra, eller med andra ord inneh\u00e5lla ett helt antal fyrabyte ord. Om det skulle h\u00e4nda att din nyttolast inte uppfyller denna regel, m\u00e5ste du l\u00e4gga till nollbytes i slutet av nyttolasten och s\u00e4tta biten Padding. Denna bit finns i den f\u00f6rsta byte av RTP-huvudet, och den \u00e4r f\u00e4rgad turkos. Observera att alla bytes i nyttolasten har v\u00e4rdet 0xFF \u2013 s\u00e5 ser tystnad ut i u-law format.<\/p>\n<p><\/p>\n<p>RTP-paketets huvud best\u00e5r av 12 obligatoriska bytes, men i tv\u00e5 fall kan den vara l\u00e4ngre:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>N\u00e4r paketet b\u00e4r en ljudsignal som mottagits genom att blanda signaler fr\u00e5n flera k\u00e4llor (RTP-str\u00f6mmar), placeras en lista med identifikationsnummer f\u00f6r k\u00e4llor, vars nyttolaster har anv\u00e4nts f\u00f6r att skapa nyttolasten av detta paket, efter de f\u00f6rsta 12 bytes av huvudet. I de l\u00e4gre fyra bitarna av den f\u00f6rsta byte av huvudet (f\u00e4ltet <em>Antal identifierare f\u00f6r bidragande k\u00e4llor<\/em>) anger antalet k\u00e4llor. Storleken p\u00e5 f\u00e4ltet \u00e4r 4 bitar, vilket inneb\u00e4r att tabellen kan inneh\u00e5lla upp till 15 k\u00e4llidentifierare. Var och en tar upp 4 byte. Denna tabell anv\u00e4nds vid organiseringen av konferenskommunikation.<\/p>\n<p>\n<\/li>\n<li>\n<p>N\u00e4r rubriken har en f\u00f6rl\u00e4ngning. I detta fall s\u00e4tts en bit i den f\u00f6rsta byte av rubriken. <strong>X<\/strong>. I den utvidgade rubriken, efter deltagartabellen (om de finns), finns en utvidgad rubrik med storlek av ett ord, f\u00f6ljt av utvidgade ord. En utvidgning \u00e4r en upps\u00e4ttning byte som du kan anv\u00e4nda f\u00f6r att \u00f6verf\u00f6ra ytterligare data. Standarden specificerar inte formatet f\u00f6r dessa data \u2014 det kan vara vilket som helst. Till exempel kan det vara n\u00e5gra ytterligare inst\u00e4llningar f\u00f6r en enhet som tar emot RTP-paket. F\u00f6r vissa till\u00e4mpningar har standarder f\u00f6r den utvidgade rubriken utvecklats. Det \u00e4r s\u00e5 gjort exempelvis f\u00f6r kommunikationsmedel i standarden <em>ED-137 ( Interoperability Standards for VoIP ATM Components )<\/em>. <\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>L\u00e5t oss nu titta mer i detalj p\u00e5 rubrikf\u00e4lten. Nedan visas en kanonisk bild med strukturen f\u00f6r RTP-rubriken, som jag ocks\u00e5 inte kunde l\u00e5ta bli att f\u00e4rga i samma f\u00e4rger.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Vi studerar VoIP-motorn Mediastreamer2. Del 8\" src=\"\/wp-content\/uploads\/2020\/07\/b8839a56fbe4ee484c9d6b19714b541e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<strong>VER<\/strong> \u2014 versionsnumret f\u00f6r protokollet (nuvarande version 2);<\/p>\n<p><\/p>\n<p><strong>P<\/strong> \u2014 en flagga som s\u00e4tts i de fall d\u00e4r RTP-paketet kompletteras med tomma byte i slutet;<\/p>\n<p><\/p>\n<p><strong>X<\/strong> \u2014 en flagga f\u00f6r att indikera att rubriken \u00e4r utvidgad;<\/p>\n<p><\/p>\n<p><strong>CC<\/strong> \u2014 inneh\u00e5ller antalet CSRC-identifikatorer som f\u00f6ljer efter den fasta rubriken (efter orden 1..3), i bilden visas inte tabellen;<\/p>\n<p><\/p>\n<p><strong>M<\/strong> \u2014 en mark\u00f6r f\u00f6r b\u00f6rjan av ett paket eller n\u00e4rvaro av tal i kanalen (om tystnadsdetektor anv\u00e4nds). Om mottagaren inte har en tystnadsdetektor, ska denna bit alltid s\u00e4ttas;<\/p>\n<p><\/p>\n<p><strong>PTYPE<\/strong> \u2014 indikerar formatet f\u00f6r nyttolasten;<\/p>\n<p><\/p>\n<p><strong>Sekvensnummer<\/strong> \u2014 paketnumret, anv\u00e4nds f\u00f6r att \u00e5terst\u00e4lla ordningen p\u00e5 uppspelningen av paketen, eftersom det i verkligheten kan h\u00e4nda att paketen n\u00e5r mottagaren i en annan ordning \u00e4n den som de skickades. Startv\u00e4rdet ska vara slumpm\u00e4ssigt, detta g\u00f6rs f\u00f6r att om RTP-str\u00f6mmen krypteras ska det bli sv\u00e5rare att bryta den. Detta f\u00e4lt m\u00f6jligg\u00f6r \u00e4ven att uppt\u00e4cka bortfall av paket;<\/p>\n<p><\/p>\n<p><strong>Tidsst\u00e4mpel<\/strong> \u2014 tidsst\u00e4mpel. Tiden m\u00e4ts i signalprov, det vill s\u00e4ga om paketet inneh\u00e5ller 160 prov, kommer tidsst\u00e4mpeln f\u00f6r n\u00e4sta paket att \u00f6ka med 160. Startv\u00e4rdet f\u00f6r tidsst\u00e4mpeln b\u00f6r vara slumpm\u00e4ssigt;<\/p>\n<p><\/p>\n<p><strong>SSRC<\/strong> \u2014 identifierare f\u00f6r paketk\u00e4llan, den m\u00e5ste vara unik. Det \u00e4r b\u00e4st att generera den slumpm\u00e4ssigt innan du startar RTP-fl\u00f6det.<\/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>Om du vill se dynamiken i f\u00e4lts\u00e4ndningar i paketen, m\u00e5ste du duplicera utdata <em>TShark<\/em> till en fil, som visat i den tidigare artikeln, med hj\u00e4lp av att \u00f6verf\u00f6ra utdata <em>TShark<\/em> till ing\u00e5ngen <em>tee<\/em>. Du \u00f6ppnar sedan loggfilen med <em>less, vim<\/em> eller n\u00e5got annat verktyg som snabbt kan hantera stora textfiler och utf\u00f6ra s\u00f6kningar, s\u00e5 kan du ta reda p\u00e5 alla nyanser i f\u00e4ltena f\u00f6r RTP-fl\u00f6det.<\/p>\n<p><\/p>\n<p>Om du beh\u00f6ver lyssna p\u00e5 signalen som \u00f6verf\u00f6rs av RTP-fl\u00f6det, b\u00f6r du anv\u00e4nda versionen <em>TShark<\/em> med grafiskt gr\u00e4nssnitt <em>Wireshark<\/em>. Genom enkla musmanipulationer kan du d\u00e4r lyssna, se signalens oscilloskop. Men under ett villkor \u2014 om den kodas i formatet u-law eller a-law.<\/p>\n<p><\/p>\n<p>I n\u00e4sta <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496874\/\">artikeln<\/a><\/noindex> kommer vi att skapa ett duplexkommunikationssystem tillsammans. Se till att ha ett par h\u00f6rlurar och en kompis.<\/p>\n<p>K\u00e4lla: <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 5.0.4 - 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.\" \/>\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\/sv\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/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\udd47Vi utforskar VoIP-motorn Mediastreamer2. Del 8 | ProHoster","description":"Materialet i artikeln \u00e4r h\u00e4mtat fr\u00e5n min Zen-kanal.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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.","og:url":"https:\/\/prohoster.info\/sv\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/87043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=87043"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/87043\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/87044"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=87043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=87043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=87043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}