下面就介绍如何搭建SIP软电话环境。
本人使用Yate软件,下载地址为:http://yate.null.ro/pmwiki/index.php?n=Main.Download。
软件版本:yate-4.2.0-2-setup.exe
运行环境:Windows7 / Windows XP
硬件要求:两台电脑,或者一台安装虚拟机的电脑。
推荐使用虚拟机的方式,因为不是每个人都有两台电脑,而且后续的例子还需要用到三台电脑。
下载得到的软件包同时包含客户端和服务器端程序,安装时建议选择完全安装所有组件。
Yate客户端支持两种方式的SIP通话:
- 通过账号方式(需要通过服务器)
- 直接通话方式(不需要通过服务器)
第二种方式实现起来比较简单,不需要复杂的配置即可实现两个用户之间相互通话,所以本次先介绍这种方式。
在两台电脑上分别装好Yate后,启动Yate Client客户端,如下图所示。
用户在软件的红色框中输入被叫用户的URI地址即可,具体的格式为:
sip/sip:username@ip_address:port
sip/sip:第一个”sip”表明使用SIP协议,”/” 为分隔符,第2个”sip:” 是uri语法的一部分;
username:用户名,在这里可以随便输入;
@:分隔符,uri语法的一部分
ip_address:被叫用户的IP地址;
port:IP端口号,SIP协议默认使用端口5060。
若被叫用户的IP为:192.168.1.103,则输入:sip/sip:506@192.168.1.103:5060。之后点击Call按钮,即可产生呼叫,如下图所示,左边为主叫用户,右边为被叫用户。
被叫用户点击接电话按钮后,即可开始语音通话。
用户可以使用Wireshark软件抓包整个通话过程,然后仔细分析SIP的语法格式,了解SIP的会话流程。此外,Wireshark软件还可以通过图像的方式分析SIP会话,非常方便。
下图为Wireshark软件抓包数据截图,下次我们再来具体分析SIP会话流程。
特殊说明:
1、不能在运行Yate服务器的PC上打开Yate客户端软件,否则无法正常运行。
2、按照参考文章1设置Yate服务器的电话路由后,会导致无法直接通话。
参考文章
1、 rosekin:用yate2实现软VoIP语音通话(SIP协议) http://blog.csdn.net/rosekin/article/details/6561225
2、 http://yateclient.yate.ro/index.php/UserGuide/CallingwithSIP#accountapproach