{"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\/et\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","title":{"rendered":"Uurime VoIP mootorit Mediastreamer2. Osa 8","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Artikli materjal on saadud minu <noindex><a rel=\"nofollow\" href=\"https:\/\/zen.yandex.ru\/id\/5e3f8e0751f5346faab4fc7a\">Dzen-kanalist<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Uurime VoIP mootorit Mediastreamer2. Osa 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\">RTP-paketi struktuur<\/h2>\n<p><\/p>\n<p>Eelmisel <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496490\/\">artiklis<\/a><\/noindex> me kasutasime <em>TShark<\/em> RTP-pakettide salvestamiseks, mida vahetasid meie vastuv\u00f5tja ja saatja. Sel korral v\u00e4rvime paketi elemendid eri v\u00e4rvidesse ja r\u00e4\u00e4gime nende t\u00e4hendustest. <\/p>\n<p><\/p>\n<p>Vaatame sama paketti, kuid n\u00fc\u00fcd v\u00e4rviliste v\u00e4ljade ja selgitavate m\u00e4rkustega:<br \/>\n<img decoding=\"async\" alt=\"Uurime VoIP mootorit Mediastreamer2. Osa 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>Loendi alumises osas on v\u00e4rvitud p\u00e4id, mis koosnevad RTP-paketist, mis on omakorda UDP-paketi kasulik koormus (tema pealkiri on musta joonega \u00fcmber joonistatud). V\u00e4rviliste taustadega on t\u00e4histatud RTP-pealkirja bait ja rohelise v\u00e4rviga on esile t\u00f5stetud andmeplokk, mis sisaldab RTP-paketi kasulikku koormust. Andmed on esitatud kuhexakena. Meie puhul on see heli signaal, mis on kompresseeritud u-laki (m\u00fc-laki) seaduse j\u00e4rgi, st \u00fcks proov on 1 bait. Kuna kasutasime vaikeseadistuse mustriga, mis on m\u00e4\u00e4ratud 8000 Hz, siis 50 Hz pakettide sagedusega peaks iga RTP-pakett sisaldama 160 bait kasulikku koormust. Just seda me n\u00e4eme, kui loeme rohelise ala baitsid, neid peab olema 10 rida. <\/p>\n<p><\/p>\n<p>Standardi kohaselt peab kasuliku koormuse andmete arv olema nelja jagatav, teisiti \u00f6eldes, see peab sisaldama t\u00e4isarv nelja baitiseid s\u00f5nu. Kui juhtub, et teie kasulik koormus ei vasta sellele reeglile, tuleb kasuliku koormuse l\u00f5ppu lisada nullv\u00e4\u00e4rtustega baits ja seada Padding (Lisa). See biit asub RTP-pealkirja esimeses baitis, mis on v\u00e4rvitud t\u00fcrkiissinisega. Pange t\u00e4hele, et k\u00f5ik kasuliku koormuse baitsid on v\u00e4\u00e4rtusega 0xFF \u2014 nii v\u00e4lja n\u00e4eb vaikus u-laki formaat.<\/p>\n<p><\/p>\n<p>RTP-paketi pealkiri koosneb 12 kohustuslikust baitist, kuid kahel juhul v\u00f5ib see olla pikem:<\/p>\n<p><\/p>\n<ul>\n<li>\n<p>Kui pakett edastab helisignaali, mis on saadud signaalide segamise teel mitmest allikast (RTP-voogudest), siis p\u00e4rast esimese 12 baitise pealkirja asub tabel, kus on loetletud allikate identifikaatorid, kelle kasulikku koormust on kasutatud selle paketi kasuliku koormuse loomiseks. Samal ajal asub pealkirja esimeses baitis madalamates neljas bitides (v\u00e4ljal <em>Kaasaaitavate allikate identifikaatorite arv<\/em>) m\u00e4\u00e4rab allikate arvu. V\u00e4li on 4 bitti suurune, seega v\u00f5ib tabel sisaldada kuni 15 allika identifikaatorit. Iga\u00fcks neist v\u00f5tab 4 baiti. Seda tabelit kasutatakse konverentsik\u00f5nede korraldamisel.<\/p>\n<p>\n<\/li>\n<li>\n<p>Kui pealkirjal on laiend. Sel juhul seadistatakse pealkiru esimeses bitti. <strong>X<\/strong>. Laiendatud pealkirjas, p\u00e4rast osalejate tabelit (kui need on olemas), on laiendatud pealkiri, mille suurus on \u00fcks s\u00f5na, ning sellele j\u00e4rgneb laienduse s\u00f5nad. Laiendus on baitide kogum, mida saate kasutada t\u00e4iendavate andmete edastamiseks. Standard ei m\u00e4\u00e4ra nende andmete formaati - see v\u00f5ib olla mis tahes. N\u00e4iteks v\u00f5ivad need olla t\u00e4iendavad seaded seadmele, mis saab RTP-pakette. M\u00f5ningate rakenduste jaoks on selle jaoks siiski v\u00e4lja t\u00f6\u00f6tatud laiendatud pealkirja standardid. N\u00e4iteks on see tehtud sidevahendite jaoks standardis. <em>ED-137 (Interoperability Standards for VoIP ATM Components)<\/em>. <\/p>\n<p>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00fc\u00fcd vaatame pealkirjav\u00e4lju l\u00e4hemalt. Allpool on kanoniline joonis RTP-pealkirja struktuurist, mille ma samuti ei suutnud v\u00e4rviliseks teha.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Uurime VoIP mootorit Mediastreamer2. Osa 8\" src=\"\/wp-content\/uploads\/2020\/07\/b8839a56fbe4ee484c9d6b19714b541e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<strong>VER<\/strong> \u2014 protokolli versiooni number (praegune versioon 2);<\/p>\n<p><\/p>\n<p><strong>P<\/strong> \u2014 lipp, mis seadistatakse juhtudel, kui RTP-pakett t\u00e4iendatakse t\u00fchjade baitidega l\u00f5pus;<\/p>\n<p><\/p>\n<p><strong>X<\/strong> \u2014 lipp, mis n\u00e4itab, et pealkiri on laiendatud;<\/p>\n<p><\/p>\n<p><strong>CC<\/strong> \u2014 n\u00e4itab CSRC-identifikaatorite arvu, mis j\u00e4rgneb p\u00fcsipealkirjale (p\u00e4rast s\u00f5nu 1..3), joonisel tabel puudub;<\/p>\n<p><\/p>\n<p><strong>M<\/strong> \u2014 kaadri alguse v\u00f5i k\u00f5ne olemasolu m\u00e4rgis (kui kasutatakse k\u00f5ne pauside tuvastajat). Kui vastuv\u00f5tjal ei ole k\u00f5ne pauside tuvastajat, siis peab see bitt olema pidevalt seadistatud;<\/p>\n<p><\/p>\n<p><strong>PTYPE<\/strong> \u2014 n\u00e4itab koormuse vormingut;<\/p>\n<p><\/p>\n<p><strong>J\u00e4rjesta number<\/strong> \u2014 paketi number, kasutatakse pakettide esitamise j\u00e4rjekorra taastamiseks, kuna tegelikult v\u00f5ivad paketid j\u00f5uda vastuv\u00f5tjasse mitte selles j\u00e4rjekorras, milles need saadeti. Algv\u00e4\u00e4rtus peaks olema juhuslik, seda tehakse selleks, et juhul, kui RTP-voogu rakendatakse kr\u00fcpteerimise, oleks selle purustamine raskendatud. Samuti v\u00f5imaldab see v\u00e4li avastada pakettide puudumisi;<\/p>\n<p><\/p>\n<p><strong>Aegtemp<\/strong> \u2014 ajastustempel. Aeg m\u00f5\u00f5detakse signaalin\u00e4idetes, st kui pakett sisaldab 160 n\u00e4idet, siis j\u00e4rgmise paketi ajastustempel on suurem 160 v\u00f5rra. Ajastuse algv\u00e4\u00e4rtus peaks olema juhuslik;<\/p>\n<p><\/p>\n<p><strong>SSRC<\/strong> \u2014 paketi allika identifikaator, see peab olema ainulaadne. Selle genereerimine juhuslikult enne RTP-voo k\u00e4ivitamist on parem.<\/p>\n<p><\/p>\n<p>Kui te arendate oma RTP-pakettide edastajat v\u00f5i vastuv\u00f5tjat, peate korduvalt anal\u00fc\u00fcsima oma pakette, et suurendada tootlikkust. Soovitan teil omandada pakettide filtreerimise kasutamise oskused TShark'is, kuna see v\u00f5imaldab j\u00e4\u00e4dvustada ainult neid pakette, mis teid huvitavad. Tingimustes, kus v\u00f5rkus t\u00f6\u00f6tab k\u00fcmneid RTP-seadmeid, on see v\u00e4ga v\u00e4\u00e4rtuslik. TShark'i k\u00e4sureas m\u00e4\u00e4ratakse filtreerimise parameetrid valiku abil \"-f\". Kasutasime seda valikut, kui soovisime j\u00e4\u00e4dvustada pakette portilt 8010:<br \/>\n<code>-f \"udp port 8010\"<\/code><br \/>\nFiltreerimise parameetrid on oma olemuselt kriteeriumide kogum, millele \"peab vastama\" j\u00e4\u00e4dvustatud pakett. Tingimus v\u00f5ib kontrollida aadressi, porti, teatud baitide v\u00e4\u00e4rtust paketis. Tingimusi saab kombineerida loogiliste operatsioonidega \"JA\", \"V\u00f5i\" jne. V\u00e4ga v\u00f5imas t\u00f6\u00f6riist.<\/p>\n<p><\/p>\n<p>Kui soovite vaadata pakettide v\u00e4ljade d\u00fcnaamikat, peate v\u00e4ljundi dubleerima <em>TShark<\/em> faili, nagu eelmisel artiklis n\u00e4idatud, kasutades v\u00e4ljundi edastamist <em>TShark<\/em> sisse <em>tee<\/em>. Edasi avage logifail kasutades <em>less, vim<\/em> v\u00f5i m\u00f5nda muud t\u00f6\u00f6riista, mis suudab kiiresti t\u00f6\u00f6tada suurte tekstifailidega ja teha ridade otsingut, saate v\u00e4lja selgitada k\u00f5ik paketiv\u00e4li k\u00e4itumise n\u00fcansid RTP-voos.<\/p>\n<p><\/p>\n<p>Kui peate kuulama RTP-voo edastatud signaali, siis tuleb kasutada versiooni <em>TShark<\/em> visuaalse liidesega <em>Wireshark<\/em>. Lihtsate hiiremanipulatsioonide abil saab seal kuulata, n\u00e4ha signaali osilloogrammi. Kuid \u00fche tingimuse korral \u2014 kui see on kodeeritud u-law v\u00f5i a-low vormingus.<\/p>\n<p><\/p>\n<p>J\u00e4rgmises <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/496874\/\">artiklis<\/a><\/noindex> teeme koos teiega duplex-k\u00f5nes\u00fcsteemi. Varuge paar peakomplekti ja \u00fcks vestluspartner.<\/p>\n<p>Allikas: <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.1.1 - 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\/et\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Uurime VoIP-mootorit Mediastreamer2. Osa 8 | ProHoster","description":"Artikli materjal on v\u00f5etud minu zen-kanalist.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/izuchaem-voip-dvizhok-mediastreamer2-chast-8","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/87043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=87043"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/87043\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/87044"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=87043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=87043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=87043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}