You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PJSIP库的C++应用呼叫报错PJ_ETOOMANY(status=70010)求助

解决PJSIP发起多路呼叫时的PJ_ETOOMANY错误(70010)

错误原因

PJ_ETOOMANY(状态码70010)的核心原因是PJSIP默认配置中,允许同时存在的呼叫(call)对象最大数量被限制为4,当发起第5路及以上呼叫时就会触发这个限制报错。

解决步骤

1. 修改呼叫实例最大数量限制

在初始化PJSIP端点(endpoint)前,调整pjsip_endpoint_cfg结构体中的max_calls参数,设置为你需要的最大呼叫数:

pjsip_endpoint_cfg ep_cfg;
pjsip_endpoint_cfg_default(&ep_cfg);

// 按需设置最大呼叫数,例如调整为10
ep_cfg.max_calls = 10;

// 使用修改后的配置初始化端点
pjsip_endpoint_create(&ep_cfg, &g_endpoint);

2. 检查并调整内存池配置

每个呼叫实例需要占用内存池资源,若内存池容量不足,也可能间接触发类似限制。初始化全局内存池时可调整其容量:

pj_caching_pool cp;
pj_pool_factory_init(&cp.factory, NULL);

// 增大内存池最大容量,例如设置为1MB
cp.factory.max_capacity = 1024 * 1024;

3. 验证媒体会话限制(可选)

如果调整呼叫数后仍报错,需检查媒体会话的最大限制参数max_media_sessions,每个呼叫通常对应一个媒体会话,可同步调整:

ep_cfg.max_media_sessions = ep_cfg.max_calls; // 保持和最大呼叫数一致

注意事项

  • 参数设置需结合系统实际资源(内存、CPU),避免过度配置导致资源耗尽;
  • 不同PJSIP版本的参数名称或配置位置可能略有差异,请以你使用版本的代码文档为准。

内容的提问来源于stack exchange,提问作者Kotappa Gandudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:47:35