SIP:构建新一代SoftSwitch
来源:互联网 发布:基本公共卫生网络直报 编辑:程序博客网 时间:2024/05/01 13:22
一、SIP的提出和发起 SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提出的IP电话信令协议。它的主要目的是为了解决IP网中的信令控制,以及同SoftSwitch的通信,从而构成下一代的增值业务平台,对电信,银行,金融等行业提供更好的增值业务。其结构图如下所示。 各功能模块说明如下:
- SoftSwitch: 主要实现连接,路由和呼叫控制,关守和带宽的管理,以及话务纪录的生成。
- Media Gateway: 提供电路交换网(即传统的PSTN网)与包交换网(即IP,ATM网)中信息转换(包括语音压缩、数据检测等)。
- Sinnaling Gateway:提供PSTN网同IP网间的协议的转换。
- Application Server:运行和管理增值业务的平台,与SoftSwitch用SIP进行通信。
- Media Server: 提供媒体和语音资源的平台,同时与Media Gateway进行RTP流的传输。
- 用户代理服务器:当接到SIP请求时联系用户,并代表用户返回响应。
- 代理服务器:代表其他客户机发起请求,既充当服务器又充当客户机的媒介程序。它在转发请求之前可能改写原请求消息中的内容。
- 重走向服务器:接收SIP请求,把请求中的原地址映射成零个或多个新地址,返回给客户机。
- 注册服务器:接收客户机的注册请求,完成用户地址的注册。
- To
注册的目的地址。
- From
注册的头地址。如果是第一次注册,则与目的地址相同。
- Content-Type
消息的类型
- Content-Length
消息的长度
- Request-URI
注册请求的目的地址
- Call-ID
所有的来自一个客户机的注册都是用相同的Call-ID
- Cseq
以相同Call-Id的注册必须拥有递增的Cseq号。五、SIP的方法 SIP主要用以下六个方法来实现对呼叫的控制。 (1)INVITE INVITE方法说明一个用户或业务参加一个会话。消息体部分包含了被叫的信息说明。对于双方呼叫,主叫需说明他能接受和发送的媒质类型。示例如下: INVITE A -> Proxy 1 INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy 六、状态码的定义 SIP主要定义了如下的五种类型的响应状态。 1xx: 信息。表示请求已经收到,可以继续处理请求。 2xx: 正确。表示呼叫已经正确的被接受和处理。 3xx: 重定向。表示该呼叫需被重定向处理。 4xx: 客户机错误。表示该消息存在表达错误,不能被服务器处理。 5xx: 服务器错误。表示服务器不能处理该消息。 七. SIP的优越性 H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于IP电话。它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风格截然不 同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传统。H.323是由 国际电联提出来的,它企图把IP电话当作是众所周知的传统电话,只是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光纤传输。而SIP侧重于将IP 电话作为Internet上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求。H.323推出较早,协议发展得比较成熟;由于其采用的是传统的实现电话信令的模式,便于与现 有的电话网互通,但相对复杂得多。SIP借鉴了其他Internet标准和协议的设计思想,有其突出的优点。
1、首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。
2、其次,SIP会话请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进行的。
3、再次,H.323为实现补充业务定义了专门的协议,如 H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,必要时对头域进行简单扩展就能很方便地支持补充业务或智能业务。
4、最后,H.323进行集中、层次式控制。尽管集中控制便于管理(如便于计费和带宽管理等),但是当用于控制大型会议电话时,H.323中执行会议控制 功能的多点控制单元很可能成为瓶颈。而SIP类似于其他的Internet协议,设计上就为分布式的呼叫模型服务的,具有分布式的组播功能。在我国的IP电话领域,采用H.323协议已是定论。但我们也应看到SIP简单灵活、分布式控制等优点。并且随着SoftSwitch等技术的发展,SIP必将取代H.323,成为IP领域内运用最广泛的信令控制协议。 To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 INVITE Contact: BigGuy Content-Type: application/sdp Content-Length: 147 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 (2)ACK ACK方法主要用于确认客户端对INVITE方法的请求已经响应。示例如下: ACK sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP ss1.wcom.com:5060;branch=2d4790.1 Via: SIP/2.0/UDP here.com:5060 Route: From: BigGuy To: LittleGuy Call-ID: 12345601@here.com CSeq: 1 ACK Content-Length: 0 (3)BYE 客户机用BYE方法向服务器发消息来结束该呼叫。示例如下: BYE sip: UserA@here.com SIP/2.0 Via: SIP/2.0/UDP there.com:5060 Route: From: LittleGuy To: BigGuy Call-ID: 12345601@here.com CSeq: 1 BYE Content-Length: 0 (4)CANCEL CANCEL方法用于取消一个挂起的呼叫。示例如下: CANCEL sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy To: LittleGuy Call-ID: 12345600@here.com CSeq: 1 CANCEL Content-Length: 0 (5)REGISTER 用于向定位服务器注册客户机的相关信息。 (6)OPTIONS 用于查询服务器的相关信息和功能。
- SIP:构建新一代SoftSwitch
- SIP:构建新一代SoftSwitch
- SoftSwitch
- 新一代WEB用户界面构建框架
- 新一代WEB用户界面构建框架
- Gulp:新一代前端构建利器
- Gulp:新一代前端构建利器
- Gulp:新一代前端构建利器
- Gulp:新一代前端构建利器
- Gulp:新一代前端构建利器
- 新一代与12-factors:构建,发布,运行
- gradle 之新一代项目自动化构建工具
- 新一代
- 如何构建自己的SIP SERVER!
- 构建TI新一代高性能SOC的最小系统
- 构建TI新一代高性能SOC的最小系统(DM816x)
- Gradle, 基于DSL的新一代Java构建工具
- Gradle, 基于DSL的新一代Java构建工具
- JAVA开发详细视频教程
- 关于.net 2.0web项目CSS失效的问题
- 大师也犯低级错误--《CODE COMPLETE (Second Edition)》中的2处代码错误
- NHibernate配置文件问题-element was not found in the configuration file.
- Nhibernate1.2的问题CProxyxxxInfoCannotbeConverted to System.String
- SIP:构建新一代SoftSwitch
- file sharing between globle and non-global zones
- 初学struts
- 别让你的电脑成了吸血鬼 看节电妙招
- linux信号机制之sigaction结构体浅析
- 利用uniread 解决 Linux下的SQL*Plus 命令行历史回调功能
- 实现编辑器的Undo Redo功能用Java来
- 无限分类的程序,php
- 浏览对话框的实现