在我的上一篇文章中已经介绍怎样通过SIP软电话直接通话,可是假设须要支持很多其它用户互相通话,同一时候基于安全考虑,须要对用户帐户登录进行验证控制,这些情况下就须要建立SIPserver。
SIPserver的作用:
呼叫控制和处理功能、业务提供/支持功能、用户管理功能、协议处理功能、路由处理、接入认证、计费信息採集、操作维护/网管功能、互通功能、安全功能(可选)、黑白名单功能、拥塞控制功能(可选)。
建立SIPserver的条件:
* 一台计算机,作为server;
* server通常须要拥有固定的IP地址;
* server上不能再执行client(也就是说,client、server不能同一时候启动,否则会冲突)。
上一篇文章中已经介绍了怎样使用Yate2client,本次仍然使用Yate2搭建SIPserver。因为Yate2同一时候包括client及server端,所以不须要再单独安装server端。
说明,本次測试须要用到三台电脑,详细例如以下:
电脑A,Yate2client,账户名:test,IP:192.168.1.102
电脑B,Yate2server,IP:192.168.1.106
电脑C,Yate2client,账户名:cheney,IP:192.168.1.103
另外,不建议在Windows7上安装Yate2server,会有非常多问题,导致server无法使用,建议使用Windows XP。
用Yate2搭建SIPserver的步骤:
1. 安装Yate2server(省略);
2. 打开Yate2安装文件夹的conf.d子文件夹;
3. 将regfile.conf.sample复制一份,改名为regfile.conf,打开作下列改动:
* 找到;auth=100、;register=100、;route=100三行,分别去掉前面的分号;
* 对须要建立的每个用户,在文件末尾添加两行:
[username]
password=密码
比如:
[cheney]
password=521
[test]
password=521
这样,Yate2server就有了身份认证功能。
4. 開始-管理工具-服务,又一次启动Yet Another Telephony Engine服务,假设没有错误提示,则服务启动成功。
验证server是否可用
1. 在电脑A启动Yate2client;
2. 选择Settings-〉Accounts-〉New,打开新建帐户对话框,填写各项目,例如以下图所看到的:
* Use provider,选择none
* Protocol=sip
* Username=username
* Password=password
* Server=server的IP地址
点击OK后,Status应该会显示“online”,例如以下图所看到的。这表明注冊成功,您已经正确建立了最简单的Yate2 SIPserver。
下图为注冊过程中的在电脑B中的通信抓包数据。
通过Yate2server打电话
1. 在电脑C启动Yate2client,新建帐户并登陆;
2. 在电脑A的Yate2client的拨号栏里面输入对方帐户名,点击“Call”就可以拨打电话,例如以下图所看到的。
到此,建立起SIPserver并进行通话測试的工作结束。网友有兴趣的能够分析抓包数据,从而对SIP的通信流程有一个具体的了解。