freeswitch系列三 SIP软电话xlite、linphonec接入kamailio+freeswitch

3,191 阅读3分钟
原文链接: blog.csdn.net

1. 概述

在本系列的文章一、二中,我们介绍kamailo,freeswitch SIP服务端的搭建,本节我们介绍SIP客户端和服务端进行通话。
本节我们介绍2个SIP客户端:xlite和linphonec.
如果你在windows下开发,推荐使用xlite。xlite是图形化界面,简单易用。
如果你的SIP服务已经部署到生产环境(通常使用linux操作系统),这时我们通常只能使用命令行模式,那么xlite就无法使用。此时我推荐使用linphonec。

2. SIP软电话接入

2.1. 服务器信息

因为kamailo和freeswitch本质都是SIP服务,所以xlite和linphonec接入两者配置是相同的,这里只介绍如何接入kamailio。
这里使用上节搭建的服务作为测试服务freeswitch系列二 kamailio 5.0安装及实现kamailio集成freeswitch

kamalio信息

IP: 10.240.80.153
PORT: 5060

两个测试帐号: 1081和1082,密码都是1234

2.2. xlite

使用xlite和SIP服务器通信
从xlite官网下载,安装,并启动。进行如下配置
菜单 –> softphone –> Account Settings
这里写图片描述
然后你在另外机器上搭建xlite,配置另一个帐号并注册到相同有服务器。
最后就可以实现两者的通信

3. linphonec

使用命令行linphonec模拟1081和1082通话

3.1. 安装linphonec

sudo apt-get install linphone

3.2. 修改配置: vim ~/.linphonerc

  • 如果你的服务器上没有这个文件,则执行linphonec命令,此命令会自动生成该文件
[sip]
# 修改linphonec的启动端口
sip_port=5560
media_encryption=none
guess_hostname=1
# 配置帐号信息
contact=sip:1081@10.240.80.153
inc_timeout=30
in_call_timeout=0
delayed_timeout=4
use_ipv6=0
register_only_when_network_is_up=1
register_only_when_upnp_is_ok=1


[proxy_0]
# 配置注册服务,这里配置kamailio服务
reg_proxy=sip:10.240.80.153:5060
# 配置帐号信息
reg_identity=sip:1081@10.240.80.153:5060
reg_expires=900
reg_sendregister=1
publish=0

根据以上的配置信息在另一台服务上配置另一个帐号1082

执行命令

linphonec 
或
# 可以不使用默认配置文件,也可以在启动时,指定配置文件
linphonec -c myconfig

3.3. 模拟通话

下面使用linphonec模拟1081和1082通话

向kamailio注册1081和1082

## 1081注册
$> linphonec
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> Registration on <sip:10.240.80.153:5060> successful.

## 1082注册
$> linphonec 
Ready
Warning: video is disabled in linphonec, use -V or -C or -D to enable.
linphonec> Registration on <sip:10.240.80.153> successful.

1081使用call命令呼叫1082, 1082使用answer进行应答

## 1081信令信息
# 呼叫1082
linphonec> call sip:1082@10.240.80.153
Establishing call id to <sip:1082@10.240.80.153>, assigned id 1
Contacting <sip:1082@10.240.80.153>
linphonec> Call 1 to <sip:1082@10.240.80.153> in progress.
linphonec> Remote ringing.
linphonec> Early media.
# 当1082使用answer应答后,会出现如下信息,就可以进行通话
linphonec> Call 1 with <sip:1082@10.240.80.153> early media.
Call 1 with <sip:1082@10.240.80.153> connected.
Call answered by <sip:1082@10.240.80.153>.
linphonec> Media streams established with <sip:1082@10.240.80.153> for call 1 (audio).

## 1082信令信息
# 当被呼叫时出现如下信息
linphonec> Receiving new incoming call from "1081" <sip:1081@10.240.80.153>, assigned id 1
# 执行answer,进行应答,如果成功,则输出如下信息
answer
Connected.
linphonec> Call 1 with "1081" <sip:1081@10.240.80.153> connected.
Media streams established with "1081" <sip:1081@10.240.80.153> for call 1 (audio).

如果要结束通话,在1081和1082端任何一端执行terminate,都可以结束命令。 使用quit命令可以退出linphonec的命令模式