Integrating PJSIP with STM32H750B-DK + FreeRTOS + LwIP
Hello STM32 Community,
I am currently working on a VoIP project using the STM32H750B-DK and I am trying to integrate PJSIP/PJPROJECT into my STM32 application.
My current setup is:
-
MCU/Board: STM32H750B-DK
-
Core: ARM Cortex-M7
-
RTOS: FreeRTOS
-
Network stack: LwIP
-
Ethernet PHY: LAN8742
-
IDE: STM32CubeIDE
-
Compiler: ARM GCC
-
VoIP: PJSIP / PJPROJECT
-
Audio: WM8994 codec
-
RTP: Already implemented and tested separately
-
G.711: PCMU implementation is also being integrated
Ethernet, LwIP, UDP and RTP communication are already working on my board. I can successfully exchange RTP packets and have been testing the network communication using Wireshark.
My current goal is to integrate SIP + RTP using PJSIP, so that the STM32 can eventually register with a SIP server and establish VoIP calls.
However, I am facing many compilation, configuration and integration errors while trying to port PJSIP to the STM32H750B-DK. I have tried configuring config_site.h, PJLIB, PJLIB-UTIL, PJSIP and the FreeRTOS-related settings, but I am still getting different build/configuration errors.
I have also tried adapting PJSIP configuration for:
-
FreeRTOS
-
ARM Cortex-M7
-
LwIP
-
No Linux/POSIX environment
-
Static memory allocation
-
Embedded environment
At this point, I would really appreciate guidance from anyone who has successfully integrated PJSIP/PJPROJECT on an STM32 MCU, especially STM32H7.
My questions
-
Is PJSIP/PJPROJECT practical on STM32H750 + FreeRTOS + LwIP without Linux?
-
Should I use the PJSIP socket abstraction or adapt it directly to the LwIP socket API?
-
Has anyone successfully implemented SIP registration + SIP call setup + RTP audio using PJSIP on an STM32H7?
I have already spent quite a lot of time trying different configurations, but I am running into a chain of compilation and porting issues.
If someone has a working STM32 + FreeRTOS + LwIP + PJSIP example/project, or can point me toward the correct integration approach, it would be extremely helpful.
Thank you in advance for any guidance.
