【学习笔记】VOIP以及SIP协议初步熟悉和了解
来源:互联网 发布:网络博客报警有用吗 编辑:程序博客网 时间:2024/05/22 02:04
一,VOIP以及SIP协议初步熟悉和了解
VoIP (Voice over Internet Protoco) 网络电话
定义:在IP网上传送的具有一定服务质量的语音业务
VoIP 采用语音压缩技术转换模拟信号为数字信号,经TCPIP协议进行打包和传输, 然后解码恢复为扬声器可以使用的信号.
优点:
低费用(成本,运营)
基于网络ip,跟随互联网发展而壮大
缺点:
分组交换和语音编解码依然存在延时
通信质量依赖于网络
电力中断时无法使用
PSTN (Public Switched Telephone Network ) 公共交换电话网络
是基于连接的电路来进行通信.
优点:
低通信费用
需要物理通路,一旦建立可随时通话
成熟的语音编码
缺点:
物理链路无交流时依然占宽带
网络利用率低,上网只能拨号上网
移动通信
2g GSM除了通话外,加入了分组交换可以使用互联网演变为GPRS 还有附加业务如彩信
3g 加入高宽带数据通信,提升了速度更加利于使用internet.UMTS
sip是一种应用层信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。可以查询终端用户的位置。建立会话和会话管理。
信令(方法) method:INVITEACK OPTIONS BYE CANCEL REGISTER …
SIP基于文本,是一种底层协议,更加容易使用与Internet业务。
实体使用URL来标识。
:代理服务器 重定向服务器 注册服务器 用户代理 定位服务器
用户代理USERAGENT 按接受请求和发送请求分为 UAS和UAC,
用户代理UA第一次使用时要注册在注册服务器上,发送REGISTER到注册服务器上,服务器抽取并保留其信息。
重定向服务器接收到请求,然后发回的应答会包括指定的用户的当前位置列表的实体。
SDP 描述会话特征协议
二,SIP业务(会话)信令交互流程
注册
- 用户代理UA首次发送注册REGISTER到服务器,服务器返回响应信息401UNAUTHORIZED。
- 要求UACclient进行验证,其中包含了验证需要的安全认证令牌。
- UAC再次发送REGISTER给服务器,包含了使用了认证到帐号信息及密码。CSeq增加callID相同。
- 服务器解密后认证其合法性,将该用户信息记录到数据库。返回响应信息200OK,不成功返回4xx
注销
- 用户向服务器发送REGISTER,其中expire设置0。
- 代理服务器送回200OK,注销账户。
呼叫建立
用户A的代理向服务器发出INVITE。服务器转发INVITE给用户B的代理。
代理发出TRYING100给服务器,服务器转发给A。
B响铃,B的代理发出RINGING给服务器,服务器转发给A.
用户B接起电话,B的代理发出200OK信息给服务器,服务器转发给A的代理。
A代理收到200后返回ACK确认,服务器转发给B
AB之间建立通信。
呼叫正常结束
1. 一方挂机后,其代理发出BYE给服务器
2. 服务器转发给另一方,另一方接收到后,发送200OK给服务器。
3. 服务器转发OK
呼叫保持
1. 当呼叫已经建立后,一方发送re-INVITE消息给服务器要求保持通话。SDP中c=IN IP4 0.0.0.0
2. 服务器收到后给发送re-INVITE方返回200OK,收到后返回ACK。
3. 另一方话机播放等待音乐
呼叫前转
- 当A试图向B发起通话,B设置了遇忙前转
- A拨号,其UA向服务器发出INVITE.服务器转发INVITE给B
- 服务器传TRYING给A,B传TRYING给服务器。
- 当时B正在通话中,传484BUSYHERE给服务器,服务器给出应答ACK。
- 按遇忙设定,服务器发起新的INVITE给C(由B设定)
- c的UA返回RINGING,服务器转发RINGING给A。
- C的UA返回OK200, 服务器转发200。
- A的UA接到后发出ACK,服务器转发ACK给C
- 建立通话
INVITE 必要的头域
call-id 标识一个对话。 Callid| I :ID : host
contact 联系地址 <地址>
CSeq 请求序列号,保证request的顺序 号码 消息
From 发起者地址 username <URL>
To 指定请求的接受者或用户需要注册的地址 username <URL>
Max-Forwords 剩余跳数 经过SIP服务器的跳路,主要是防止循环跳跃,每经过代理服务器,该整数减一
Via 路径:消息经过的路经 Via: SIP/2.0/UDP 地址:端口
Supported : UAC支持服务器响应相应请求SIP拓展,UAC应该在请求时包含SUPPORTED说明哪些拓展。
- 【学习笔记】VOIP以及SIP协议初步熟悉和了解
- SIP学习三(SIP和VoIP协议及其应用)
- SIP和VoIP协议及其应用
- SIP和VoIP协议及其应用
- SIP和VoIP协议及其应用
- SIP协议学习笔记
- 什么是VOIP和SIP?
- 什么是VOIP和SIP?
- VoIP基本概念:SIP 协议概述
- VoIP基本概念:SIP协议概述
- 《FreeSWITCH: VoIP实战》:SIP 协议
- 《FreeSWITCH: VoIP实战》:SIP 协议
- Struts2学习笔记(一)初步了解Struts2以及配置
- 《sip协议》学习初学笔记
- 初步了解及熟悉Linux
- RFC3261 SIP协议学习笔记----sip协议基本功能描述
- voip中的h323和sip
- VoIP SIP 相关的协议栈简介
- 更换Homebrew的更新源
- node.js学习之用路由方法获取简单的图文html页面
- MQ的使用场景
- 安装VMware Workstation与Xampp的Apache就启动不了
- flume-ng源码浅析
- 【学习笔记】VOIP以及SIP协议初步熟悉和了解
- gem sorcery的使用
- C#获取CPU温度(OpenHardwareMonitorLib.dll库)
- 这些SEO搜索技巧你会不会用?
- 【Java笔记】try中捕获到异常后跳出try
- java源码阅读-java.lang.String(01)
- IP/TCP回顾
- POJ-3096
- POJ 3259