取消mod_sofia的呼叫鉴权

原文链接:https://www.cnblogs.com/yoyotl/p/5368882.html

FreeSWITCH中默认的SIP呼叫是要鉴权的,流程如下。

复制代码

 1 终端                     FreeSWITCH
 2 
 3  A  -----Invite------>   FS
 4 
 5  A  <----Trying------   FS
 6 
 7  A  <----407---------   FS
 8 
 9 (携带鉴权请求如下:Proxy-Authenticate: Digest realm="192.168.8.254", nonce="313404c0-fd69-11e5-a89c-0d24bfa030da", algorithm=MD5, qop="auth")
10 
11  A  -----Invite------>   FS
12 
13 (返回鉴权响应如下:Proxy-Authorization: Digest username="MCU",realm="192.168.8.254",
14 
15 nonce="313404c0-fd69-11e5-a89c-0d24bfa030da",uri="sip:809@192.168.8.254",response="da9bf49745c29c81a723736e6f64644c",algorithm=MD5,cnonce="7e0807436a7decb)

复制代码

如果我想取消407鉴权流程怎么办?

编辑sofia_profiles目录下的internal.xml文件,找到这一行把注释去掉即可。

<!-- <param name="accept-blind-reg" value="true"/> -->
### mod_sofia 编译加载时出现的错误解决方案 在编译和加载 `mod_sofia` 模块的过程中,可能会遇到多种类型的错误。以下是针对常见问题及其可能原因的具体分析与解决方法。 #### 1. **环境配置不完整** 如果开发环境中缺少必要的工具或依赖项,则可能导致编译失败。例如,在 Windows 平台上,需要确保 `gawk.exe` 已放置到指定路径下以便支持 Sofia-SIP 库的构建过程[^1]。此外,还需要确认已安装所有必需的软件包以及设置好 PATH 变量。 对于 Linux 用户来说,可以按照官方文档中的说明来准备基础运行环境: ```bash yum groupinstall 'Development Tools' yum install autoconf automake libtool gcc-c++ ncurses-devel openssl-devel curl-devel pcre-devel speexdsp-devel zlib-devel sqlite-devel bzip2-devel pkgconfig uuid-devel gnutls-devel json-c-devel lua-devel python3-devel perl-ExtUtils-MakeMaker ``` 上述命令适用于基于 RedHat/CentOS 的发行版;如果是 Debian 或 Ubuntu 系统则需调整相应的包管理器指令[^5]。 #### 2. **版本兼容性问题** 当使用的源码分支或者第三方组件(如 Sofia-SIP 协议栈)之间存在版本差异时也可能引发冲突。建议始终采用经过验证能够协同工作的组合形式。比如通过 Git 克隆特定提交记录下的仓库副本以锁定所需状态[^2]: ```bash git clone https://github.com/freeswitch/sofia-sip.git cd sofia-sip git reset --hard 6198851a610b7889c17e2d98fb84617bc1dd7aec ./bootstrap.sh -j ./configure make sudo make install ``` 此操作序列旨在重现开发者测试过的稳定条件从而减少不确定性因素的影响。 #### 3. **模块初始化异常** 即使成功完成了编译阶段,但在实际启动服务期间仍可能出现因参数设定不当而导致的功能障碍现象。此时应仔细查阅日志文件寻找线索并针对性修正相应选项值。通常情况下,默认配置已经过良好调优无需过多改动除非特殊需求迫使如此做。 另外值得注意的是某些非标准化头部字段会被自动归类至 `"sip->sip_unknown"` 集合之中[^4], 这一点或许会对应用程序逻辑造成干扰因此有必要提前了解清楚其行为模式加以规避处理。 --- ### 示例代码片段展示如何调试FreeSWITCH的日志输出: 为了更方便定位具体哪个环节出了差错, 我们可以通过修改fs_cli.conf 文件增加更多细节等级的信息暴露出来帮助诊断. ```ini [log] level=DEBUG console_level=INFO file=/var/log/freeswitch/fs.log rotate=true max_size_mb=10 num_files=5 timestamp_format="%Y-%m-%d %H:%M:%S" ``` 接着重启daemon进程让更改生效后再尝试重新激活目标插件观察变化情况即可.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值