上一篇文章介绍了如何用SIP软件手机直接通话,但在需要支持更多用户相互通话的同时,出于安全考虑,还需要对用户帐户的登录进行认证控制。 在这些情况下,需要构建SIP服务器。
SIP服务器角色:
呼叫控制和处理功能、业务提供/支持功能、用户管理功能、协议处理功能、路由处理、访问认证、计费信息收集、运营维护/网络管理功能、互操作功能、安全功能(可选)、黑白列表功能、拥塞控制功能
构建SIP服务器的条件:
作为服务器的计算机
*服务器通常需要固定的IP地址。
*无法在服务器上运行客户端。 也就是说,客户端、服务器不能同时启动。 不启动的话会发生冲突。
上一篇文章介绍了如何使用Yate2客户端,但这次我们仍然使用Yate2构建SIP服务器。 Yate2同时包括客户端和服务器端,因此不需要单独安装服务器端。
根据说明,这次测试需要三台电脑,具体如下。
电脑a、Yate2客户端、帐户名: test、IP:192.168.1.102
电脑b,Yate2服务器,IP:192.168.1.106
电脑c,Yate2客户端,帐户名: cheney,IP:192.168.1.103
此外,不建议在Windows7上安装Yate2服务器。 有很多问题,服务器将无法使用。 建议使用Windows XP。
要在Yate2上生成SIP服务器:
Yate2服务器安装(省略);
打开Yate2安装目录的conf.d子目录;
复制regfile.conf.sample,将其重命名为regfile.conf,然后打开以进行以下修改:
找到了; auth=100; register=100; route=100的3行,分别拔掉前面的分号;
*对于要创建的每个用户,在文件末尾添加两行。
用户名
密码=密码
例如:
[cheney]
password=521
[test]
password=521
这将使Yate2服务器具有验证功能。
4 .重新启动开始-管理工具-服务,Yet Another Telephony Engine服务,如果没有错误消息,服务将成功启动。验证服务器是否可用
1 .用电脑a启动Yate2客户端
2 .选择settings– > accounts– > new,打开“新建帐户”对话框并填写各项,如下图所示。
*选择* Use provider、none
*协议=sip
*用户名称=用户名
*密码=密码
*服务器=服务器的IP地址
点击OK后,状态应该会显示“online”,如下图所示。 这表明注册成功,并且最简单的Yate2 SIP服务已正确建立。
下图为登录中的电脑b上的通信数据包数据。
通过Yate2服务器打电话
1 .在电脑c上启动Yate2客户端,创建新账户并登录
2 .在电脑a的Yate2客户端的拨号栏中输入对方的帐户名,点击“Call”即可拨打电话。 如下图所示。
下图为通话中的电脑b上的通信数据包数据。
构建SIP服务并进行通话测试的工作到此结束。 网民感兴趣的是分析分组数据,以详细了解SIP的通信过程。