{"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\/sq\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery","title":{"rendered":"Telefon SIP n\u00eb STM32F7-Discovery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve.<\/p>\n<p>Para nj\u00eb koh\u00eb t\u00eb gjat\u00eb, ne <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/259721\">shkruam<\/a><\/noindex> diskutuam se si arrit\u00ebm t\u00eb ndiznim nj\u00eb telefon SIP n\u00eb STM32F4-Discovery me 1 MB ROM dhe 192 KB RAM mbi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">Embox<\/a><\/noindex>. Duhet t\u00eb themi se ajo version ishte minimale dhe lidhi dy telefona direkt pa server dhe me transmetim z\u00ebri vet\u00ebm n\u00eb nj\u00eb drejtim. Prandaj, ne vendos\u00ebm t\u00eb fillojm\u00eb nj\u00eb telefon m\u00eb t\u00eb plot\u00eb me thirrje p\u00ebrmes serverit, transmetim z\u00ebri n\u00eb t\u00eb dyja drejtime, por duke u p\u00ebrpjekur t\u00eb p\u00ebrshtatemi n\u00eb sa m\u00eb pak hap\u00ebsir\u00eb t\u00eb mundshme.<\/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=\"Luaj videon\" 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 \/>\nP\u00ebr telefonin, vendos\u00ebm t\u00eb zgjidhim aplikacionin <i>simple_pjsua<\/i> n\u00eb p\u00ebrb\u00ebrje t\u00eb bibliotek\u00ebs PJSIP. Ky \u00ebsht\u00eb nj\u00eb aplikacion minimal q\u00eb di t\u00eb regjistrohet n\u00eb server, t\u00eb pranoj\u00eb dhe t\u00eb p\u00ebrgjigjet n\u00eb thirrje. M\u00eb posht\u00eb do t'ju jap menj\u00ebher\u00eb p\u00ebrshkrimin se si ta ndizni at\u00eb n\u00eb STM32F7-Discovery.<\/p>\n<h3>Si t\u00eb ndizni<\/h3>\n<p><\/p>\n<ol>\n<li> Konfigurojm\u00eb Embox\n<pre><code class=\"bash\">make confload-platform\/pjsip\/stm32f7cube<\/code><\/pre>\n<\/li>\n<li>N\u00eb skedarin conf\/mods.config p\u00ebrcaktojm\u00eb llogarin\u00eb SIP t\u00eb nevojshme.\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>\nku <i>server<\/i> \u2014 ky \u00ebsht\u00eb server SIP (p\u00ebr shembull, sip.linphone.org), <i>username<\/i> dhe <i>password<\/i> \u2014 emri i p\u00ebrdoruesit dhe fjal\u00ebkalimi p\u00ebr llogarin\u00eb.\n<\/li>\n<li>Kryejm\u00eb mbledhjen e Embox me komand\u00ebn <i>make<\/i>. P\u00ebr programimin e bordit kemi informacion n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\/wiki\/Running-Embox-on-STM32xxDiscovery\">wiki<\/a><\/noindex> dhe n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/349034\/\">artikullin<\/a><\/noindex>.\n<\/li>\n<li>N\u00eb konsol\u00eb t\u00eb Embox, ekzekutojm\u00eb komand\u00ebn 'simple_pjsua_imported'\n<pre><code class=\"bash\">\n00:00:12.870    pjsua_acc.c  ....Statusi SIP outbound p\u00ebr acc 0 nuk \u00ebsht\u00eb aktiv\n00:00:12.884    pjsua_acc.c  ....sip:alexk2222@sip.linphone.org: regjistrimi i suksessh\u00ebm, statusi=200 (Regjistrimi sukses\n00:00:12.911    pjsua_acc.c  ....Koha p\u00ebr mbajtje e aktivizuar p\u00ebr acc 0, destinacioni:91.121.209.194:5060, intervali:15s\n<\/code><\/pre>\n<p>\n<\/li>\n<li>M\u00eb n\u00eb fund, mbetet t\u00eb lidhni kolonat ose kufjet n\u00eb daljen audio dhe t\u00eb flisni n\u00eb dy mikrofonet e vegj\u00ebl MEMS af\u00ebr ekranit. Po telefonojm\u00eb nga Linux p\u00ebrmes aplikacionit simple_pjsua, pjsua. Ose mund t\u00eb p\u00ebrdorni \u00e7do tjet\u00ebr si linphone.\n<\/li>\n<\/ol>\n<p>\nE gjith\u00eb kjo \u00ebsht\u00eb p\u00ebrshkruar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\/wiki\/AUDIO-on-STM32\">wiki<\/a><\/noindex>.<\/p>\n<h3>Si e arrit\u00ebm k\u00ebt\u00eb<\/h3>\n<p>\nPra, origjinalisht u dha problemi i zgjedhjes s\u00eb platform\u00ebs harduerike. Duke qen\u00eb se ishte e qart\u00eb q\u00eb STM32F4-Discovery nuk do t\u00eb p\u00ebrshtatej p\u00ebr memorien, u zgjodh STM32F7-Discovery. Ajo ka 1 MB flash dhe 256 KB RAM (+ 64 KB memorie t\u00eb shpejt\u00eb speciale, t\u00eb cil\u00ebn ne gjithashtu do ta p\u00ebrdorim). Edhe kjo nuk \u00ebsht\u00eb shum\u00eb p\u00ebr telefonatat p\u00ebrmes serverit, por vendos\u00ebm ta provonim.<\/p>\n<p>Kondicionalisht p\u00ebr vete e ndam\u00eb detyr\u00ebn n\u00eb disa faza:<\/p>\n<ul>\n<li>Aktivizimi i PJSIP n\u00eb QEMU. Ky ishte i p\u00ebrshtatsh\u00ebm p\u00ebr debugging, p\u00ebrve\u00e7 q\u00eb atje kishim p\u00ebrkrahjen e kodek\u00ebve AC97. <\/li>\n<li>Regjistrimi i z\u00ebrit dhe riprodhimi n\u00eb QEMU dhe n\u00eb STM32. <\/li>\n<li> Portimi i aplikacionit <i>simple_pjsua<\/i> nga PJSIP. Ai lejon regjistrimin n\u00eb serverin SIP dhe telefonatat. <\/li>\n<li>Krijoni serverin tuaj t\u00eb bazuar n\u00eb Asterisk dhe testoni n\u00eb t\u00eb, pastaj provoni t\u00eb jashtme, si sip.linphone.org <\/li>\n<\/ul>\n<p>\nToni n\u00eb Embox funksionon p\u00ebrmes Portaudio, i cili p\u00ebrdoret gjithashtu n\u00eb PISIP. N\u00eb QEMU shfaqeshin problemet e para \u2014 WAV-t\u00eb jan\u00eb luajtur mir\u00eb n\u00eb 44100 Hz, por n\u00eb 8000 di\u00e7ka me siguri nuk shkonte si\u00e7 duhet. U zbulua se problemi ishte n\u00eb konfigurimin e frekuenc\u00ebs \u2014 n\u00eb harduerin ton\u00eb ajo ishte 44100, dhe ne nuk e ndryshuam programatikisht. <\/p>\n<p>K\u00ebtu, ndoshta, vlen t\u00eb sqarojm\u00eb pak si ndodh luajtja e z\u00ebrit. Kart\u00ebs s\u00eb z\u00ebrit mund t'i vendoset nj\u00eb tregues n\u00eb nj\u00eb cop\u00eb memorie nga e cila duhet t\u00eb luaj\u00eb ose t\u00eb regjistroj\u00eb n\u00eb nj\u00eb frekuenc\u00eb t\u00eb caktuar paraprakisht. Pas p\u00ebrfundimit t\u00eb treguesit, aktivizohet nj\u00eb nd\u00ebrprerje dhe ekzekutimi vazhdon me treguesin e ardhsh\u00ebm. Problemi \u00ebsht\u00eb se k\u00ebto tregues duhet t\u00eb plot\u00ebsohen me koh\u00eb, nd\u00ebrsa luhet ai paraprak. K\u00ebt\u00eb problem do ta hasim m\u00eb tej n\u00eb STM32F7. <\/p>\n<p>M\u00eb pas, ne kemi qiruar nj\u00eb server dhe e kemi aktivizuar Asterisk aty. Duke pasur parasysh se duhej t\u00eb b\u00ebnim shum\u00eb konfigurime dhe nuk d\u00ebshironim t\u00eb flisnim shum\u00eb n\u00eb mikrofon, duhej t\u00eb b\u00ebnim pajisje p\u00ebr riprodhim dhe regjistrim automatik. P\u00ebr k\u00ebt\u00eb q\u00ebllim, ne e patch-uar simple_pjsua q\u00eb t\u00eb mund t\u00eb futnim skedar\u00eb si z\u00ebdh\u00ebn\u00ebs. N\u00eb PJSIP, kjo b\u00ebhet mjaft thjesht\u00eb, pasi ata kan\u00eb konceptin e portit, i cili mund t\u00eb jet\u00eb ose nj\u00eb pajisje, ose nj\u00eb skedar. K\u00ebta porte mund t\u00eb lidheshin fleksib\u00ebl me porte t\u00eb tjera. Mund ta shikoni kodin n\u00eb pjsip ton\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/pjsip\">repozitorit<\/a><\/noindex>N\u00eb p\u00ebrfundim, skema ishte si n\u00eb vijim. N\u00eb serverin Asterisk un\u00eb krijova dy llogari \u2014 p\u00ebr Linux dhe p\u00ebr Embox. M\u00eb pas, n\u00eb Embox ekzekutohet komanda <i>simple_pjsua_imported<\/i>, Embox regjistrohet n\u00eb server, pas \u00e7ka ne telefonojm\u00eb nga Linux n\u00eb Embox. N\u00eb momentin e lidhjes ne kontrollojm\u00eb n\u00eb serverin Asterisk q\u00eb e gjith\u00eb lidhja \u00ebsht\u00eb krijuar, dhe pas nj\u00eb kohe t\u00eb caktuar, duhet t\u00eb d\u00ebgjojm\u00eb n\u00eb Embox z\u00ebrin nga Linux, nd\u00ebrsa n\u00eb Linux ruajm\u00eb skedarin q\u00eb riprodhohet nga Embox.<\/p>\n<p>Pasi q\u00eb kjo funksionoi n\u00eb QEMU, kaluar n\u00eb portimin n\u00eb STM32F7-Discovery. Problemi i par\u00eb \u2014 nuk duhej t\u00eb ngjitej n\u00eb 1 MB ROM pa aktivizuar optimizimin e kompilerit \"-Os\" p\u00ebr madh\u00ebsin\u00eb e imazhit. Prandaj aktivizuam \"-Os\". M\u00eb pas, me nj\u00eb patch, fik\u00ebm mb\u00ebshtetje p\u00ebr C++, pasi ajo \u00ebsht\u00eb e nevojshme vet\u00ebm p\u00ebr pjsua, nd\u00ebrsa ne p\u00ebrdorim simple_pjsua. <\/p>\n<p>Pasi u organizuam <i>simple_pjsua<\/i>, vendos\u00ebm se mund\u00ebsia p\u00ebr ta realizuar k\u00ebt\u00eb tani ekziston. Por s\u00eb pari duhej t\u00eb merreshim me regjistrimin dhe riprodhimin e z\u00ebrit. Pyetja \u2014 ku t\u00eb regjistrojm\u00eb? Zgjodh\u00ebm memorjen e jashtme \u2014 SDRAM (128 MB). Mund ta provoni k\u00ebt\u00eb vet\u00eb:<\/p>\n<p>Do t\u00eb krijoj\u00eb nj\u00eb WAV stereo me frekuenc\u00eb 16000 Hz dhe nj\u00eb gjat\u00ebsi prej 10 sekondash:<\/p>\n<pre><code class=\"bash\">\nrecord -r 16000 -c 2 -d 10000 -m C0000000\n<\/code><\/pre>\n<p>\nPo luajm\u00eb:<\/p>\n<pre><code class=\"bash\">\nplay -m C0000000\n<\/code><\/pre>\n<p>\nK\u00ebtu u shfaq\u00ebn dy probleme. E para ishte me kodekun \u2014 p\u00ebrdoret WM8994, dhe ka nj\u00eb koncept si slot, dhe k\u00ebto slot jan\u00eb 4. Pra, p\u00ebr default, n\u00ebse nuk konfigurohet ndonj\u00ebher\u00eb, gjat\u00eb reproduktimit t\u00eb z\u00ebrit, luhet n\u00eb t\u00eb kat\u00ebr slotet. Prandaj, n\u00eb frekuenc\u00ebn 16000 Hz merrnim 8000 Hz, nd\u00ebrsa p\u00ebr 8000 Hz, reproduktimi thjesht nuk funksiononte. Kur p\u00ebrzgjodh\u00ebm vet\u00ebm slotet 0 dhe 2, filloi t\u00eb punonte si\u00e7 duhet. Nj\u00eb tjet\u00ebr problem ishte interfata audio n\u00eb STM32Cube, ku dalja audio funksionon p\u00ebrmes SAI (Serial Audio Interface) n\u00eb m\u00ebnyr\u00eb sinkrone me hyrjen audio (nuk u thellova n\u00eb detaje, por del se ndajn\u00eb or\u00ebn e p\u00ebrbashk\u00ebt dhe gjat\u00eb inicializimit t\u00eb daljes audio, ndonj\u00ebher\u00eb lidhet me hyrjen audio). Pra, nuk mund t\u00eb nis\u00ebsh ato ndaras, prandaj b\u00ebm\u00eb k\u00ebt\u00eb \u2014 gjithmon\u00eb punojn\u00eb (p\u00ebrfshir\u00eb gjenerimin e nd\u00ebrprerjeve) hyrja audio dhe dalja audio. Por kur n\u00eb sistem nuk ka asgj\u00eb q\u00eb luhet, thjesht i japim daljes audio nj\u00eb tampon t\u00eb zbraz\u00ebt, dhe kur fillon luajtja, fillojm\u00eb ta mbushim ndersh\u00ebm.<\/p>\n<p>Pastaj u p\u00ebrball\u00ebm me faktin se z\u00ebri gjat\u00eb regjistrimit t\u00eb z\u00ebrit ishte shum\u00eb i qet\u00eb. Kjo ndodh p\u00ebr shkak se mikrofon\u00ebt MEMS n\u00eb STM32F7-Discovery nuk punojn\u00eb mir\u00eb n\u00eb frekuenca m\u00eb t\u00eb ul\u00ebta se 16000 Hz. Prandaj, ne vendosim 16000 Hz, edhe n\u00ebse mb\u00ebrrin 8000 Hz. P\u00ebr k\u00ebt\u00eb, megjithat\u00eb, nevojitej t\u00eb shtonim nj\u00eb konvertim programor nga nj\u00eb frekuenc\u00eb n\u00eb nj\u00eb tjet\u00ebr.<\/p>\n<p>M\u00eb pas, duhej t\u00eb rrisnim madh\u00ebsin\u00eb e grumbullit q\u00eb ndodhet n\u00eb RAM. Sipas llogaritjeve tona, pjsip k\u00ebrkonte rreth 190 Kb, nd\u00ebrsa ne kishim mbetur vet\u00ebm rreth 100 Kb. K\u00ebshtu, u p\u00ebrfshi pak memorie t\u00eb jashtme \u2014 SDRAM (rreth 128 Kb).<\/p>\n<p>Pas t\u00eb gjith\u00eb k\u00ebtyre rregullimeve, pash\u00eb paketat e para midis Linux-it dhe Embox-it, dhe d\u00ebgjova z\u00eb! Por z\u00ebri ishte i tmerrsh\u00ebm, krejt ndryshe nga QEMU, asgj\u00eb nuk mund t\u00eb kuptohej. At\u00ebher\u00eb ne menduam se \u00e7far\u00eb mund t\u00eb ishte problemi. Debugging tregoi se Embox thjesht nuk po arrinte t\u00eb mbushte \/ shkarkonte buferat audio. Nd\u00ebrsa pjsip p\u00ebrpunonte nj\u00eb korniz\u00eb, ndodhnin dy nd\u00ebrprerje p\u00ebr p\u00ebrfundimin e p\u00ebrpunimit t\u00eb buferave, q\u00eb ishte shum\u00eb. Mendimi i par\u00eb p\u00ebr t\u00eb p\u00ebrshpejtuar ishte optimizimi i kompilatorit, por ai ishte tashm\u00eb i p\u00ebrfshir\u00eb n\u00eb PJSIP. E dyta \u2014 pika fluturuese harduerike, p\u00ebr t\u00eb cil\u00ebn ne kishim folur n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/embox\/blog\/418295\">artikullin<\/a><\/noindex>. Por \u00e7far\u00eb tregoi praktika, FPU nuk dha nj\u00eb rritje t\u00eb konsiderueshme n\u00eb shpejt\u00ebsi. Hapi tjet\u00ebr ishte caktimi i prioriteteve p\u00ebr rrjedhat. N\u00eb Embox ka strategji t\u00eb ndryshme planifikimi, dhe un\u00eb aktivizova at\u00eb q\u00eb mb\u00ebshtet prioritetet, duke caktuar prioritetin m\u00eb t\u00eb lart\u00eb p\u00ebr rrjedhat audio. Kjo gjithashtu nuk ndihmoi.<\/p>\n<p>Ideja tjet\u00ebr ishte q\u00eb ne po punonim me memorie t\u00eb jashtme dhe do t\u00eb ishte mir\u00eb ta transferonim struktura atje, p\u00ebr t\u00eb cilat ka shpesh qasje. Un\u00eb kryeva nj\u00eb analiz\u00eb paraprake se kur dhe p\u00ebr \u00e7far\u00eb <i>simple_pjsua<\/i> ndan memorie. Doli se nga 190 Kb, 90 Kb e para ndahen p\u00ebr nevojat e brendshme t\u00eb PJSIP dhe p\u00ebr to ka qasje jo shum\u00eb t\u00eb shpeshta. M\u00eb pas, gjat\u00eb nj\u00eb thirrjeje, thirret funksioni pjsua_call_answer, n\u00eb t\u00eb cilin pastaj ndahen bufferat p\u00ebr pun\u00ebn me frame-t e ardhsh\u00ebm dhe t\u00eb d\u00ebrguar. Kjo ishte gjithashtu rreth 100 Kb. Dhe k\u00ebtu ne vepruam k\u00ebshtu. Para momentit t\u00eb thirrjes, t\u00eb dh\u00ebnat pozicionohen n\u00eb memorie t\u00eb jashtme. Sa her\u00eb q\u00eb ndodhte thirrja, menj\u00ebher\u00eb z\u00ebvend\u00ebsonim heap-in me nj\u00eb tjet\u00ebr - n\u00eb RAM. K\u00ebshtu, t\u00eb gjitha t\u00eb dh\u00ebnat \u201ct\u00eb nxehta\u201d u transferuan n\u00eb nj\u00eb memorie m\u00eb t\u00eb shpejt\u00eb dhe m\u00eb t\u00eb parashikueshme.<\/p>\n<p>N\u00eb p\u00ebrfundim, t\u00eb gjith\u00eb k\u00ebto s\u00eb bashku lejuan nisjen <i>simple_pjsua<\/i> dhe t\u00eb telefononi p\u00ebrmes serverit tuaj. Pastaj, p\u00ebrmes server\u00ebve t\u00eb tjer\u00eb si sip.linphone.org.<\/p>\n<h3>P\u00ebrfundimet<\/h3>\n<p>\nN\u00eb p\u00ebrfundim, arrit\u00ebm t\u00eb aktivizojm\u00eb <i>simple_pjsua<\/i> me transmetimin e z\u00ebrit n\u00eb t\u00eb dy drejtimet p\u00ebrmes serverit. Problemi me 128 Kb SDRAM t\u00eb shpenzuar m\u00eb shum\u00eb mund t\u00eb zgjidhet duke p\u00ebrdorur nj\u00eb Cortex-M7 pak m\u00eb t\u00eb fuqish\u00ebm (p.sh., STM32F769NI me 512 Kb RAM), por ende nuk e kemi braktisur shpres\u00ebn t\u00eb kalojm\u00eb edhe n\u00eb 256 Kb \ud83d\ude42 Do t\u00eb na g\u00ebzoj\u00eb n\u00ebse dikush \u00ebsht\u00eb i interesuar, dhe akoma m\u00eb mir\u00eb \u2014 provon. T\u00eb gjith\u00eb burimet ndodhen si zakonisht n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/embox\/embox\">repozitorit<\/a><\/noindex>.<br \/>\n<br \/>Burimi: <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.0.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 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\/sq\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47Telefon SIP n\u00eb STM32F7-Discovery | ProHoster","description":"P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve. Disa koh\u00eb m\u00eb par\u00eb shkruam se si arrit\u00ebm t\u00eb aktivizojm\u00eb telefonin SIP n\u00eb STM32F4-Discovery me 1 Mb ROM dhe 192 Kb RAM) mbi Embox. Duhet th\u00ebn\u00eb se ajo version ishte minimale dhe lidhte dy telefona direkt pa server dhe me transmetim z\u00ebri vet\u00ebm n\u00eb nj\u00eb drejtim. Prandaj, vendos\u00ebm t\u00eb aktivizojm\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sip-telefon-na-stm32f7-discovery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/37916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=37916"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37916\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=37916"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=37916"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=37916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}