如何修改PJSUA设置以去除CALL ID首部的空格?
时间: 2024-10-09 21:06:20 浏览: 42
在PJSUA中,具体的设置取决于你是通过API直接操作还是使用配置文件来进行配置。如果你想通过代码动态修改,可以参考以下步骤:
1. **通过API设置**:
- 首先,你需要获取到`pjmedia`模块下的`Call`实例。
- 然后找到该实例的`setMediaConfig()`函数,传递一个`pjmedia_media_config`结构体,其中你可以更改`rtp.csrc_id_policy`字段来控制CALL ID生成策略。如果想去掉空格,可以将其设为`PJMEDIA_CSRC_ID_POLICY_NONE`,表示不自动插入CSRC ID。
```c
pjmedia_call *call = pjmedia_create_call(sip_ctx);
pjmedia_media_config cfg;
cfg.rtp.csrc_id_policy = PJMEDIA_CSRC_ID_POLICY_NONE; // 去除默认的CSRC ID
pjmedia_set_default_media_config(&cfg);
pjmedia_config_call(call, &cfg);
```
2. **通过配置文件**:
如果你在使用PJSUA配置文件(如`.conf`或`.ini`),可以在`[media]`或`[audio]`部分找到类似`csid_policy`的选项,设置为`none`或`no`来避免自动添加空格。
例如,在`config-media.conf`中:
```
[media]
csid_policy=no
```
确保调整后的设置能在启动PJSUA时生效。务必查看PJSUA的官方文档或更新日志,因为API细节和配置项可能会随版本变化。
阅读全文