当前位置:首页 > --Asterisk - AGI程序编写指南 - 图文
45 46 49 Acct-Authentic Acct-Session-Time Acct-Terminate-Case 在计费包中标识用户认证通过的方式 通话时长(用户在线时长) 用户下线原因 5.2 选择一个合适的Radius Client API
上个小节介绍的RADIUS数据包格式,是构建应用协议层数据包的封装所关注的,在Asterisk中如果需要亲自把标准RADIUS数据包的发送、接收等过程从零开始写起,那本文就把重点放在了RADIUS UDP数据包与服务器通信过程的编写中了,实际本文关注的是在Asterisk中根据VoIP通信中的业务需求,构建RADIUS认证计费模块,重点是业务应用层的开发,即如何组织认证包、计费包的数据结构等,而RADIUS数据包传输层直接调用现成的开源API,目前主要有两种这样的开源项目。
(1)pam_radius
一个PAM模块提供了RADIUS客户端的功能。它是从开源项目Freeradius中提取出来的,如果要使用需要对代码做大量的修改、打补丁后才能使用。
(2)radiusclient-ng
相对比PAM的pam_radius模块而言,radiusclient-ng的动态库代码不用修改就可以拿过来使用,只需安装radiusclient-ng的动态库,然后根据配置文件、开放的API接口修改Asterisk代码就可以完成Asterisk AAA模块的构建。
所以在本文使用radiusclient-ng开源软件包。
共分享92篇相关文档