freeswitch使用说明

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: freeswitch使用说明

freeswitch不能通话



一定是在局域网,自己手机开的热点哟有点问题,最好不用,使用路由器的。


一般是192.168.1.XXX



25a089d1dd2e41d39ec88d09ff8b92b5_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


freeswitch使用说明



密码就是123456

C:\Program Files\FreeSWITCH\conf\vars.xml


9a4095d6f4fd46df87c0c097403edcc7_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


如果在本机运行修改为本地ip 默认是一个网络外网地址 如果可以通过外网ip访问的可以不改 服务器上不用修改次参数


716322822a3147c3b2362e49d2da8006_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


修改C:\Program Files\FreeSWITCH\conf\autoload_configs\modules.conf.xml


0de6bd3f6c0b4b0b8c98a7a6cb704e12_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png



95a0e5fa9ede4fd1a2b8b3e92cfd23ca_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


cd   C:\Program Files\FreeSWITCH

FreeSwitchConsole -nonat

查询:sofia status 为本地ip 正常


7e78ad95ca73495fb85d3b9d3a671614_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

04976198465b4eeea3ea4e72783480bb_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png

freeswitch 本地ip配置不能通话



关闭防火墙


2e80d62e69344859ae0a0635208fb101_tplv-k3u1fbpfcp-zoom-in-crop-mark_4536_0_0_0.png


freeswitch 是什么



FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。


SIP、RTP、RTSP协议



在流媒体中常见的三种协议是SIP、RTP、RTSP协议。他们分别的网络中不同的层,为实时流媒体传播提供可能。下面这张图展示了他们所在的网络层次


SIP


SIP在应用层,是和HTTP相似的文本传输协议


那么像SIP和HTTP协议到底是什么?


功能:客户端和服务器之间的应答标准,客户端是终端用户,服务器是网站


用户代理:通过应用软件,客户端向服务器的指定端口(默认为80)发起一个HTTP请求


源服务器:应答服务器中存储着一些资源(比如HTML文档),我们称这个应答服务器为源服务器


SIP协议


用来支持视频通信


SIP(session initiation proto):会话初始协议


session:回话,指用户之间的数据交换,数据可以是文本、音视频也可以是游戏,内容多种多样


采用基于文本的编码方式(和HTTP、smtp相似)


组成


用户代理

用户代理客户机(客户端UAC)和用户代理服务器(服务器UAS)

UAC用来发起请求

UAS用来相应请求

sip代理服务器(sip proxy server)

中间服务器


过程

UAC发送一个请求

SIP代理服务器接受请求

由SIP决定下一跳服务器的地址,代理UAC向下一跳服务器发出请求

重定向服务器(Redirect server)

规划呼叫路径的服务器

在得到下一跳服务器的地址后向上一个服务器通知下一跳服务器的地址,自己退出这个对这个呼叫的控制

sip注册服务器(SIP register server)

对UAS的注册,系统中所有的UAS都需要注册到这个服务器中,以便UAC能够通过服务器找到UAS

SIP呼叫建立过程


RTP

RTP在传输层,由TCP/UDP发送号,由RTP传输音频或者视频数据

RTP是基于UDP的传输协议

什么是RTP:

RTP:real time transport protocol

RTP协议作用:为IP网络上的音视频提供端到端的实时传输协议。

配套的相关协议:RTCP(real-time transport control protocol)

RTP为实时传输提供时间信息和同步信息,不保证服务质量

RTCP为实时传输提供质量保证

数据在发送时,先将数据封装成RTP数据,在接收端,将数据从RTP中提取出来。


RTP格式解析

V= 2,版本号,两位,用来标识RTP版本

P,填充位,一位,若该位置位,则RTP的最后有填充字节

X,扩展位,一位,若该位置位,则RTP固定头部后面跟一个扩展头部

CC,CSRC计数器,四位,表示RTP固定头部后面的CSRC的数量

M,标记位,一位,由配置文档解释其作用

PT,载荷类型,七位,表示载荷的类型

SN,序列号,十六位,用来恢复包的序列以及检测丢包。序列号的初始值随机,每次发包序列号进行加一操作。


TimeStamp,时间戳,32位,用来获得数据包的时序,记录了该包数据的第一个字节的采样时间。时间戳是随着时间不断增加的,和有没有发送数据无关。记录的是相对时间

SSRC,同步信息源,32位,用来同步音视频,在同一个RTP传输中不能出现两个相同的SSRC。

CSRC,贡献源列表,0-15项,每项32位,用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源


RTCP

功能:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识

在一个RTP传送期间,各参与者周期性发送RTCP信息。

内容:已发送的数据包的数量、丢失的数据包的数量


作用:各参与者根据反馈信息实时调整传输速率、载荷类型

RTP和RTCP协同作用以有效的反馈和最少的开销获得最大的传输效率。

RTP和RTCP都是基于UDP传输的

RTCP只携带控制信息,比较短小(短小君)


过程解析

流媒体:通过流式传输实现。

流式传输:边下载边观看。internet上的传输是分组传输的,且是基于不稳定的UDP协议。接收端的数据往往有延迟和乱序,因此流式传播需要解决延迟和乱序的问题。

延迟:在发送发对视频进行预处理,降低视频质量、对视频进行压缩处理


乱序:在接收方设置接收缓冲和播放缓冲

接收缓冲:将接受到的数据包缓存起来,然后根据时间戳和序列号对数据进行重排

播放缓冲:由于网络带宽不稳定,如果将重排好的数据直接播放,抖动现象可能会比较严重,为了解决这个问题,需要设置一个播放缓冲,将所有的数据放入到播放缓冲区内,按稳定的速度播放。


RTP的传输过程

当应用程序建立一个RTP会话时,需要确定一对目的传输地址

每个传输地址中存储一个网络地址以及一对端口地址,网络地址为IP号,端口地址有RTP端口和RTCP端口

RTP端口和RTCP端口分别使用偶数端口和奇数端口


发送过程

封装:RTP从上层接受流媒体信息码流(H264),封装成RTP信息流,RTCP从上层接受控制信息,封装成RTCP信息流

传输:将RTP数据包发往UDP中的偶数端口,将RTCP数据发往UDP中的奇数端口


接受过程

接受:从UDP中的偶数端口接受RTP数据包,从奇数端口接受RTCP数据包

解封装:将RTCP数据解封装为控制信息,将RTP数据解封装为码流,得到视频和音频文件


RTSP

RTSP和SIP都在应用层

RTSP(real-time transport streaming protocol)以C/S模式工作,实现用户在播放时的暂停、继续、后退、前进等操作。

stun



STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。该协议由RFC 5389定义。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
存储 Cloud Native Linux
音视频 FFmpeg如何查询命令帮助文档
音视频 FFmpeg如何查询命令帮助文档
|
Web App开发 存储 编解码
Freeswitch关于支持jsip的配置
1、freeswitch安装过程(安装过程省略,运行环境为centos7,freeswitch1.6.5)
|
JSON Ubuntu Linux
FreeSWITCH安装
FreeSWITCH
2078 0
FreeSWITCH安装
|
开发工具 C++
FREESWITCH 怎样添加自定义模块
FREESWITCH 怎样添加自定义模块
|
XML 数据格式
FreePBX对接FreeSWITCH/sangoma网关操作教程
FreePBX对接FreeSWITCH/sangoma网关操作教程
|
编解码 网络协议 安全
freeswitch是什么
FreeSwitch是一个开源的电话软交换平台,是一个跨平台的/伸缩性极好的/免费的/多协议的电话软交换平台。同时FreeSWITCH是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动。FreeSWITCH 可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。
freeswitch是什么
|
安全 关系型数据库 MySQL
FreeSwitch的安装
本次安装环境是centos 7, 源码目录是
1531 1
|
Linux Perl
FreeSwitch 一些模块的安装
这里列出来 安装libyuv libvpx opus mod_av 等模块的代码方便大家使用
|
网络协议 Unix
Freeswitch 控制台与命令客户端
Freeswitch 控制台与命令客户端
|
API 语音技术
freeswitch的模块中mod_vad的使用说明
介绍 mod_vad是一个freeswitch的模块,实现VAD录音和放音支持打断,vad和asr集成,tts放音支持等。