{"id":37916,"date":"2019-10-31T22:20:31","date_gmt":"2019-10-31T19:20:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sip-telefon-na-stm32f7-discovery\/"},"modified":"2019-10-31T22:20:31","modified_gmt":"2019-10-31T19:20:31","slug":"sip-telefon-na-stm32f7-discovery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery","title":{"rendered":"SIP telefon STM32F7-Discovery'l","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile.<\/p>\n<p>M\u00f5nda aega tagasi kirjutasime <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/259721\">me<\/a><\/noindex> kuidas me suudame k\u00e4ivitada SIP telefoni STM32F4-Discovery'l 1 MB ROM-i ja 192 KB RAM-iga, mis p\u00f5hineb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">Embox<\/a><\/noindex>. Tuleb \u00f6elda, et see versioon oli minimaalne ja \u00fchendas kaks telefoni otse ilma serverita ning h\u00e4\u00e4l edastati vaid \u00fches suunas. Seega otsustasime k\u00e4ivitada t\u00e4ielikuma telefoni, kus k\u00f5ned toimuvad serveri kaudu, h\u00e4\u00e4l edastatakse m\u00f5lemas suunas, kuid samas hoida m\u00e4lu v\u00f5imalikult v\u00e4ikese suurusega.<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"W6wuEIZJf8o\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/W6wuEIZJf8o\/hqdefault.jpg\" alt=\"M\u00e4ngi videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTelefonile otsustati valida rakendus <i>simple_pjsua<\/i> , mis kuulub PJSIP raamatukogusse. See on minimaalne rakendus, mis oskab registreerida end serveris, vastu v\u00f5tta ja helistada. Allpool anname kohe \u00fclevaate, kuidas seda STM32F7-Discovery'l k\u00e4ivitada.<\/p>\n<h3>Kuidas k\u00e4ivitada<\/h3>\n<p><\/p>\n<ol>\n<li> Konfigureerime Emboxi\n<pre><code class=\"bash\">make confload-platform\/pjsip\/stm32f7cube<\/code><\/pre>\n<\/li>\n<li>Failis conf\/mods.config seadistame vajaliku SIP kontode.\n<pre><code class=\"bash\">\ninclude platform.pjsip.cmd.simple_pjsua_imported(\n    sip_domain=\"server\", \n    sip_user=\"username\",\n    sip_passwd=\"password\")\n<\/code><\/pre>\n<p>\nkus <i>server<\/i> \u2014 see on SIP server (n\u00e4iteks sip.linphone.org), <i>username<\/i> ja <i>parool<\/i> \u2014 kasutajanimi ja parool konto jaoks.\n<\/li>\n<li>Kogume Emboxi k\u00e4suga <i>tee<\/i>. Juhend tarkvara laadimiseks on meil olemas <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\/wiki\/Running-Embox-on-STM32xxDiscovery\">wiki<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/349034\/\">artiklis<\/a><\/noindex>.\n<\/li>\n<li>K\u00e4ivitage Emboxi konsoolis k\u00e4sk \u201csimple_pjsua_imported\u201d\n<pre><code class=\"bash\">\n00:00:12.870    pjsua_acc.c  ....SIP v\u00e4ljuv staatus konto 0 jaoks ei ole aktiivne\n00:00:12.884    pjsua_acc.c  ....sip:alexk2222@sip.linphone.org: registreerimine \u00f5nnestus, staatus=200 (registreerimine \u00f5nnestus\n00:00:12.911    pjsua_acc.c  ....Hoidmisajastuse taimer k\u00e4ivitati konto 0 jaoks, sihtkoht:91.121.209.194:5060, intervall:15s\n<\/code><\/pre>\n<p>\n<\/li>\n<li>L\u00f5puks j\u00e4\u00e4b ainult v\u00e4ljastada k\u00f5larid v\u00f5i k\u00f5rvaklapid heliv\u00e4ljundisse ning r\u00e4\u00e4kida kahe v\u00e4ikese MEMS mikrofoniga ekraani k\u00f5rval. Helistame linuks soovitusel rakenduse simple_pjsua, pjsua kaudu. V\u00f5i v\u00f5ite kasutada midagi muud, n\u00e4iteks linphone.\n<\/li>\n<\/ol>\n<p>\nK\u00f5ik see on kirjeldatud meie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\/wiki\/AUDIO-on-STM32\">wiki<\/a><\/noindex>.<\/p>\n<h3>Kuidas me siia j\u00f5udsime<\/h3>\n<p>\nNii et esmalt seisis k\u00fcsimus riistvara platvormi valikust. Kuna oli selge, et STM32F4-Discovery ei sobi m\u00e4lumahu t\u00f5ttu, valiti STM32F7-Discovery. Sellel on 1 MB v\u00e4lk ja 256 KB RAM-i (+ 64 KB eraldi kiiret m\u00e4lu, mida me samuti kasutame). See ei ole ka palju serveri kaudu helistamiseks, kuid otsustasime proovida.<\/p>\n<p>Otsustasime jagada \u00fclesande tinglikult mitmeks etapiks:<\/p>\n<ul>\n<li>PJSIP k\u00e4ivitamine QEMU-s. See oli mugav silumiseks, lisaks oli meil seal juba AC97 kodeki tugi. <\/li>\n<li>H\u00e4\u00e4lte salvestamine ja kordamine QEMU-s ja STM32-l. <\/li>\n<li> Rakenduse edastamine <i>simple_pjsua<\/i> PJSIP kokku pannud. See v\u00f5imaldab registreeruda SIP serveris ja helistada. <\/li>\n<li>Koosta oma server Asterisk baasil ja testige sellel, seej\u00e4rel proovige v\u00e4liseid, nagu sip.linphone.org. <\/li>\n<\/ul>\n<p>\nH\u00e4\u00e4l Emboxis t\u00f6\u00f6tab Portaudio kaudu, mida kasutatakse ka PISIPis. QEMU-s ilmusid esimesed probleemid \u2013 44100 Hz WAV-failid m\u00e4ngisid h\u00e4sti, aga 8000 Hz puhul l\u00e4ks midagi valesti. Selgus, et probleem oli sageduse seadistustes \u2013 vaikimisi oli riistvaras 44100, ja me ei saanud seda programmiga muuta. <\/p>\n<p>Siin on v\u00f5ib-olla m\u00f5istlik natuke selgitada, kuidas \u00fcldse helide esitamine toimub. Helikaardile saab seadistada teatud n\u00e4itaja m\u00e4lu t\u00fckile, millest tuleb esitada v\u00f5i salvestada eelnevalt seadistatud sagedusel. Kui puhver saab otsa, genereeritakse katkestus ja t\u00e4itmine j\u00e4tkub j\u00e4rgmise puhvri juurest. Asi on selles, et neid puhvrit tuleb eelnevalt t\u00e4ita, kuni eelmine toitmine kestab. Selle probleemiga kohtume hiljem STM32F7-l. <\/p>\n<p>Seej\u00e4rel rentisime serveri ja seadistasime sellele Asteriski. Kuna tuli palju siluda, ja r\u00e4\u00e4kimine mikrofonis ei olnud just meeldiv, tuli teha automaatne esitamine ja salvestamine. Selle jaoks pat\u0161isime simple_pjsua nii, et saaksime faile heliseadmete asemel esitada. PJSIP-is on see \u00fcsna lihtne, kuna neil on olemas port, mis v\u00f5ib olla nii seade kui ka fail. Ja neid porte saab paindlikult \u00fchendada teiste portidega. Koodi saab vaadata meie pjsip <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/pjsip\">hoidlad<\/a><\/noindex>. L\u00f5pptulemusena oli skeem j\u00e4rgmine. Asteriski serveris t\u00f5in sisse kaks kontot \u2013 \u00fchele Linuxile ja \u00fchele Emboxile. Seej\u00e4rel, Emboxis k\u00e4itatakse k\u00e4sku <i>simple_pjsua_imported<\/i>, Embox registreerib end serveris, p\u00e4rast mida helistame Linuxist Emboxile. \u00dchenduse loomise hetkel kontrollime Asteriski serveris, et k\u00f5ik \u00fchendused on loodud ja m\u00f5ne aja p\u00e4rast peaksime Emboxis kuulma h\u00e4\u00e4lt Linuxist, samal ajal kui Linuxisse salvestame faili, mis m\u00e4ngib Emboxist.<\/p>\n<p>P\u00e4rast seda, kui see QEMU-s t\u00f6\u00f6le hakkas, liikusime STM32F7-Discovery portimise juurde. Esimene probleem \u2013 ei mahtunud 1 MB ROM-i ilma kompilatsiooni optimeerimiseta \"-Os\" pildi suuruse t\u00f5ttu. Seet\u00f5ttu l\u00fclitasime \"-Os\" sisse. Edasi, pat\u0161iga l\u00fclitasime v\u00e4lja C++ toe, kuna seda vajame ainult pjsua jaoks, kuid kasutame simple_pjsua-d. <\/p>\n<p>P\u00e4rast seda, kui mahtusime <i>simple_pjsua<\/i>, otsustasime, et n\u00fc\u00fcd on v\u00f5imalus see k\u00e4ivitada. Kuid k\u00f5igepealt pidime aru saama h\u00e4\u00e4le salvestamisest ja esitamisest. K\u00fcsimus \u2013 kuhu salvestada? Valisime v\u00e4lise m\u00e4lu \u2013 SDRAM (128 MB). V\u00f5ite proovida seda ise:<\/p>\n<p>Loob loob stereo WAV sagedusega 16000 Hz ja kestusega 10 sekundit:<\/p>\n<pre><code class=\"bash\">\nrecord -r 16000 -c 2 -d 10000 -m C0000000\n<\/code><\/pre>\n<p>\nM\u00e4ngime:<\/p>\n<pre><code class=\"bash\">\nplay -m C0000000\n<\/code><\/pre>\n<p>\nSiin tekkis kaks probleemi. Esiteks koodekiga - kasutatakse WM8994, kus on selline m\u00f5isted nagu slot, ja neid slotte on neli. Nii et vaikimisi, kui seda ei seadista, toimub audio esitamine k\u00f5igis neljas slotis. Seega sagedusel 16000 Hz saime 8000 Hz, ja 8000 Hz jaoks ei t\u00f6\u00f6tanud esitamine \u00fcldse. Kui valiti ainult slottide 0 ja 2, t\u00f6\u00f6tas see nagu vaja. Teiseks probleemiks oli audio liides STM32Cube'is, kus audio v\u00e4ljund t\u00f6\u00f6tab SAI (Serial Audio Interface) kaudu s\u00fcnkroonselt audio sisendiga (ma ei s\u00fcvenenud detailidesse, kuid tundub, et nad jagavad \u00fchist kella ja audio v\u00e4ljundi initsialiseerimisel seondub see kuidagi audio sisendi juurde). Seega ei saa neid eraldi k\u00e4ivitada, seega tegime j\u00e4rgmist - audio sisend ja audio v\u00e4ljund t\u00f6\u00f6tavad alati (sealhulgas genereeritakse katkestusi). Kuid kui s\u00fcsteemis ei esitata midagi, siis anname audio v\u00e4ljundile lihtsalt t\u00fchja puhvri, ja kui esitamine k\u00e4ivitub, hakkame seda ausalt t\u00e4itma.<\/p>\n<p>Seej\u00e4rel seisisime silmitsi probleemiga, et heli salvestamisel oli h\u00e4\u00e4l v\u00e4ga vaikne. See juhtub seet\u00f5ttu, et MEMS mikrofonid STM32F7-Discovery'l t\u00f6\u00f6tavad kuidagi halvasti sagedustel, mis on madalamad kui 16000 Hz. Seega seadistame sageduse 16000 Hz, isegi kui tuleb 8000 Hz. Selleks tuli t\u00f5si k\u00fcll lisada programmi konversioon \u00fchte sagedust teise.<\/p>\n<p>J\u00e4rgmiseks tuli suurendada virna suurust, mis asub RAM-is. Meie arvutuste kohaselt n\u00f5udis pjsip umbes 190 KB, kuid meil j\u00e4i alles vaid umbes 100 KB. Siin tuli natuke v\u00e4list m\u00e4lu kaasata - SDRAM (umbes 128 KB).<\/p>\n<p>K\u00f5ikide nende paranduste j\u00e4rel n\u00e4gin esimesi pakette Linuxi ja Emboxi vahel ning kuulsin heli! Kuid heli oli kohutav, kaugel sellest, mis oli QEMU-s, ei saanud midagi aru. Siis m\u00f5tlesime, mis v\u00f5ib olla probleem. Silumisprotsess n\u00e4itas, et Embox ei suuda lihtsalt audio puhvereid t\u00e4ita\/loosida. Kui pjsip t\u00f6\u00f6tleb \u00fchte raami, toimus 2 katkestust puhverite t\u00f6\u00f6tlemise l\u00f5petamiseks, mis on liiga palju. Esmaseks m\u00f5tteks kiiruskasvuks oli kompilaatori optimeerimine, kuid see oli PJSIP-is juba sisse l\u00fclitatud. Teiseks - riistvaraline ujuvpunktsioon, millest r\u00e4\u00e4kisime. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/418295\">artiklis<\/a><\/noindex>. Kuid praktika n\u00e4itas, et FPU ei toonud olulist kiiruset\u00f5usu. J\u00e4rgmine samm oli voogude prioriteetide seadmine. Emboxis on erinevad planeerimisstrateegiad, ja ma valisin selle, mis toetab prioriteete ning seadistasin audio voogudele maksimaalse prioriteedi. See ei aidanud samuti.<\/p>\n<p>J\u00e4rgmiseks oli m\u00f5te, et t\u00f6\u00f6tame v\u00e4lisse m\u00e4lu ja oleks hea need struktuurid sinna \u00fcle viia, millega sageli manipuleeritakse. Tehtud oli eelanal\u00fc\u00fcs selle kohta, millal ja mille jaoks <i>simple_pjsua<\/i> m\u00e4lu eraldatakse. Selgus, et 190 Kb-st eraldatakse esimesed 90 Kb sisemisteks vajadusteks PJSIP ja nende poole p\u00f6\u00f6rdumine ei toimu v\u00e4ga sageli. Seej\u00e4rel, sissetuleva k\u00f5ne ajal, kutsutakse funktsioon pjsua_call_answer, kus seej\u00e4rel eraldatakse puhvrisid t\u00f6\u00f6ks sissetulevate ja v\u00e4ljuvate raamidega. See oli veel umbes 100 Kb. Ja tegime j\u00e4rgnevalt. Enne k\u00f5net paigutame andmed v\u00e4lisse m\u00e4llu. Niipea, kui k\u00f5ne algab, asendame kohe k\u00fchvel teise \u2014 RAMis. Nii et k\u00f5ik \u201ckuumad\u201d andmed viidi kiiremisse ja ettearvamatumasse m\u00e4llu.<\/p>\n<p>Kokkuv\u00f5ttes v\u00f5imaldas see k\u00f5ik k\u00e4ivitada <i>simple_pjsua<\/i> ja helistada oma serveri kaudu. Seej\u00e4rel ka l\u00e4bi teiste serverite, nagu sip.linphone.org.<\/p>\n<h3>J\u00e4reldused<\/h3>\n<p>\nKokkuv\u00f5ttes \u00f5nnestus <i>simple_pjsua<\/i> edastada h\u00e4\u00e4lt m\u00f5lemas suunas serveri kaudu. Probleemi lisakulu 128 Kb SDRAM-i lahendamiseks v\u00f5iksime kasutada veidi v\u00f5imsamat Cortex-M7 (n\u00e4iteks STM32F769NI 512 Kb RAM-iga), kuid samas pole me veel kaotanud lootust mahtuda ka 256 Kb \ud83d\ude42 Ootame, et keegi v\u00f5iks huvi tunda, ja veel parem \u2014 proovida. K\u00f5ik l\u00e4htekoodid, nagu tavaliselt, on meie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">hoidlad<\/a><\/noindex>.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/embox\/blog\/431134\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F4-Discovery c 1 \u041c\u0431 ROM \u0438 192 \u041a\u0431 RAM) \u043d\u0430 \u0431\u0430\u0437\u0435 Embox. \u0422\u0443\u0442 \u043d\u0430\u0434\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u044b\u043b\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u044f\u043b\u0430 \u0434\u0432\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0431\u0435\u0437 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435\u0439 \u0433\u043e\u043b\u043e\u0441\u0430 \u043b\u0438\u0448\u044c \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u043e\u0440\u043e\u043d\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37916","post","type-post","status-publish","format-standard","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=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F4-Discovery c 1 \u041c\u0431.\" \/>\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\/sip-telefon-na-stm32f7-discovery\" \/>\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\udd47SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F7-Discovery | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F4-Discovery c 1 \u041c\u0431.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery\" \/>\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=\"2019-10-31T19:20:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:31+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\udd47SIP telefon STM32F7-Discovery-l | ProHoster","description":"Tere k\u00f5igile. M\u00f5ni aeg tagasi kirjutasime, kuidas suutsime k\u00e4ivitada SIP telefoni STM32F4-Discovery-l, millel on 1 Mb.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery","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\udd47SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F7-Discovery | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0438\u0441\u0430\u043b\u0438 \u043e \u0442\u043e\u043c \u043a\u0430\u043a \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c SIP \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043d\u0430 STM32F4-Discovery c 1 \u041c\u0431.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery","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":"2019-10-31T19:20:31+00:00","article:modified_time":"2019-10-31T19:20:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37916","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":"2026-01-23 19:45:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:18:22","updated":"2026-01-23 19:45:21","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\/37916","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=37916"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37916\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}