{"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\u00f5ni aeg tagasi me <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/259721\">kirjutanud<\/a><\/noindex> r\u00e4\u00e4kisime, kuidas me suutsime k\u00e4ivitada SIP telefoni STM32F4-Discovery'l (1 MB ROM ja 192 KB RAM) p\u00f5hjal <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">Embox<\/a><\/noindex>. Siinkohal tuleb m\u00e4rkida, et see versioon oli minimaalne ja \u00fchendab kahte telefoni otse ilma serverita ning h\u00e4\u00e4le edastamine toimus vaid \u00fches suunas. Seet\u00f5ttu otsustasime k\u00e4ivitada t\u00e4isfunktsionaalsema telefoni, mis helistab serveri kaudu ja edastab h\u00e4\u00e4lt m\u00f5lemas suunas, kuid \u00fchtlasi p\u00fc\u00fcame mahtuda v\u00f5imalikult v\u00e4ikese m\u00e4lumahtu.<\/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=\"Vaata 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 \/>\nTelefoni jaoks otsustati valida rakendus <i>simple_pjsua<\/i> PJSIP teegi koosseisus. See on minimaalne rakendus, mis suudab registreeruda serveris, vastu v\u00f5tta ja helistada. Allpool toon kohe v\u00e4lja, 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 m\u00e4\u00e4rame vajalikud SIP konto andmed.\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>password<\/i> \u2014 kasutajanimi ja parool konto jaoks.\n<\/li>\n<li>Koostame Emboxi k\u00e4suga <i>make<\/i>. Meil on plaadi flashimise kohta teavet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\/wiki\/Running-Embox-on-STM32xxDiscovery\">vikis<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/349034\/\">artiklis<\/a><\/noindex>.\n<\/li>\n<li>K\u00e4ivitame Emboxi konsoolis k\u00e4su \u201csimple_pjsua_imported\u201d\n<pre><code class=\"bash\">\n00:00:12.870    pjsua_acc.c  ....SIP v\u00e4ljastamise staatus aknas 0 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  ....S\u00e4ilitamise taimer k\u00e4ivitatud aknas 0, sihtkoht:91.121.209.194:5060, intervall:15s\n<\/code><\/pre>\n<p>\n<\/li>\n<li>L\u00f5puks peab \u00fchendama k\u00f5larite v\u00f5i k\u00f5rvaklappide heliv\u00e4ljundi ja r\u00e4\u00e4kima kahe v\u00e4ikese MEMS mikrofoniga ekraani k\u00f5rval. Helistame Linuxist rakenduse simple_pjsua, pjsua kaudu. V\u00f5i v\u00f5ib kasutada ka m\u00f5nda muud, n\u00e4iteks linphone'i.\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\">vikis<\/a><\/noindex>.<\/p>\n<h3>Kuidas me siia j\u00f5udsime<\/h3>\n<p>\nNii et alguses oli k\u00fcsimus riistvara platvormi valikust. Kuna oli selge, et STM32F4-Discovery ei sobi m\u00e4lumahtude t\u00f5ttu, valiti STM32F7-Discovery. Sellel on 1 MB m\u00e4lukaart ja 256 KB RAM (+ 64 KB spetsiaalset kiiret m\u00e4lu, mida me ka kasutame). Samuti pole see piisav serveri kaudu k\u00f5nede jaoks, kuid otsustasime proovida sisse mahutada.<\/p>\n<p>Otsustasime \u00fclesande tinglikult mitmeks etapiks jagada:<\/p>\n<ul>\n<li>PJSIP k\u00e4ivitamine QEMU-s. See oli mugav silumiseks, pluss seal oli juba AC97 koodeki tugi. <\/li>\n<li>H\u00e4\u00e4lte salvestamine ja esitamine QEMU-s ja STM32-s. <\/li>\n<li> Rakenduse portimine <i>simple_pjsua<\/i> PJSIP-ist. See v\u00f5imaldab registreeruda SIP serveris ja helistada. <\/li>\n<li>Tee enda Asteriski baasil server \u00fcles ja testige seda, seej\u00e4rel proovige v\u00e4liseid, nagu sip.linphone.org <\/li>\n<\/ul>\n<p>\nEmboxis t\u00f6\u00f6tab heli Portaudio kaudu, mida kasutatakse ka PISIP-is. QEMU-s ilmnesid esimesed probleemid \u2014 44100 Hz WAV failid m\u00e4ngisid h\u00e4sti, kuid 8000 Hz puhul ei l\u00e4inud k\u00f5ik \u00f5igesti. Selgus, et asi oli sageduse seadistuses \u2014 vaikimisi oli seadmel seade 44100 ja meil seda programmiliselt ei muudetud. <\/p>\n<p>Siin on v\u00f5ib-olla vajalik natuke selgitada, kuidas heli \u00fcldiselt m\u00e4ngitakse. Helikaardile saab seadistada viitamise mingi m\u00e4lukoha juurde, kust tuleb m\u00e4ngida v\u00f5i salvestada eelnevalt seadistatud sagedusel. P\u00e4rast seda, kui p\u00f5randa t\u00e4itmine l\u00f5peb, genereeritakse katkestus ja t\u00e4itmine j\u00e4tkub j\u00e4rgmise p\u00f5randa juurest. Asi on selles, et neid p\u00f5randaid tuleb t\u00e4ita ette, enne kui eelmine m\u00e4ngitakse. Sellega probleemiga kohtume hiljem ka STM32F7-l. <\/p>\n<p>Seej\u00e4rel rentisime serveri ja paigaldasime sellele Asteriski. Kuna pidime palju t\u00f5rkeotsingut tegema ja ei tahtnud palju mikrofoni r\u00e4\u00e4kida, oli vajalik automatiseeritud esitamine ja salvestamine. Selleks muutsime simple_pjsua nii, et saaksime faile meedia seadmete asemel sisestada. PJSIP-is on seda \u00fcsna lihtne teha, kuna neil on olemas port, mis v\u00f5ib olla nii seade kui ka fail. Nende porte saab paindlikult \u00fchendada teiste portidega. Koodi saab vaadata meie pjsip-is. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/pjsip\">repositoriis<\/a><\/noindex>L\u00f5puks oli skeem j\u00e4rgmine. Serveris Asterisk registreerisin kaks kontot \u2014 \u00fchte Linuxi ja \u00fchte Emboxi jaoks. Seej\u00e4rel t\u00e4idetakse Emboxis k\u00e4sk <i>simple_pjsua_imported<\/i>, Embox registreerib end serveris, p\u00e4rast mida helistame Linuxist Emboxile. Kohtumise hetkel kontrollime Asteriski serveris, et k\u00f5ik \u00fchendused on loodud ja m\u00f5ne aja p\u00e4rast peaksime kuulma Emboxis heli Linuxist, samal ajal salvestame Linuxis faili, mis prediseerib Emboxist.<\/p>\n<p>Kui see QEMU-s t\u00f6\u00f6tama hakkas, l\u00e4ksime STM32F7-Discovery portimise juurde. Esimene probleem oli see, et 1 MB ROM-i ei mahtunud ilma kompilaatori optimeerimise \"-Os\" sissel\u00fclitamiseta. Nii et l\u00fclitasime \"-Os\" sisse. Edasi, pat\u0161iga l\u00fclitasime v\u00e4lja C++ toete, kuna see on vajalik ainult pjsua jaoks, aga meie kasutame simple_pjsua. <\/p>\n<p>Kuna mahtusime <i>simple_pjsua<\/i>, otsustasime, et n\u00fc\u00fcd on t\u00f5en\u00e4osus see k\u00e4ima saada. Aga k\u00f5igepealt pidime tegelema h\u00e4\u00e4le salvestamise ja taasesitamisega. K\u00fcsimus oli - kuhu salvestada? Valisime v\u00e4lise m\u00e4lu - SDRAM (128 MB). Saate seda ise proovida:<\/p>\n<p>Loo 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>\nEsitame:<\/p>\n<pre><code class=\"bash\">\nplay -m C0000000\n<\/code><\/pre>\n<p>\nSiin tekkis kaks probleem. Esimene on koodekiga \u2014 kasutatakse WM8994, kus on selline asi nagu pesa, ja neid pesasid on neli. Nii et vaikimisi, kui seda ei seadista, toimub audio esitamine k\u00f5igis neljas pesas. Seet\u00f5ttu 16000 Hz sagedusel saime 8000 Hz, ja 8000 Hz puhul ei toimunud esitamine lihtsalt. Kui valisime ainult pesad 0 ja 2, siis t\u00f6\u00f6tas k\u00f5ik nagu peab. Teine probleem oli audio liides STM32Cube'is, kus audio v\u00e4ljund t\u00f6\u00f6tab l\u00e4bi SAI (Serial Audio Interface) s\u00fcnkroonselt audio sisendiga (ei s\u00fcvenenud detailidesse, kuid tundub, et nad jagavad \u00fchist kella ja audio v\u00e4ljundi initsialiseerimisel seondub see mingil moel audio sisendiga). T\u00e4hendab, neid eraldi k\u00e4ivitada ei saa, seega tegime j\u00e4rgmist \u2014 audio sisend ja sisend t\u00f6\u00f6tavad alati (sealhulgas genereeritakse katkestusi). Kuid kui s\u00fcsteemis ei midagi esitatakse, siis anname audio v\u00e4ljundile lihtsalt t\u00fchja puhversalvestuse, ja kui esitamine algab, hakkame seda ausalt t\u00e4itma.<\/p>\n<p>Seej\u00e4rel kohtasime probleemi, et h\u00e4\u00e4lt salvestades oli heli v\u00e4ga vaikne. See juhtub, kuna STM32F7-Discovery MEMS-mikrofonid ei t\u00f6\u00f6ta kuidagi h\u00e4sti sagedustel alla 16000 Hz. Seet\u00f5ttu m\u00e4\u00e4rame sageduseks 16000 Hz, isegi kui sisend on 8000 Hz. Selleks on t\u00f5si, et tuli lisada \u00fche sageduse \u00fcmberprogrammeerimine teiseks.<\/p>\n<p>Seej\u00e4rel tuli suurendada hunniku 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 kasutada natuke v\u00e4list m\u00e4lu \u2014 SDRAM-i (umbes 128 kB).<\/p>\n<p>P\u00e4rast k\u00f5iki neid muudatusi n\u00e4gin esimesi pakette Linuxi ja Emboxi vahel ning kuulsin heli! Kuid heli oli kohutav, kaugel QEMU omadest, midagi polnud v\u00f5imalik aru saada. Siis m\u00f5tlesime, mis v\u00f5iks olla probleem. Silumise k\u00e4igus selgus, et Embox ei j\u00f5ua lihtsalt audio-bufeere t\u00e4ita \/ t\u00fchjendada. Kui pjsip t\u00f6\u00f6tas \u00fche raami kallal, toimusid juba kaks katkestust, mis l\u00f5petasid bufeerite t\u00f6\u00f6tlemise, mis on liiga palju. Esimene m\u00f5te kiirusel oli kompilaatori optimeerimine, kuid see oli juba PJSIP-is sisse l\u00fclitatud. Teiseks \u2014 riistvara ujuvkomaar, millest oleme r\u00e4\u00e4kinud. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/418295\">artiklis<\/a><\/noindex>. Kuid praktika on n\u00e4idanud, et FPU ei andnud m\u00e4rkimisv\u00e4\u00e4rset kiiruskasvu. J\u00e4rgmine samm oli voogude prioriteetide seadmine. Emboxis on erinevaid ajakava strateegiaid, ning ma valisin selle, mis toetab prioriteete ja seadsin audio voogudele k\u00f5rgeima prioriteedi. See ei aidanud samuti.<\/p>\n<p>J\u00e4rgmine idee oli, et t\u00f6\u00f6tame v\u00e4lim\u00e4lu abil ning oleks hea sinna paigutada strukture, millele p\u00e4\u00e4seda tuleb v\u00e4ga tihti. Tezisin eelanal\u00fc\u00fcsi selle kohta, millal ja milleks <i>simple_pjsua<\/i> m\u00e4lu eraldatakse. Selgus, et 190 Kb-st eraldatakse esimesed 90 Kb PJSIP-i sisemiste vajaduste tarbeks ja nendele p\u00e4\u00e4semine ei toimu eriti sageli. Seet\u00f5ttu kutsutakse sissetuleva k\u00f5ne ajal funktsioon pjsua_call_answer, kus seej\u00e4rel eraldatakse puhvrid sissetulevate ja v\u00e4ljaminevate raamistikudega t\u00f6\u00f6tamiseks. See oli veel umbes 100 Kb. Ja siin tegime me j\u00e4rgmist. Enne k\u00f5net paigaldasime andmed v\u00e4lim\u00e4lu. Kui k\u00f5ik l\u00e4heb k\u00f5ne ajal \u2014 kohe asendame hunniku teisega \u2014 RAM-is. Nii oli k\u00f5ik \u201ckuumad\u201d andmed \u00fcle viidud kiiremasse ja ennustatavamasse m\u00e4lu.<\/p>\n<p>Kokkuv\u00f5ttes v\u00f5imaldas k\u00f5ik see k\u00e4ivitada <i>simple_pjsua<\/i> ja helistada l\u00e4bi oma serveri. Ja siis juba l\u00e4bi teiste serverite, nagu sip.linphone.org.<\/p>\n<h3>J\u00e4reldused<\/h3>\n<p>\nL\u00f5puks \u00f5nnestus k\u00e4ivitada <i>simple_pjsua<\/i> h\u00e4\u00e4le edastamine m\u00f5lemas suunas l\u00e4bi serveri. Probleemi, mis tulenes 128 Kb SDRAM lisa kulutamisest, saab lahendada veidi v\u00f5imsama Cortex-M7 kasutamisega (n\u00e4iteks STM32F769NI, millel on 512 Kb RAM), kuid me pole veel loobunud ka 256 Kb mahutavusse mahutamisest \ud83d\ude42 Oleme r\u00f5\u00f5msad, kui keegi on sellest huvitatud, ja veel parem \u2014 proovib. K\u00f5ik algfailid, nagu tavaliselt, on meie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">repositoriis<\/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 4.9.10 - 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 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\" \/>\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) 4.9.10\" \/>\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 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\" \/>\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 \u00f5nnestus meil SIP telefon k\u00e4ivitada STM32F4-Discovery-l, millel on 1 MB ROM ja 192 Kb RAM, Emboxi alusel. Tuleb \u00f6elda, et see versioon oli minimaalne ja \u00fchendas kahte telefoni otse, ilma serverita ja h\u00e4\u00e4le edastamine toimus vaid \u00fches suunas. Seet\u00f5ttu otsustasime k\u00e4ivitada","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 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","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"},"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}]}}