mjsip学习文档

MjSip协议栈的分析
MjSip是采用Java语言的协议栈,下面将对该协议栈的核心架构进行分析。MjSip是一个灵活的SIP类库,可以在其基础上方便的构建各种SIP应用和服务。在MjSip的包中同时提供了SIP控制API和协议栈实现,包括所有的类和方法用于创建SIP的基础应用。MjSip实现了RFC3261文档中定义的标准的层次化的协议栈架构,并提供高层次的呼叫控制接口[29]
泰妙菌素
MjSip协议栈实现的包和类图
lcu
上图是MjSip协议栈实现中所有的包和主要的类图,下面将对各个包中的主要类进行描述分析。碱性氧化物
(1) net package:该包中主要是和SIP协议实现中网络底层通信相关的类,SocketAddress类保存网络通信的IP地址、端口等参数,TcpConnection类、TcpServer类和TcpSocket类是关于TCP方式通信的,UdpProvider类和UdpSocket类是关于UDP方式通信的。另外,该包中还包括一些Listener接口,用于监听TCP和UDP连接的事件。
(2) sdp package:该包中的类是关于SDP协议(Session Description Protocol)的,SDP协议主要被SIP协议用于进行会话通知、会话邀请和其他形式的多媒体会话初始化等操作中的媒体会话描述,如通信地址、端口和数据格式。SdpField等以Field结尾的类用以描述SDP中的各个数据域,SessionDescriptor等以Descriptor结尾的类用于处理SDP消息中的各种消息体格式[30]如何遵守维护贯彻党章。
(3) address package:该包中的类是和SIP定位相关的,NameAddress类用于表示所有合法的SIP名字地址,SipURL类用于表示SIP终端的URL地址。
(4) authentication package:该包中只有一个类DigestAuthentication,该类根据文档RFC2617定义了基于HTTP的摘要认证操作,主要是根据认证Request生成认证Response。
(5) call package:该包里的类是关于呼叫控制操作的,Call和ExtendedCall类分别是基本的和扩展的SIP呼叫类,包含了呼叫中心常见的对呼叫的控制操作,如呼叫、摘机接听、挂机、转接等,CallListenerAdapter类用于捕获所有呼叫事件,并提供相应的回调函数。另外,该包中还包括一些Listener用于监听所有和Call操作相关的事件。本系统中的SIP用户代理主要是通过调用和扩展该包中的类完成呼叫控制功能的。
(6) dialog package:该包里的类是关于SIP中对话操作的,对话是两个UA之间持续一段时间的点对点的SIP连接,它使得UA之间的消息变得有序,同时给出请求消息的正确的路由。Dialog等类保存了SIP中各种不同对话的相关操作和信息。另外,该包中还包括一些Listener用于监听各种不同Dialog的相关事件。
(7) header package:该包中都是关于SIP消息体中的消息头的类,用于SIP消息体中消息头的解析和封装。
羟氨苄青霉素胶囊
(8) message package:该包中都是关于SIP消息体的类,用于SIP消息的解析封装。
(9) transaction package:该包是关于SIP事物操作的,SIP是事务性的协议,一个SIP事物是由请求和响应组成的,根据文档RFC3261的定义,定义了INVITE方法和ACK响应的事物状态服务器和事物状态客户端,事物客户端发送请求,事物服务器发送响应。多方会议
(10) provider package:该包中包含了SIP协议栈传输层相关的类,SipProvider类实现了SIP的传输层,用于发送和接受消息,SipStack类包含了SIP协议栈中所使用的静态属性。
(11) tools package:该包中包含了一些实现中要用到的工具类,如配置、日记、MD5算法等。
通过分析可以发现,MjSip的协议栈实现分类清楚,各个功能层次的实现比较清晰合理,便于在其基础上进行扩展和调用,实现更多复杂的应用。

本文发布于:2024-09-22 08:31:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/137027.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:协议   用于   实现   消息   呼叫   事物   操作   包中
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议