如果要基于sip协议进行voip呼叫,必须首先构建sip服务器。 本文以ubuntu 14.04平台为例介绍构建sip服务器的过程:
1 .首先安装以下软件
apt-getinstallperllibdbi-perllibdbd-MySQL-perllibdbd-pg-perllibfrontier-RPC-perllibterm-readline-GNU-perperl
2 .打开网址http://open sips.org/pub/open sips /下载最新稳定版本。 我选择的是2.2.0。 下载结束后,需要解压缩。
tarzxfopensips-2.2.0 _ src.tar.gz
3 .如果需要修改其他信息(如程序安装路径),请导航到解压缩文件夹的根目录,然后运行make menuconfig,将显示菜单配置屏幕。
安装路径已更改为/home/xqzhan/opensis/。
运行make make安装。
5 .修改安装目录中的etc/opensips/opensips.cfg文件:
我对应修改的是/home/xq Zhan/opens is/etc/open sips/open sips.CFG
listen=UDP :127.0.0.1:5060 # customize me
修改: listen=UDP :10.0.149.24033605060 #此处的ip是必须用作sip服务器的ip,即当前本机ip。
6 .转到安装目录下的sbin/。 我的目录是/home/xqzhan/opensip/sbin,运行
sudo ./opensipsctl start
如果稍后更改了服务器配置,则必须重新启动opensipsctl进程,然后才能运行
sudo ./opensipsctl restart
不需要向服务中添加新用户,可以直接在客户端注册用户。 使用sudo opensipsctl ul show可以检查注册用户的状态。
例如,我在客户端注册用户。 在服务中,您可以看到注册用户信息为以下:
xq Zhan @ xq Zhan-Lenovo-product :~~/opens IP/sbin $ sudo./opensipsctlulshow
[sudo] password for xqzhan:
域:3360位置表=512记录=2
AOR: 111ttt
contact :3360 sip :111 TTT @ 10.0.251.6336036977; 传输=UDP q=
Expires: 2337
callid :3360413 c 194228499 f 172 CB 44414 a 439482 d @ 10.0.251.6
Cseq: 8575
用户代理:3360 sip aua/0.1.001
State: CS_NEW
Flags: 0
Cflag: 0
socket :3360 UDP :10.0.149.24033605060
Methods: 4294967295
根据上述信息,对应的注册用户名为111ttt,注册用户的客户机ip为10.0.251.6,使用端口号为36977,使用udp协议传输数据。
另外,在ubuntu软件中心,搜索sip可以找到twinkle软件。 这是一个图形接口程序,可以进行sip拨号测试。