什么是SIP协议,和Freeswitch什么关系
先来说明一下,什么是我理解的协议,所谓协议是一种解决双方理解不一致的方法。河南话,四川话,广东话,各自有各自的发音,互相之间理解会有障碍,那么普通话就是一种协议,解决了方言之间的理解难度。
SIP协议是什么?session initiation protocol ,会话初始化协议,sip协议不仅仅是用在了freeswitch,任何有会话管理的服务,均可以借鉴和使用SIP协议。
我们用非正式语言介绍一下sip协议的理解:
生活中,我们想要找一个人互相聊天,首先你到找到这个人、你的声音得传递到对方,对方能听到你的声音, 同时还得要去理解您的话语(同一个方言、同一个语种),帮你定位到对象的是sip,你们两个协商使用英语 沟通、还是汉语,使用电话设备、还是电脑web的是sdp, 最终说话的传递及传输介质是rtc。 sip协议做的是,能够让你定位到你想聊天的对象, 帮你检测你聊天对象是否可达, 帮你管理你们通话的会话 状态,帮你结束你们的聊天进程等。
举个例子:
你想谈一场跨国恋爱,你在中国,你的心仪对象在日本(OVER,阵亡)。
假设你知道你心仪对象的住址门牌号(有戏),然后你发现你找不到,也过不去(OVER,阵亡)
假设你知道你心仪对象的住址门牌号,然后你也借助了国际力量,分机飞往了日本,然后你发现,对象人家家里设置了门禁系统,(OVER,阵亡)
假设你知道你心仪对象的住址门牌号,然后你也借助了国际力量,分机飞往了日本,然后你发现,然后你有了安全密码,门打开了,你发现你不会日语(OVER,阵亡)
那么如何才能顺利的,和心仪的对象进行沟通交流,你需要知道对方的地址(通信唯一值),你需要获得对方是否在线状态,你需要有对方接受你信号的权限,你还需要拥有和对方理解一致的语言。
SIP协议中,每一个通信对象,首先得拥有一个类似邮件地址的协议ip,如果你心仪的对象就在你了解的范围内,你们两个可以直接通过sip直连,如果你的对象是不在你的接触范围内,你需要邮政公司、外交部机构等类似场景,告知你如何找到她。找到之后,你们得约定同一种沟通语言,然后你们才可以愉快的沟通交流。
我们借助sngrep,来抓包sip协议,来解释,上述流程sip协议概念
其中左边的 183.**.47:32979 就是一端的sip地址,另一端是172.**91:9060,sip协议地址规范写法如下:sip:你的号码@ip:port ,如, sip:15195751904@192.168.188.232:9060
sip类似http协议为文本协议,通用一个空行,来区分session管理和rtp。
一个完整版本的sip协议流程如下:
INVITE:表示邀请
From表示sip来源地址信息,因为我们使用freeswitch gateway方式外呼,同时配置网关为register false,默认为Freeswitch@ip:port
To 表示请求的地址方。
Contact 对方可以根据此进行回访。
1XX表示临时状态,一般可以用于振铃。 180,183用于SDP协商。
200表示成功响应,ACK进行确认,BYE表示挂断方,200表示成功响应
SIP类似于HTTP,也有状态码
.1XX 表示临时响应,比如180,183等,
. 2xx 表示成功响应
. 3XX 表示重定向
. 4XX表示客户端错误
. 5XX 表示服务器错误
. 6XX表示全局错误
什么是SIP协议,和Freeswitch什么关系相关推荐
- freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程
1. 概述 本文通过tcpdump对真实环境里的软电话的注册.呼叫.挂断流程进行抓包,通过真实的例子学习SIP协议.本文主要包括以下方面: A. 详解软电话的注册时的SIP包和流程图 B. 详解软电话 ...
- 基于SIP协议的视频通讯
1.sip协议及其发展 sip(session initiation protocal)称为会话发起协议,是由ietf(internet engineering task force)组织于1999年 ...
- SIP协议详解(中文)-6
由于MIME包体是在"inner"消息中的,实现中通常会加密MIME指定的头域,包括:MIME-Version,Content-Type,Content-Length, Conte ...
- SIP协议简介(一)之SIP基本的概述
本篇文章主要是对RFC3261翻译进行的,也包含着自己的一些理解.希望能给需要的人带来一些帮助 补充说明:RFC即Request For Comments(RFC),是一系列以编号排定的文件.文件收集 ...
- sip协议呼叫流程详解
1.SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和 ...
- SIP 协议的系统构架
SIP协议是一种分层的协议,换句话说,SIP的应用实现,可以划分为一组不同的,相互独立的处理阶段,每个阶段间只有一些松散的耦合关系.如上图所示,从架构上划分,我们一般可以抽象出四个层:语法/编码层.T ...
- 国标28181:什么是SIP协议
前言 对讲设备作为一种专业无线通信工具,能进行一对一,多对多的群组即时通信,在应急调度和突发事故处理中是其他通信工具所不能替代的,在城市治理.公安.运输等行业有广泛的应用. 对讲机按照通信方式分模拟对 ...
- SIP协议详解(中文)-1
原文 1.SIP协议介绍 Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换.由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间 ...
- VoIP通话之SIP协议
一.前言 作为一名VoIP产品职业开发者,SIP可以说是我工作中接触最多的一种协议,是时候好好总结一下了. 二.概要 SIP(Session Initiation Protocol)属于应用层的控制协 ...
- SIP协议详解(中文)-3
7.3.2 头域分类. 有一些头域是仅仅在请求(或者应答)中有效的.这些头域叫做请求头域或者应答头域.如果消息中的头域与这个消息的类型不匹配(比如在应答消息中出现的请求头域),这个头域必须被忽略.20 ...
最新文章
- mysql生产环境加索引_MySQl开发和生产环境索引对比
- 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第十章——自编解析与答案
- Redis快的原因:内存操作 单线程没有切换开销 多路复用IO
- Think in Java第四版 读书笔记9第15章 泛型
- CSS text-decoration 属性
- 重磅!百度飞桨开源语音基础模型库|中英文语音识别、语音翻译、语音合成、声音分类通通一行代码轻松搞定...
- Win 下面配置 memcache
- 资管运营BAND原创 | 他山之石:境外基金业绩报酬计算方法(二)
- oracle临时表空间占用率过高,ORACLE临时表空间太大,如何处理?
- epic怎么添加本地游戏_节奏大师怎么玩自制歌曲?节奏大师添加本地歌曲方法_APP教程...
- AI产业链的划分,主要可分为基础层、技术层和应用层
- Deepin20安装和配置NVIDIA显卡驱动
- unity Font字体替换
- SpringBoot集成JWT实现Token登录验证
- 从零开始实现放置游戏(十一)——实现战斗挂机(2)注册登陆和游戏主界面
- 布隆过滤器:一种低空间成本的判断元素是否存在的方式
- Soft(er)-NMS:非极大值抑制算法的两个改进算法
- 如何去除PDF的水印?【9种方法总结】
- 服务器是虚拟机好还是单机好,比较VMware和VirtualBox虚拟机的优缺点
- mythtype加载出错