遇顺境,处之淡然;遇逆境,处之泰然
分类: LINUX
2013-07-11 14:12:32
SIP入门(二):建立SIP服务器
原文地址:http://blog.csdn.net/ppy521/article/details/7944922
在我的上一篇文章中已经介绍如何通过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服务器的步骤:
1. 安装Yate2服务器(省略);
2. 打开Yate2安装目录的conf.d子目录;
3. 将regfile.conf.sample复制一份,改名为regfile.conf,打开作下列修改:
* 找到;auth=100、;register=100、;route=100三行,分别去掉前面的分号;
* 对需要建立的每一个用户,在文件末尾增加两行:
[用户名]
password=密码
例如:
[cheney]
password=521
[test]
password=521
这样,Yate2服务器就有了身份认证功能。
4. 开始-管理工具-服务,重新启动Yet Another Telephony Engine服务,如果没有错误提示,则服务启动成功。
验证服务器是否可用
1. 在电脑A启动Yate2客户端;
2. 选择Settings-〉Accounts-〉New,打开新建帐户对话框,填写各项目,如下图所示:
* Use provider,选择none
* Protocol=sip
* Username=用户名
* Password=密码
* Server=服务器的IP地址
点击OK后,Status应该会显示“online”,如下图所示。这表明注册成功,您已经正确建立了最简单的Yate2 SIP服务器。
下图为注册过程中的在电脑B中的通信抓包数据。
通过Yate2服务器打电话
1. 在电脑C启动Yate2客户端,新建帐户并登陆;
2. 在电脑A的Yate2客户端的拨号栏里面输入对方帐户名,点击“Call”即可拨打电话,如下图所示。
下图为通话过程中的在电脑B中的通信抓包数据。
到此,建立起SIP服务器并进行通话测试的工作结束。网友有兴趣的可以分析抓包数据,从而对SIP的通信流程有一个详细的了解。