SIP入门(一):建立SIP软电话环境 - ssllkkyy

时间:2024-03-08 21:43:50

SIP入门(一):建立SIP软电话环境

   SIP协议学习入门的最快最好的办法就是在PC机上搭建SIP软电话环境,通过抓包软件(如:Wireshark)对数据进行分析学习,这样可以迅速了解熟悉SIP协议,并深入了解通讯会话的流程,从而达到快速入门的目的。

        下面就介绍如何搭建SIP软电话环境。

        本人使用Yate软件,下载地址为:http://yate.null.ro/pmwiki/index.php?n=Main.Download

        软件版本:yate-4.2.0-2-setup.exe

        运行环境:Windows7 / Windows XP

       硬件要求:两台电脑,或者一台安装虚拟机的电脑。

      推荐使用虚拟机的方式,因为不是每个人都有两台电脑,而且后续的例子还需要用到三台电脑。

      下载得到的软件包同时包含客户端和服务器端程序,安装时建议选择完全安装所有组件。

      Yate客户端支持两种方式的SIP通话:

    1. 通过账号方式(需要通过服务器)
    2. 直接通话方式(不需要通过服务器)

第二种方式实现起来比较简单,不需要复杂的配置即可实现两个用户之间相互通话,所以本次先介绍这种方式。

在两台电脑上分别装好Yate后,启动Yate Client客户端,如下图所示。

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按钮,即可产生呼叫,如下图所示,左边为主叫用户,右边为被叫用户。

Yate通话

被叫用户点击接电话按钮后,即可开始语音通话。

用户可以使用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