- English Version
- 例程难度:
ESP RTC 是一个基于标准 SIP 协议的视频通话客户端,可以用于音视频通话等场景。
本例程支持的开发板在 $ADF_PATH/examples/README_CN.md
文档中例程与乐鑫音频开发板的兼容性表格中有标注,表格中标有绿色复选框的开发板均可运行本例程。请记住,如下面的 配置 一节所述,可以在 menuconfig
中选择开发板。
本例程需要使用两块开发板来运行音视频对讲功能,同时建议您使用 ESP32-S3-Korvo-2L
开发板来运行本例程,以支持 UVC 和 UAC。
-
您可以使用 Example 乐鑫自建的服务器来测试,具体测试账号可以联系乐鑫来获取。
-
或者您也可以搭建如下的任意 SIP PBX 服务器:
-
-
建议关闭服务器事件通知
NOTIFY
,可以通过在conf/sip_profiles/internal.xml
中设置<param name="send-message-query-on-register" value="false"/>
关闭通知。 -
建议关闭服务器 timer,可以通过在
conf/sip_profiles/internal.xml
中设置<param name="enable-timer" value="false"/>
来关闭。 -
建议在
conf/vars.xml
中打开 PCMA、PCMU、VP8。
-
-
我们建议搭建 Freeswitch 服务器来测试。
本例程支持 IDF release/v4.4 及以后的分支,例程默认使用 ADF 的內建分支 $ADF_PATH/esp-idf
。
本例程还需给 IDF 合入 1 个 patch,合入命令如下:
cd $IDF_PATH
git apply $ADF_PATH/idf_patches/idf_v4.4_freertos.patch
打开配置选项 make menuconfig
或 idf.py menuconfig
- 在
menuconfig
>Audio HAL
中选择合适的开发板。 - 在
ESP-RTC App Configuration
>WiFi SSID
和WiFi Password
。 - 在
ESP-RTC App Configuration
>SIP Codec
中选择想要的编解码器。 - 在
ESP-RTC App Configuration
>SIP_URI
中配置 SIP 登陆相关信息 (Transport://user:password@server:port)。- 例如:
tcp://100:[email protected]:5060
- 例如:
请先编译版本并烧录到开发板上,然后运行 monitor 工具来查看串口输出(替换 PORT 为端口名称):
idf.py -p PORT flash monitor
退出调试界面使用 Ctrl-]
有关配置和使用 ESP-IDF 生成项目的完整步骤,请参阅 《ESP-IDF 编程指南》。
- 此应用额外需要下载一个提示音的 bin 到 flash 中:
python $ADF_PATH/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x210000 ../components/audio_flash_tone/bin/audio-esp.bin
- 例程开始运行后,在网络连接成功并且服务器也连接成功后会播放服务器已连接提示音。
- 按下
PLAY
键对您默认设置的对端号码进行拨号。 - 当来电铃声响起的时候,您可以按下
REC
键来进行接听。 - 通话时,您可以按下
MUTE
键来进行挂断或者取消拨号。 - 当您使用 Freeswitch 或者其它支持会议的服务器时,您可以按下
SET
键来进入默认会议房间进行测试。 Vol+
和Vol-
键可以调节开发板的通话音量。
请按照下面的链接获取技术支持:
- 技术支持参见 esp32.com 论坛
- 故障和新功能需求,请创建 GitHub issue
我们会尽快回复。