ื–ื•ืคึผืŸ ื˜ืขืœืขืคืึธืŸ ืื•ื™ืฃ STM32F7-Discovery

ื”ืขืœื ืึทืœืขืžืขืŸ.

ืžื™ื˜ ืึท ืฆื™ื™ื˜ ืฆื•ืจื™ืง ืžื™ืจ ะฟะธัะฐะปะธ ื•ื•ืขื’ืŸ ื•ื•ื™ ืžื™ืจ ื’ืขืจืื˜ืŸ ืฆื• ืงืึทื˜ืขืจ ืึท ื–ื•ืคึผืŸ ื˜ืขืœืขืคืึธืŸ ืื•ื™ืฃ STM32F4-Discovery ืžื™ื˜ 1 ืžื‘ ืจืึทื ืื•ืŸ 192 ืงื‘ ื‘ืึทืจืึทืŸ) ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืขืžื‘ืึธืงืก. ื“ืึธ ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขื–ืื’ื˜ ืึทื– ื“ื™ ื•ื•ืขืจืกื™ืข ืื™ื– ื’ืขื•ื•ืขืŸ ืžื™ื ื™ืžืึทืœ ืื•ืŸ ืคืืจื‘ื•ื ื“ืŸ ืฆื•ื•ื™ื™ ืคืึธื ืขืก ื’ืœื™ื™ึทืš ืึธืŸ ืึท ืกืขืจื•ื•ืขืจ ืื•ืŸ ืžื™ื˜ ืงื•ืœ ื˜ืจืึทื ืกืžื™ืกื™ืข ื‘ืœื•ื™ื– ืื™ืŸ ืื™ื™ืŸ ืจื™ื›ื˜ื•ื ื’. ื“ืขืจื™ื‘ืขืจ, ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืงืึทื˜ืขืจ ืึท ืžืขืจ ื’ืึทื ืฅ ื˜ืขืœืขืคืึธืŸ ืžื™ื˜ ืึท ืจื•ืคืŸ ื“ื•ืจืš ืึท ืกืขืจื•ื•ืขืจ, ืงื•ืœ ื˜ืจืึทื ืกืžื™ืกื™ืข ืื™ืŸ ื‘ื™ื™ื“ืข ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก, ืึธื‘ืขืจ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ื˜ ืคึผืึทืกื™ืง ืื™ืŸ ื“ืขืจ ืงืœืขื ืกื˜ืขืจ ืžืขื’ืœืขืš ื–ื›ึผืจื•ืŸ ื’ืจื™ื™ืก.


ืขืก ืื™ื– ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืงืœื™ื™ึทื‘ืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื“ื™ ื˜ืขืœืขืคืึธืŸ simple_pjsua ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขืจ PJSIP ื‘ื™ื‘ืœื™ืึธื˜ืขืง. ื“ืึธืก ืื™ื– ืึท ืžื™ื ื™ืžืึทืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ืคืึทืจืฉืจื™ื™ึทื‘ืŸ ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ, ื‘ืึทืงื•ืžืขืŸ ืื•ืŸ ืขื ื˜ืคึฟืขืจืŸ ืงืึทืœืœืก. ื•ื ื˜ืขืจ ืื™ืš ื•ื•ืขื˜ ืžื™ื“ ื’ืขื‘ืŸ ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ื“ืขื ืื•ื™ืฃ ื“ื™ STM32F7-Discovery.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ

  1. ืงืึทื ืคื™ื’ื™ืขืจ ืขืžื‘ืึธืงืก
    make confload-platform/pjsip/stm32f7cube
  2. ืื™ืŸ ื“ื™ conf/mods.config ื˜ืขืงืข ืžื™ืจ ืฉื˜ืขืœืŸ ื“ื™ ืคืืจืœืื ื’ื˜ ื–ื•ืคึผืŸ ื—ืฉื‘ื•ืŸ.
    
    include platform.pjsip.cmd.simple_pjsua_imported(
        sip_domain="server", 
        sip_user="username",
        sip_passwd="password")
    

    ื•ื•ื• ืฉืœื™ื— ืื™ื– ืึท ื–ื•ืคึผืŸ ืกืขืจื•ื•ืขืจ (ืœืžืฉืœ, sip.linphone.org), ื ืืžืขืŸ ะธ ืคึผืึทืจืึธืœ - ื ืืžืขืŸ ืื•ืŸ ืคึผืึทืจืึธืœ ืคึฟืึทืจ ื“ืขื ื—ืฉื‘ื•ืŸ.

  3. ืžื™ืจ ืึทืกืขืžื‘ืึทืœ ืขืžื‘ืึธืงืก ืžื™ื˜ ืึท ืžืึทื ืฉืึทืคึฟื˜ ืžืึทื›ืŸ. ืžื™ืจ ื”ืึธื‘ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื‘ืจืขื˜ ืคื™ืจืžื•ื•ืึทืจืข ื‘ื™ื™ึท wiki ืื•ืŸ ืึทืจื˜ื™ืงืœ.
  4. ืœื•ื™ืคืŸ ื“ื™ ื‘ืึทืคึฟืขืœ "simple_pjsua_imported" ืื™ืŸ ื“ื™ ืขืžื‘ืึธืงืก ืงืึทื ืกืึธื•ืœ
    
    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
    

  5. ืฆื•ื ืกื•ืฃ, ืึทืœืข ื•ื•ืึธืก ื‘ืœื™ื™ื‘ื˜ ืื™ื– ืฆื• ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ืกืคึผื™ืงืขืจื– ืึธื“ืขืจ ื›ืขื“ืคืึธื•ื ื– ืื™ืŸ ื“ื™ ืึทื•ื“ื™ืึธ ืจืขื–ื•ืœื˜ืึทื˜ ืื•ืŸ ืจืขื“ืŸ ืื™ืŸ ืฆื•ื•ื™ื™ ืงืœื™ื™ืŸ MEMS ืžื™ื™ืงืจืึธื•ืคืึธื•ื ื– ื•ื•ื™ื™ึทื˜ืขืจ ืฆื• ื“ื™ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ. ืžื™ืจ ืจื•ืคืŸ ืคึฟื•ืŸ ืœื™ื ื•ืงืก ื ื™ืฆืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ simple_pjsua, pjsua. ื ื•, ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ืงื™ื™ืŸ ืื ื“ืขืจืข ื˜ื™ืคึผ ืคื•ืŸ ืœื™ื ืคืึธื•ืŸ.

ืึทืœืข ื“ืขื ืื™ื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ wiki.

ื•ื•ื™ ื–ืขื ืขืŸ ืžื™ืจ ื’ืขืงื•ืžืขืŸ ืึทื”ืขืจ

ืึทื–ื•ื™, ื˜ื›ื™ืœืขืก, ื“ื™ ืงืฉื™ื ืื™ื– ืื•ื™ืคื’ืขืฉื˜ืื ืขืŸ ื•ื•ืขื’ืŸ ื˜ืฉื•ื–ื™ื ื’ ืึท ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคึผืœืึทื˜ืคืึธืจืžืข. ื–ื™ื ื˜ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืงืœืึธืจ ืึทื– ื“ื™ STM32F4-Discovery ื•ื•ืึธืœื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืคึผืึทืกื™ืง ืคึฟืึทืจ ื–ื›ึผืจื•ืŸ, ื“ื™ STM32F7-Discovery ืื™ื– ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜. ื–ื™ ื”ืื˜ ืึท 1 ืžื‘ ื‘ืœื™ืฅ ืคืึธืจ ืื•ืŸ 256 ืงื‘ ืคื•ืŸ ื‘ืึทืจืึทืŸ (+ 64 ืกืคึผืขืฆื™ืขืœ ืฉื ืขืœ ื–ื›ึผืจื•ืŸ, ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืš ื ื•ืฆืŸ). ืขืก ืื™ื– ืื•ื™ืš ื ื™ืฉื˜ ืคื™ืœ ืคึฟืึทืจ ืงืึทืœืœืก ื“ื•ืจืš ื“ื™ ืกืขืจื•ื•ืขืจ, ืึธื‘ืขืจ ืžื™ืจ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืคึผืจื•ื‘ื™ืจืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ืื™ืŸ.

ืงืึทื ื•ื•ืขื ืฉืึทื ืึทืœื™, ื“ื™ ืึทืจื‘ืขื˜ ืื™ื– ืฆืขื˜ื™ื™ืœื˜ ืื™ืŸ ืขื˜ืœืขื›ืข ืกื˜ืึทื’ืขืก:

  • ืคืœื™ืกื ื“ื™ืง PJSIP ืื•ื™ืฃ QEMU. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื‘ืึทืงื•ื•ืขื ืคึฟืึทืจ ื“ื™ื‘ืึทื’ื™ื ื’, ืคึผืœื•ืก ืžื™ืจ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ AC97 ืงืึธื“ืขืง ื“ืึธืจื˜.
  • ืงื•ืœ ืจืขืงืึธืจื“ื™ื ื’ ืื•ืŸ ืคึผืœื™ื™ื‘ืึทืง ืื•ื™ืฃ QEMU ืื•ืŸ STM32.
  • ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ simple_pjsua ืคื•ืŸ ื“ื™ PJSIP. ืขืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจืฉืจื™ื™ึทื‘ืŸ ืื•ื™ืฃ ืึท ื–ื•ืคึผืŸ ืกืขืจื•ื•ืขืจ ืื•ืŸ ืžืึทื›ืŸ ืงืึทืœืœืก.
  • ืฆืขื•ื•ื™ืงืœืขืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืกืขืจื•ื•ืขืจ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืึทืกื˜ืขืจื™ืกืง ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืื•ื™ืฃ ืขืก, ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง, ืึทื–ืึท ื•ื•ื™ sip.linphone.org

ืกืึธื•ื ื“ ืื™ืŸ ืขืžื‘ืึธืงืก ืึทืจื‘ืขื˜ ื“ื•ืจืš Portaudio, ื•ื•ืึธืก ืื™ื– ืื•ื™ืš ื’ืขื ื™ืฆื˜ ืื™ืŸ PISIP. ื“ื™ ืขืจืฉื˜ืข ืคืจืื‘ืœืขืžืขืŸ ื”ืึธื‘ืŸ ื–ื™ืš ื‘ืื•ื•ื™ื–ืŸ ืื•ื™ืฃ QEMU - ื•ื•ืึทื•ื• ื–ืขื ืขืŸ ืคึผืœื™ื™ึทืขื“ ื’ืขื–ื•ื ื˜ ื‘ื™ื™ 44100 ื”ื–, ืึธื‘ืขืจ ื‘ื™ื™ 8000 ืขืคึผืขืก ืื™ื– ืงืœืืจ ืคืึทืœืฉ. ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ื’ืขื•ื•ืขืŸ ืื™ืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืึธืคื˜ืงื™ื™ึทื˜ - ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืื™ืŸ ื“ื™ ื•ื™ืกืจื™ื›ื˜ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ 44100, ืื•ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ื˜ื•ื™ืฉืŸ ื“ืขื ืื™ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’.

ื“ืึธ, ืขืก ืื™ื– ืžื™ืกื˜ืึธืžืข ื•ื•ืขืจื˜ ืฆื• ื“ืขืจืงืœืขืจืŸ ืึท ื‘ื™ืกืœ ื•ื•ืขื’ืŸ ื•ื•ื™ ื’ืขื–ื•ื ื˜ ืื™ื– ืคึผืœื™ื™ึทืขื“ ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ. ื“ื™ ื’ืขื–ื•ื ื˜ ืงืึธืจื˜ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ืขื˜ืœืขื›ืข ื˜ื™ื™ึทื˜ืœ ืฆื• ืึท ืฉื˜ื™ืง ืคื•ืŸ ื–ื›ึผืจื•ืŸ ืคื•ืŸ ื•ื•ืึธืก ืขืก ื“ืึทืจืฃ ื–ื™ื™ืŸ ืคึผืœื™ื™ึทืขื“ ืึธื“ืขืจ ืจืขืงืึธืจื“ืขื“ ืื™ืŸ ืึท ืคึผืจื™ื“ื™ื˜ืขืจืžื™ื ื“ ืึธืคื˜ืงื™ื™ึทื˜. ื ืึธืš ื“ื™ ื‘ืึทืคืขืจ ืœื•ื™ืคื˜ ืื•ื™ืก, ืึท ื™ื‘ืขืจืจื™ื™ึทืก ืื™ื– ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ื”ืืœื˜ ืคื•ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื‘ืึทืคืขืจ. ื“ื™ ืคื•ื ื˜ ืื™ื– ืึทื– ื“ื™ ื‘ืึทืคืขืจื– ื“ืึทืจืคึฟืŸ ืฆื• ื–ื™ื™ืŸ ืึธื ื’ืขืคื™ืœื˜ ืื™ืŸ ืฉื˜ื™ื™ึทื’ืŸ ื‘ืฉืขืช ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืื™ื™ื ืขืจ ืื™ื– ืคึผืœื™ื™ื™ื ื’. ืžื™ืจ ื•ื•ืขืœืŸ ื˜ืจืขืคืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื ื•ื•ื™ื™ึทื˜ืขืจ ืื•ื™ืฃ ื“ื™ STM32F7.

ื“ืขืจื ืึธืš, ืžื™ืจ ืจืขื ื˜ืึทื“ ืึท ืกืขืจื•ื•ืขืจ ืื•ืŸ ื“ื™ืคึผืœื•ื™ื“ ืึทืกื˜ืขืจื™ืกืง ืื•ื™ืฃ ืขืก. ื–ื™ื ื˜ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืฆื• ื˜ืึธืŸ, ืื•ืŸ ืื™ืš ื”ืื˜ ื ื™ืฉื˜ ื•ื•ืขืœืŸ ืฆื• ืจืขื“ืŸ ืคื™ืœ ืื™ืŸ ื“ื™ ืžื™ืงืจืึธืคืึธืŸ, ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ื˜ืึธืŸ ืึธื˜ืึทืžืึทื˜ื™ืง ืคึผืœื™ื™ื‘ืึทืง ืื•ืŸ ืจืขืงืึธืจื“ื™ื ื’. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ืคึผืึทื˜ืฉื˜ simple_pjsua ืึทื–ื•ื™ ืึทื– ืžื™ืจ ืงืขื ืขืŸ ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ื˜ืขืงืขืก ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึทื•ื“ื™ืึธ ื“ืขื•ื•ื™ืกืขืก. ืื™ืŸ PJSIP ื“ืึธืก ืื™ื– ื’ืึทื ืฅ ืคึผืฉื•ื˜, ื•ื•ื™ื™ึทืœ ื–ื™ื™ ื”ืึธื‘ืŸ ื“ื™ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืึท ืคึผืึธืจื˜, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึท ืžื™ื˜ืœ ืึธื“ืขืจ ืึท ื˜ืขืงืข. ืื•ืŸ ื“ื™ ืคึผืึธืจืฅ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืคืœืขืงืกืึทื‘ืึทืœ ืคืืจื‘ื•ื ื“ืŸ ืฆื• ืื ื“ืขืจืข ืคึผืึธืจืฅ. ืื™ืจ ืงืขื ื˜ ื–ืขืŸ ื“ืขื ืงืึธื“ ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคึผื“ื–ืฉืกื™ืคึผ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื–. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ื™ ืกื›ืขืžืข ืื™ื– ื’ืขื•ื•ืขืŸ ื•ื•ื™ ื’ื™ื™ื˜. ืื™ืš ื‘ืืฉืืคืŸ ืฆื•ื•ื™ื™ ืึทืงืึทื•ื ืฅ ืื•ื™ืฃ ื“ื™ ืึทืกื˜ืขืจื™ืกืง ืกืขืจื•ื•ืขืจ - ืคึฟืึทืจ ืœื™ื ื•ืงืก ืื•ืŸ ืคึฟืึทืจ ืขืžื‘ืึธืงืก. ื“ืขืจื ืึธืš, ื“ื™ ื‘ืึทืคึฟืขืœ ืื™ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื•ื™ืฃ ืขืžื‘ืึธืงืก simple_pjsua_imported, ืขืžื‘ืึธืงืก ืจืขื“ื–ืฉื™ืกื˜ืขืจื– ืื•ื™ืฃ ื“ื™ ืกืขืจื•ื•ืขืจ, ื ืึธืš ื•ื•ืึธืก ืžื™ืจ ืจื•ืคืŸ ืขืžื‘ืึธืงืก ืคึฟื•ืŸ ืœื™ื ื•ืงืก. ืื™ืŸ ื“ืขื ืžืึธืžืขื ื˜ ืคื•ืŸ ืงืฉืจ, ืžื™ืจ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื•ื™ืฃ ื“ื™ ืึทืกื˜ืขืจื™ืกืง ืกืขืจื•ื•ืขืจ ืึทื– ื“ื™ ื’ืื ืฆืข ืงืฉืจ ืื™ื– ื’ืขื’ืจื™ื ื“ืขื˜, ืื•ืŸ ื ืึธืš ืขื˜ืœืขื›ืข ืžืึธืœ ืžื™ืจ ื–ืึธืœ ื”ืขืจืŸ ื’ืขื–ื•ื ื˜ ืคึฟื•ืŸ ืœื™ื ื•ืงืก ืื™ืŸ ืขืžื‘ืึธืงืก, ืื•ืŸ ืื™ืŸ ืœื™ื ื•ืงืก ืžื™ืจ ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ื˜ืขืงืข ื•ื•ืึธืก ืื™ื– ืคึผืœื™ื™ึทืขื“ ืคึฟื•ืŸ ืขืžื‘ืึธืงืก.

ืึทืžืึธืœ ื“ืึธืก ื’ืขืืจื‘ืขื˜ ืื•ื™ืฃ QEMU, ืžื™ืจ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืฆื• ืคึผืึธืจื˜ื™ื ื’ ืขืก ืฆื• ื“ื™ STM32F7-Discovery. ื“ืขืจ ืขืจืฉื˜ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื– ืžื™ืจ ืงืขืŸ ื ื™ืฉื˜ ืคึผืึทืกื™ืง ืื™ืŸ 1 MB ืคื•ืŸ ืจืึทื ืึธืŸ ื“ื™ "-ืึธืก" ืงืึทืžืคึผื™ื™ืœืขืจ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื‘ื™ืœื“ ื’ืจื™ื™ืก ืขื ื™ื™ื‘ืึทืœื“. ื“ืขืจื™ื‘ืขืจ, ืžื™ืจ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ "-ืึธืก". ื“ืขืจื ืึธืš, ื“ื™ ืœืึทื˜ืข ืคืึทืจืงืจื™ืคึผืœื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ C ++, ืึทื–ื•ื™ ืขืก ืื™ื– ื ืึธืจ ื“ืืจืฃ ืคึฟืึทืจ pjsua, ืื•ืŸ ืžื™ืจ ื ื•ืฆืŸ ืกื™ืžืคึผืœืข_ืคึผื“ื–ืฉืกื•ืึท.

ื ืึธืš ืคึผืœื™ื™ืกื™ื ื’ simple_pjsua, ื‘ืึทืฉืœืึธืกืŸ ืึทื– ืขืก ืื™ื– ืื™ืฆื˜ ืึท ื’ืขืœืขื’ื ื”ื™ื™ึทื˜ ืฆื• ืงืึทื˜ืขืจ ืขืก. ืื‘ืขืจ ืขืจืฉื˜ืขืจ ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืจืขื›ืขื ืขืŸ ืื•ื™ืก ื•ื•ื™ ืฆื• ืจืขืงืึธืจื“ื™ืจืŸ ืื•ืŸ ืฉืคึผื™ืœ ืฆื•ืจื™ืง ืงื•ืœื•ืช. ืคืจืื’ืข - ื•ื•ืื• ืฆื• ืฉืจื™ื™ื‘ืŸ? ืžื™ืจ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื–ื›ึผืจื•ืŸ - SDRAM (128 ืžืขื’ืื‘ื™ื™ื˜ืŸ). ืื™ืจ ืงืขื ืขืŸ ืคึผืจื•ื‘ื™ืจืŸ ื“ืึธืก ื–ื™ืš:

ื•ื•ืขื˜ ืžืึทื›ืŸ ืึท ืกื˜ืขืจื™ืึธื• ื•ื•ืึทื•ื• ืžื™ื˜ ืึท ืึธืคื˜ืงื™ื™ึทื˜ ืคื•ืŸ 16000 ื”ื– ืื•ืŸ ืึท ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ 10 ืกืขืงื•ื ื“ืขืก:


record -r 16000 -c 2 -d 10000 -m C0000000

ืžื™ืจ ืคืึทืจืœื™ืจืŸ:


play -m C0000000

ื“ื ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืฆื•ื•ื™ื™ ืคืจืื‘ืœืขืžืขืŸ. ื“ืขืจ ืขืจืฉื˜ืขืจ ืื™ื– ืžื™ื˜ ื“ื™ ืงืึธื“ืขืง - WM8994 ืื™ื– ื’ืขื ื™ืฆื˜, ืื•ืŸ ืขืก ืื™ื– ืึทื–ืึท ืึท ืฉืคึผืขืœื˜ืœ, ืื•ืŸ ืขืก ื–ืขื ืขืŸ 4 ืคื•ืŸ ื“ื™ ืกืœืึธืฅ, ืึทื–ื•ื™ ืื•ื™ื‘ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืงืึทื ืคื™ื’ื™ืขืจื“, ืคึผืœื™ื™ื‘ืึทืง ืึทืงืขืจื– ืื™ืŸ ืึทืœืข ืคื™ืจ ืกืœืึธืฅ. ื“ืขืจื™ื‘ืขืจ, ืื™ืŸ ืึท ืึธืคื˜ืงื™ื™ึทื˜ ืคื•ืŸ 16000 ื”ื– ืžื™ืจ ื‘ืืงื•ืžืขืŸ 8000 ื”ื–, ืึธื‘ืขืจ ืคึฟืึทืจ 8000 ื”ื– ืคึผืœื™ื™ื‘ืึทืง ืคืฉื•ื˜ ื”ืื˜ ื ื™ืฉื˜ ืึทืจื‘ืขื˜ืŸ. ื•ื•ืขืŸ ืžื™ืจ ื”ืึธื‘ืŸ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ื‘ืœื•ื™ื– ืกืœืึธืฅ 0 ืื•ืŸ 2, ืขืก ื’ืขืืจื‘ืขื˜ ื•ื•ื™ ื“ืขืจื•ื•ืึทืจื˜. ืืŸ ืื ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืึทื•ื“ื™ืึธ ืฆื•ื‘ื™ื ื“ ืื™ืŸ ื“ื™ STM32Cube, ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืึทื•ื“ื™ืึธ ืจืขื–ื•ืœื˜ืึทื˜ ืึทืจื‘ืขื˜ ื“ื•ืจืš SAI (Serial Audio Interface) ืกื™ื ื˜ืฉืจืึธื ืึธื•ืกืœื™ ืžื™ื˜ ื“ื™ ืึทื•ื“ื™ืึธ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ (ืื™ืš ื”ืึธื‘ ื ื™ืฉื˜ ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ื™ ื“ืขื˜ืึทื™ืœืก, ืึธื‘ืขืจ ืขืก ื˜ื•ืจื ืก ืื•ื™ืก ืึทื– ื–ื™ื™ ื˜ื™ื™ืœืŸ ืึท ืคึผืจืึธืกื˜ ื–ื™ื™ื’ืขืจ ืื•ืŸ ื•ื•ืขืŸ ื™ื ื™ืฉืึทืœื™ื–ื™ื ื’ ื“ื™ ืึทื•ื“ื™ืึธ ืจืขื–ื•ืœื˜ืึทื˜, ืึทื•ื“ื™ืึธ ืื™ื– ืขืคืขืก ื’ืขื‘ื•ื ื“ืŸ ืฆื• ื“ื™ ืึทืจื™ื™ึทื ื’ืึทื ื’). ื“ืึธืก ืื™ื–, ืขืก ืื™ื– ืื•ืžืžืขื’ืœืขืš ืฆื• ืœื•ื™ืคืŸ ื–ื™ื™ ืกืขืคึผืขืจืึทื˜ืœื™, ืึทื–ื•ื™ ืžื™ืจ ื”ืึธื‘ืŸ ื’ืขื˜ืืŸ ื“ื™ ืคืืœื’ืขื ื“ืข - ื“ื™ ืึทื•ื“ื™ืึธ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืื•ืŸ ืึทื•ื“ื™ืึธ ืจืขื–ื•ืœื˜ืึทื˜ ืึทืจื‘ืขื˜ ืฉื˜ืขื ื“ื™ืง (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื™ื ื˜ืขืจืึทืคึผืฅ ื–ืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“). ืึธื‘ืขืจ ื•ื•ืขืŸ ื’ืึธืจื ื™ืฉื˜ ืื™ื– ืคึผืœื™ื™ื™ื ื’ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื, ืžื™ืจ ืคืฉื•ื˜ ืฆืขื˜ืœ ืึท ืœื™ื™ื“ื™ืง ื‘ืึทืคืขืจ ืื™ืŸ ื“ื™ ืึทื•ื“ื™ืึธ ืจืขื–ื•ืœื˜ืึทื˜, ืื•ืŸ ื•ื•ืขืŸ ืคึผืœื™ื™ื‘ืึทืง ืกื˜ืึทืจืฅ, ืžื™ืจ ื”ืึธื ืขืกื˜ืœื™ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืคึผืœืึธืžื‘ื™ืจืŸ ืขืก.

ื“ืขืžืึธืœื˜ ืžื™ืจ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ ื“ื™ ืคืึทืงื˜ ืึทื– ื“ื™ ื’ืขื–ื•ื ื˜ ื•ื•ืขืŸ ืจืขืงืึธืจื“ื™ื ื’ ื“ื™ ืงื•ืœ ืื™ื– ื’ืขื•ื•ืขืŸ ื–ื™ื™ืขืจ ืฉื˜ื™ืœ. ื“ืึธืก ืื™ื– ืจืขื›ื˜ ืฆื• ื“ืขื ืคืึทืงื˜ ืึทื– ื“ื™ MEMS ืžื™ื™ืงืจืึธื•ืคืึธื•ื ื– ืื•ื™ืฃ ื“ื™ STM32F7-Discovery ืขืคืขืก ื˜ืึธืŸ ื ื™ื˜ ืึทืจื‘ืขื˜ ื’ืขื–ื•ื ื˜ ื‘ื™ื™ ืคืจื™ืงื•ื•ืึทื ืกื™ื– ืื•ื ื˜ืขืจ 16000 ื”ื–. ื“ืขืจื™ื‘ืขืจ, ืžื™ืจ ืฉื˜ืขืœืŸ ืขืก ืฆื• 16000 ื”ื–, ืืคื™ืœื• ืื•ื™ื‘ 8000 ื”ื– ืงื•ืžื˜. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืขืก ืื™ื– ืืžืช ืึทื– ืขืก ืื™ื– ื ื™ื™ื˜ื™ืง ืฆื• ืœื™ื™ื’ืŸ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืคื•ืŸ ืื™ื™ืŸ ืึธืคื˜ืงื™ื™ึทื˜ ืฆื• ืื ื“ืขืจืŸ.

ื•ื•ื™ื™ึทื˜ืขืจ, ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ืขืจ ืงื•ืคึผืข, ื•ื•ืึธืก ืื™ื– ืœื™ื’ืŸ ืื™ืŸ ื‘ืึทืจืึทืŸ. ืœื•ื™ื˜ ืื•ื ื“ื–ืขืจ ื—ืฉื‘ื•ื ื•ืช, pjsip ืคืืจืœืื ื’ื˜ ื•ื•ืขื’ืŸ 190 ืงื™ืœืื‘ื™ื™ื˜, ืื•ืŸ ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืœื•ื™ื– ื•ื•ืขื’ืŸ 100 ืงื™ืœืื‘ื™ื™ื˜ ืœื™ื ืงืก. ื“ืึธ ืžื™ืจ ื”ืึธื‘ืŸ ืฆื• ื ื•ืฆืŸ ืึท ื‘ื™ืกืœ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื–ื›ึผืจื•ืŸ - SDRAM (ื•ื•ืขื’ืŸ 128 ืงื‘).

ื ืึธืš ืึทืœืข ื“ื™ ืขื“ื™ืฅ, ืื™ืš ื’ืขื–ืขืŸ ื“ื™ ืขืจืฉื˜ืขืจ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืฆื•ื•ื™ืฉืŸ ืœื™ื ื•ืงืก ืื•ืŸ ืขืžื‘ืึธืงืก, ืื•ืŸ ื’ืขื”ืขืจื˜ ื“ื™ ื’ืขื–ื•ื ื˜! ืื‘ืขืจ ื“ืขืจ ืงืœืื ื’ ืื™ื– ื’ืขื•ื•ืขืŸ ืฉืจืขืงืœื™ืš, ื‘ื›ืœืœ ื ื™ืฉื˜ ื•ื•ื™ ืื•ื™ืฃ QEMU, ืžืขืŸ ื”ืื˜ ื’ืืจื ื™ืฉื˜ ื’ืขื”ืขืจื˜. ื“ื ืŸ ื”ืื‘ ืŸ ืžื™ ืจ ื–ื™ ืš ื’ืขื—ื™ื“ื•ืฉื˜ , ืฐื ืก ืงืข ืŸ ื–ืฒ ืŸ ื“ืข ืจ ื–ืืš . ื“ื™ื‘ืึทื’ื™ื ื’ ื’ืขื•ื•ื™ื–ืŸ ืึทื– ืขืžื‘ืึธืงืก ืคืฉื•ื˜ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืฆื™ื™ื˜ ืฆื• ืคึผืœืึธืžื‘ื™ืจืŸ / ืึทื ืœืึธื•ื“ ืึทื•ื“ื™ืึธ ื‘ืึทืคืขืจื–. ื‘ืฉืขืช ืคึผื“ื–ืฉืกื™ืคึผ ืคึผืจืึทืกืขืกื˜ ืื™ื™ืŸ ืจืึทื, 2 ื™ื ื˜ืขืจืึทืคึผืฅ ื•ื•ืขื’ืŸ ื“ื™ ืงืึทืžืคึผืœื™ืฉืึทืŸ ืคื•ืŸ ื‘ืึทืคืขืจ ืคึผืจืึทืกืขืกื™ื ื’ ื”ืึธื‘ืŸ ืคืืจื’ืขืงื•ืžืขืŸ, ื•ื•ืึธืก ืื™ื– ืฆื• ืคื™ืœ. ืžื™ื™ึทืŸ ืขืจืฉื˜ืขืจ ื’ืขื“ืึทื ืง ืคึฟืึทืจ ืกืคึผื™ื“ืึทืคึผ ืื™ื– ืงืึทืžืคึผื™ื™ืœืขืจ ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ืฉื•ื™ืŸ ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ PJSIP. ื“ื™ ืจื’ืข ืื™ื– ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืคืœืึธื•ื˜ื™ื ื’ ืคื•ื ื˜, ืžื™ืจ ื’ืขืจืขื“ื˜ ื•ื•ืขื’ืŸ ืื™ื ืื™ืŸ ืึทืจื˜ื™ืงืœ. ืึธื‘ืขืจ ื•ื•ื™ ืคึผืจืึทืงื˜ื™ืกื™ื– ื’ืขื•ื•ื™ื–ืŸ, FPU ื”ืื˜ ื ื™ืฉื˜ ืฆื•ืฉื˜ืขืœืŸ ืึท ื‘ืึทื˜ื™ื™ื˜ื™ืง ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ื’ื™ื›ืงื™ื™ึทื˜. ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื• ืฉื˜ืขืœืŸ ืคืึธื“ืขื ืคึผืจื™ื™ืึธืจืึทื˜ื™ื–. ืขืžื‘ืึธืงืก ื”ืื˜ ืคืึทืจืฉื™ื“ืขื ืข ืกืงืขื“ื–ืฉื•ืœื™ื ื’ ืกื˜ืจืึทื˜ืขื’ื™ืขืก, ืื•ืŸ ืื™ืš ืขื ื™ื™ื‘ืึทืœื“ ื“ืขืจ ืื™ื™ื ืขืจ ื•ื•ืึธืก ืฉื˜ื™ืฆื˜ ืคึผืจื™ื™ืึธืจืึทื˜ื™ื– ืื•ืŸ ื’ืขื’ืขื‘ืŸ ื“ื™ ืึทื•ื“ื™ืึธ ืกื˜ืจื™ืžื– ื“ื™ ื”ืขื›ืกื˜ืŸ ื‘ื™ืœื›ืขืจืงื™ื™ึทื˜. ื“ืืก ื”ืื˜ ืื•ื™ืš ื ื™ืฉื˜ ื’ืขื”ืืœืคืŸ.

ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ื’ืขื“ืึทื ืง ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื– ืžื™ืจ ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื–ื›ึผืจื•ืŸ ืื•ืŸ ืขืก ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื’ื•ื˜ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื“ืึธืจื˜ ื•ื•ืึธืก ื–ืขื ืขืŸ ืึทืงืกืขืกื˜ ื’ืึธืจ ืึธืคื˜. ืื™ืš ื’ืขืคื™ืจื˜ ืึท ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ื•ื•ืขืŸ ืื•ืŸ ืื•ื ื˜ืขืจ ื•ื•ืึธืก simple_pjsua ืึทืœืึทืงื™ื™ืฅ ื–ื›ึผืจื•ืŸ. ืขืก ืคืืจืงืขืจื˜ ืื•ื™ืก ืึทื– ืคื•ืŸ 190 ืงื‘, ื“ื™ ืขืจืฉื˜ืขืจ 90 ืงื‘ ื–ืขื ืขืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึฟืึทืจ ื“ื™ ื™ื ืขืจืœืขืš ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ PJSIP ืื•ืŸ ื–ืขื ืขืŸ ื ื™ืฉื˜ ืึทืงืกืขืกื˜ ื–ื™ื™ืขืจ ืึธืคื˜. ื“ืขืจื ืึธืš, ื‘ืขืฉืึทืก ืึท ื™ื ืงืึทืžื™ื ื’ ืจื•ืคืŸ, ื“ื™ pjsua_call_answer ืคื•ื ืงืฆื™ืข ืื™ื– ื’ืขืจื•ืคึฟืŸ, ืื™ืŸ ื•ื•ืึธืก ื‘ืึทืคืขืจื– ื–ืขื ืขืŸ ื“ืึทืŸ ืึทืœืึทืงื™ื™ื˜ื™ื“ ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื™ื ืงืึทืžื™ื ื’ ืื•ืŸ ืึทื•ื˜ื’ืึธื•ื™ื ื’ ืจืึธืžืขืŸ. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื ืึธืš ื•ื•ืขื’ืŸ 100 ืงื‘. ืื•ืŸ ื“ืขืžืึธืœื˜ ืžื™ืจ ื”ืื‘ืŸ ื“ื™ ืคืืœื’ืขื ื“ืข. ื‘ื™ื– ื“ื™ ืจื•ืคืŸ ืื™ื– ื’ืขืžืื›ื˜, ื“ื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ืกื˜ืึธืจื“ ืื™ืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื–ื›ึผืจื•ืŸ. ื•ื•ื™ ื‘ืึทืœื“ ื•ื•ื™ ื“ื™ ืจื•ืคืŸ ืจื™ื ื’ืก, ืžื™ืจ ืžื™ื“ ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ืงื•ืคึผืข ืžื™ื˜ ืืŸ ืื ื“ืขืจ ืื™ื™ื ืขืจ ืื™ืŸ ื‘ืึทืจืึทืŸ. ืื–ื•ื™, ืึทืœืข ื“ื™ "ื”ื™ื™ืก" ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ืคืึทืกื˜ืขืจ ืื•ืŸ ืžืขืจ ืคึผืจื™ื“ื™ืงื˜ืึทื‘ืึทืœ ื–ื›ึผืจื•ืŸ.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืึทืœืข ื“ืขื ืฆื•ื–ืึทืžืขืŸ ืขืจืœื•ื™ื‘ื˜ ืื•ื ื“ื– ืฆื• ืงืึทื˜ืขืจ simple_pjsua ืื•ืŸ ืจื•ืคืŸ ื“ื•ืจืš ื“ื™ื™ืŸ ืกืขืจื•ื•ืขืจ. ืื•ืŸ ื“ืขืจื ืึธืš ื“ื•ืจืš ืื ื“ืขืจืข ืกืขืจื•ื•ืขืจืก ืึทื–ืึท ื•ื•ื™ sip.linphone.org.

ืคื™ื™ื ื“ื™ื ื’ื–

ืื™ืŸ ื“ื™ ืกื•ืฃ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืžืขื’ืœืขืš ืฆื• ืงืึทื˜ืขืจ simple_pjsua ืžื™ื˜ ืงื•ืœ ื˜ืจืึทื ืกืžื™ืกื™ืข ืื™ืŸ ื‘ื™ื™ื“ืข ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ื“ื•ืจืš ื“ื™ ืกืขืจื•ื•ืขืจ. ื“ื™ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ืึทืŸ ื ืึธืš 128 ืงื‘ ืคื•ืŸ SDRAM ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกืึทืœื•ื•ื“ ื“ื•ืจืš ื ื™ืฆืŸ ืึท ื‘ื™ืกืœ ืžืขืจ ืฉื˜ืึทืจืง Cortex-M7 (ืœืžืฉืœ, STM32F769NI ืžื™ื˜ 512 ืงื‘ ืคื•ืŸ ื‘ืึทืจืึทืŸ), ืึธื‘ืขืจ ืžื™ืจ ื”ืึธื‘ืŸ ื ื™ืฉื˜ ื ืึธืš ื’ืขื’ืขื‘ืŸ ื“ื™ ื”ืึธืคืขื ื•ื ื’ ืคื•ืŸ ืคึผืึทืกืŸ ืื™ืŸ 256 ืงื‘ :) ื–ื™ื™ื˜ ืฆื•ืคืจื™ื“ืŸ ืื•ื™ื‘ ืขืžืขืฆืขืจ ืื™ื– ืื™ื ื˜ืขืจืขืกื™ืจื˜, ืึธื“ืขืจ ื‘ืขืกืขืจ ื ืึธืš, ืคึผืจื•ื‘ื™ืจืŸ ืขืก. ืึทืœืข ืžืงื•ืจื™ื, ื•ื•ื™ ื’ืขื•ื•ื™ื™ื ื˜ืœืขืš, ื–ืขื ืขืŸ ืื™ืŸ ืื•ื ื“ื–ืขืจ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ื–.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’