ืฉืืื ืืืืื.
ืืคื ื ืืื ืื ืื ืื ื
ืืืืคืื ืืืืื ืืืืืจ ืืืคืืืงืฆืื simple_pjsua ืืืืง ืืกืคืจืืืช PJSIP. ืืืืืจ ืืืคืืืงืฆืื ืืื ืืืืืช ืฉืืืืื ืืืืจืฉื ืืฉืจืช, ืืงืื ืืืขื ืืช ืืฉืืืืช. ืืืื ืืื ืืชื ืชืืืืจ ืืืฆื ืืืคืขืื ืืืชื ืขื STM32F7-Discovery.
ืืื ืืืฉืืง
- ืืืืจืช ืืืืืืงืก
make confload-platform/pjsip/stm32f7cube
- ืืืืจ ืืช ืืฉืืื SIP ืื ืืจืฉ ืืงืืืฅ conf/mods.config.
include platform.pjsip.cmd.simple_pjsua_imported( sip_domain="server", sip_user="username", sip_passwd="password")
ืืืคื ืฉืจืช ืืื ืฉืจืช SIP (ืืืืืื, sip.linphone.org), ืฉื ืืฉืชืืฉ ะธ ืกืืกืื - ืฉื ืืฉืชืืฉ ืืกืืกืื ืืืฉืืื.
- ืืจืืืช ืืืืืงืก ืืฆืืืช ืืขืฉืืช. ืืืื ืงืืฉืืช ืืืื ืฉืืฉ ืื ื
ืืืงื ื -ััะฐััะต . - ืืคืขื ืืช ืืคืงืืื "simple_pjsua_imported" ืืืกืืฃ ื-Embox
00:00:12.870 pjsua_acc.c ....SIP outbound status for acc 0 is not active 00:00:12.884 pjsua_acc.c ....sip:[email protected]: registration success, status=200 (Registration succes 00:00:12.911 pjsua_acc.c ....Keep-alive timer started for acc 0, destination:91.121.209.194:5060, interval:15s
- ืืืกืืฃ, ื ืืชืจ ืืืื ืืก ืจืืงืืืื ืื ืืืื ืืืช ืืืฆืืืช ืืืืืื, ืืืืืจ ืืชืื ืฉื ื ืืืงืจืืคืื ืื ืงืื ืื ืฉื MEMS ืืื ืืชืฆืืื. ืื ื ืืชืงืฉืจืื ื-Linux ืืจื ืืืคืืืงืฆืื simple_pjsua, pjsua. ืืืื, ืื ืฉืืชื ืืืื ืืืฉืชืืฉ ืืื ืกืื ืืืจ ืฉื linphone.
ืื ืื ืืชืืืจ ืืฆืื ื
ืืื ืืืขื ื ืืฉื
ืื, ืืชืืืื ืขืืชื ืืฉืืื ืืืื ืืืืจืช ืคืืืคืืจืืช ืืืืจื. ืืืืืื ืฉืืื ืืจืืจ ืฉ-STM32F4-Discovery ืื ืืชืืื ืืืืืืจืื, ื ืืืจ STM32F7-Discovery. ืืฉ ืื ืืื ื ืืืืง ืฉื 1 MB ื-256 KB ืฉื ืืืืจืื RAM (+ 64 ืืืืจืื ืืืืจ ืืืืื, ืฉืื ืื ื ืฉืชืืฉ). ืื ืื ืืจืื ืืฉืืืืช ืืจื ืืฉืจืช, ืืื ืืืืื ื ืื ืกืืช ืืืฉืชืื.
ืืชื ืื ืืขืฆืื, ืืืฉืืื ืืืืงื ืืืกืคืจ ืฉืืืื:
- ืืคืขืืช PJSIP ืขื QEMU. ืื ืืื ื ืื ืืืืคืื ืืืืื, ืื ืืกืฃ ืืืจ ืืืืชื ืื ื ืชืืืื ื-Codec AC97 ืฉื.
- ืืงืืืช ืงืื ืืืฉืืขื ื-QEMU ืื-STM32.
- ืืขืืจืช ืืคืืืงืฆืื simple_pjsua ื-PJSIP. ืื ืืืคืฉืจ ืื ืืืืจืฉื ืืฉืจืช SIP ืืืืฆืข ืฉืืืืช.
- ืคืจืืก ืฉืจืช ืืฉืื ืืืืกืก ืืืืืืืช ืืืืืง ืขืืื, ืืืืืจ ืืื ื ืกื ืฉืจืชืื ืืืฆืื ืืื ืืืื sip.linphone.org
ืกืืื ื ื-Embox ืขืืื ืืจื Portaudio, ืืืฉืืฉ ืื ื-PISIP. ืืืขืืืช ืืจืืฉืื ืืช ืืืคืืขื ื-QEMU - WAV ืฉืืืง ืืื ื-44100 ืืจืฅ, ืืื ื-8000 ืืฉืื ืืืืจืืจ ืืฉืชืืฉ. ืืชืืจืจ ืฉืื ืขื ืืื ืฉื ืืืืจืช ืืชืืจ - ืืืจืืจืช ืืืื ืื ืืื 44100 ืืฆืืื, ืืื ืื ืืฉืชื ื ืืืืื ื ืชืืื ืืช.
ืืื, ืืืื, ืืืื ืืืกืืืจ ืืขื ืืื ืืกืืื ื ืืืฉืืข ืืืืคื ืืืื. ื ืืชื ืืืืืืจ ืืช ืืจืืืก ืืงืื ืืืฆืืืข ืขื ืคืืกืช ืืืืจืื ืฉืืื ื ืชืจืฆื ืื ืื ืื ืืืงืืื ืืชืืจ ืงืืืข ืืจืืฉ. ืืืืจ ืฉืืืืืจ ืืกืชืืื, ื ืืฆืจืช ืคืกืืงื ืืืืืฆืืข ืืืฉืื ืขื ืืืืืจ ืืื. ืืขืืืื ืืื ืฉืฆืจืื ืืืื ืืช ืืืืืจืื ืืืื ืืจืืฉ ืืืื ืฉืืงืืื ืื ืืื. ืื ื ื ืชืืืื ืขื ืืขืื ืื ืืืืฉื ื- STM32F7.
ืืืืจ ืืื, ืฉืืจื ื ืฉืจืช ืืคืจืกื ื ืขืืื ืืืืืืช. ืืืืืื ืฉืืื ืฆืืจื ืืืฆืข ื ืืคืื ืืืืื ืืจืื, ืืื ืื ืจืฆืืชื ืืืืจ ืืจืื ืืชืื ืืืืงืจืืคืื, ืืื ืฆืืจื ืืืฆืข ืืฉืืขื ืืืงืืื ืืืืืืืืช. ืืื ืืขืฉืืช ืืืช, ืชืืงื ื ืืช simple_pjsua ืื ืฉืชืืื ืืืืืืง ืงืืฆืื ืืืงืื ืืชืงื ื ืฉืืข. ื-PJSIP, ืื ื ืขืฉื ืืฆืืจื ืคืฉืืื ืืืื, ืืืืืื ืฉืืฉ ืืื ืืืฉื ืฉื ืืฆืืื, ืฉืืืืื ืืืืืช ืืชืงื ืื ืงืืืฅ. ืืืฆืืืืช ืืื ืืืืืืช ืืืืืช ืืืืืจืืช ืืฆืืจื ืืืืฉื ืืืฆืืืืช ืืืจืืช. ืืชื ืืืื ืืจืืืช ืืช ืืงืื ื-pjsip ืฉืื ื
ืืืืจ ืฉืื ืขืื ืขื QEMU, ืขืืจื ื ืืืขืืจ ื- STM32F7-Discovery. ืืืขืื ืืจืืฉืื ื ืืื ืฉืื ืื ื ืื ืกื ื-1 MB ืฉื ROM ืืื ืืืคืืืืืืฆืืืช ืืืืืจ ืืืืืคืฉืจืช "-Os" ืืืืื ืืชืืื ื. ืืื ืืืื ื "-Os". ืืชืจ ืขื ืื, ืืชืืงืื ืืฉืืืช ืืช ืืชืืืื ื-C++, ืื ืฉืืื ื ืืืฅ ืจืง ืขืืืจ pjsua, ืืื ืื ื ืืฉืชืืฉืื ื- simple_pjsua.
ืืืืจ ืฉืืื ื simple_pjsua, ืืืืื ืฉืขืืฉืื ืืฉ ืืืืื ืืช ืืืฉืืง ืืืชื. ืืื ืงืืื ืืื ืฆืืจื ืืืชืืืื ืขื ืืืงืืื ืืืืฉืืขื ืฉื ืืงืื. ืืฉืืื ืืื ืืืคื ืืืชืื? ืืืจื ื ืืืืืจืื ืืืฆืื ื - SDRAM (128 ืืื-ืืืื). ืืชื ืืืื ืื ืกืืช ืืช ืื ืืขืฆืื:
ืืืฆืจ WAV ืกืืจืืื ืืชืืจ ืฉื 16000 ืืจืฅ ืืืฉื ืืื ืฉื 10 ืฉื ืืืช:
record -r 16000 -c 2 -d 10000 -m C0000000
ืื ืื ื ืืคืกืืืื:
play -m C0000000
ืืฉ ืืื ืฉืชื ืืขืืืช. ืืจืืฉืื ืขื ื-codec - WM8994 ืืฉืืฉ, ืืืฉ ืื ืืืจ ืืื ืืื ืืจืืฅ, ืืืฉ 4 ืืืืจืืฆืื ืืืื. ืื, ืืืจืืจืช ืืืื, ืื ืื ืื ืืืืืจ, ืื ืืขืช ืืคืขืืช ืืืืื, ืืฉืืขื ืืชืจืืฉืช ืืื ืืจืืขืช ืืืฉืืฆืืช . ืืื, ืืชืืจ ืฉื 16000 ืืจืฅ ืงืืืื ื 8000 ืืจืฅ, ืืื ืขืืืจ 8000 ืืจืฅ ืืืฉืืขื ืคืฉืื ืื ืขืืื. ืืืฉืจ ื ืืืจื ืจืง ืืฉืืฆืืช 0 ื-2, ืื ืขืื ืืื ืฉืฆืจืื. ืืขืื ื ืืกืคืช ืืืืชื ืืืฉืง ืืืืืื ื-STM32Cube, ืื ืคืื ืืืืืื ืขืืื ืืจื SAI (Serial Audio Interface) ืืืืคื ืกืื ืืจืื ื ืขื ืื ืืกืช ืืืืืื (ืื ืืื ืชื ืืช ืืคืจืืื, ืืื ืืกืชืืจ ืฉืื ืืืืงืื ืฉืขืื ืืฉืืชืฃ ืืืืฉืจ ื- ืคืื ืืืืื ืืืืชืื, ืืืืื ืืืืืจ ืืืืฉืื ืืื ืืกื ืืืื). ืืืืืจ, ืื ื ืืชื ืืืคืขืื ืืืชื ืื ืคืจื, ืื ืขืฉืื ื ืืช ืืคืขืืืืช ืืืืืช - ืื ืืกืช ืืืืืื ืืคืื ืืืืืื ืชืืื ืขืืืืื (ืืืื ื ืืฆืจืืช ืคืกืืงืืช). ืืื ืืฉืฉืื ืืืจ ืื ืืืฉืืข ืืืขืจืืช, ืื ืื ืื ื ืคืฉืื ืืืืืงืื ืืืืจ ืจืืง ืืชืื ืคืื ืืืืืื, ืืืฉืืืฉืืขื ืืชืืืื, ืื ืื ื ืืืืช ืืชืืืืื ืืืื ืืืชื.
ืืชืจ ืขื ืื, ื ืชืงืื ื ืืขืืืื ืฉืืกืืื ื ืืืืื ืืงืืืช ืืงืื ืืื ืฉืงื ืืืื. ืื ื ืืืข ืืืขืืืื ืฉืืืงืจืืคืื ืื ืฉื MEMS ื- STM32F7-Discovery ืืืืฉืื ืื ืขืืืืื ืืื ืืชืืจืื ืืชืืช ื-16000 ืืจืฅ. ืืื, ืื ืื ื ืืืืืจืื 16000 ืืจืฅ, ืื ืื ืืืืข 8000 ืืจืฅ. ืืฉื ืื, ืขื ืืืช, ืืื ืฆืืจื ืืืืกืืฃ ืืืจืช ืชืืื ื ืฉื ืชืืจ ืืื ืืืืจ.
ืืืืจ ืืื, ืืืืชื ืฆืจืื ืืืืืื ืืช ืืืื ืืขืจืืื, ืฉื ืืฆืืช ื-RAM. ืืคื ืืืืฉืืืื ืฉืื ื, pjsip ืืจืฉ ื-190 KB, ืื ืฉืืจื ืื ื ืจืง ื-100 KB. ืืื ืืืืชื ืฆืจืื ืืืฉืชืืฉ ืืืืืจืื ืืืฆืื ื ืืืฉืื - SDRAM (ืืขืจื 128 KB).
ืืืจื ืื ืืขืจืืืืช ืืืื, ืจืืืชื ืืช ืืืืืืืช ืืจืืฉืื ืืช ืืื ืืื ืืงืก ืืืืืืงืก, ืืฉืืขืชื ืืช ืืกืืื ื! ืืื ืืกืืื ื ืืื ื ืืจื, ืืืื ืื ืืื ื-QEMU, ืื ืืคืฉืจ ืืื ืืืืืช ืืืื. ืืื ืืฉืื ื ืื ืืืื ืืืืืช ืืขื ืืื. ืืืชืืจ ืืืืื ืืจืื ืฉื-Embox ืคืฉืื ืืื ืืื ืืืื / ืืคืจืืง ืืืืจื ืืืืื. ืืืื ืฉ-pjsip ืขืืื ืืกืืจืช ืืืช, ืืกืคืืงื ืืืชืจืืฉ 2 ืคืกืืงืืช ืืืื ืืฉืืืช ืขืืืื ืืืืืจ, ืืื ืืืชืจ ืืื. ืืืืฉืื ืืจืืฉืื ื ืืืืืจืืช ืืืืชื ืืืคืืืืืืฆืื ืฉื ืืืืจ, ืืื ืืื ืืืจ ื ืืืื ื-PJSIP. ืืฉื ื ืืื ื ืงืืื ืฆืคื ืืืืืจื, ืืืืจื ื ืขืืื ื
ืืจืขืืื ืืื ืืื ืฉืื ืื ื ืขืืืืื ืขื ืืืืจืื ืืืฆืื ื ืืื ืืืื ื ืืื ืืืขืืืจ ืืฉื ืืื ืื ืฉื ืืืฉืื ืืืืื ืืขืชืื ืงืจืืืืช ืืืืชืจ. ืขืฉืืชื ื ืืชืื ืจืืฉืื ื ืฉื ืืชื ืืชืืช ืื simple_pjsua ืืงืฆื ืืืืจืื. ืืชืืจืจ ืฉืืชืื 190 Kb, ื-90 Kb ืืจืืฉืื ืื ืืืงืฆืื ืืฆืจืืื ืคื ืืืืื ืฉื PJSIP ืืืื ืืืฉื ืืืืื ืืขืืชืื ืงืจืืืืช. ืืชืจื ืืื, ืืืืื ืฉืืื ื ืื ืกืช, ื ืงืจืืช ืืคืื ืงืฆืื pjsua_call_answer, ืฉืื ืืืงืฆืื ืื ืืืืจืื ืืขืืืื ืขื ืืกืืจืืช ื ืื ืกืืช ืืืืฆืืืช. ืื ืขืืืื ืืื ืืขืจื 100 Kb. ืืื ืขืฉืื ื ืืช ืืืืจ ืืื. ืขื ืืจืืข ืืฉืืื, ืื ื ืฉืืื ืืช ืื ืชืื ืื ืืืืืจืื ืืืฆืื ื. ืืื ืขื ืืฉืืื, ืื ื ืืื ืืืืืคืื ืืช ืืขืจืืื ืืืืจ - ื-RAM. ืืคืืื, ืื ืื ืชืื ืื ื"ืืืื" ืืืขืืจื ืืืืืจืื ืืืืจ ืืืชืจ ืืฆืคืื ืืืชืจ.
ืืชืืฆืื ืืื, ืื ืื ืืื ืืืคืฉืจ ืืช ืืืฉืงื simple_pjsua ืืืืชืงืฉืจ ืืจื ืืฉืจืช ืฉืื. ืืื ืืจื ืฉืจืชืื ืืืจืื ืืืื sip.linphone.org.
ืืืฆืืื
ืืชืืฆืื ืืื, ื ืืชื ืืื ืืืฉืืง simple_pjsua ืขื ืฉืืืืจ ืงืืื ืืฉื ื ืืืืืื ืื ืืจื ืืฉืจืช. ื ืืชื ืืคืชืืจ ืืช ืืืขืื ืขื ืืืฆืื ื ืืกืคืช ืฉื 128 KB ืฉื SDRAM ืขื ืืื ืฉืืืืฉ ื-Cortex-M7 ืงืฆืช ืืืชืจ ืืืง (ืืืืืื, STM32F769NI ืขื 512 KB ืฉื ืืืืจืื RAM), ืื ืืื ืขื ืืืช, ืขืืืื ืื ืืืชืจื ื ืขื ืืชืงืืื ืืืืื ืก ื-256 KB ๐ ื ืฉืื ืื ืืืฉืื ืืขืื ืืื, ืื ืืืชืจ ืืื, ื ืกื ืืืช. ืื ืืืงืืจืืช, ืืจืืื, ื ืืฆืืื ืืฆืื ื
ืืงืืจ: www.habr.com