jain-sip 一些类的初步理解
1.javax.sip.ClientTransaction:
ClientTransaction应用可以理解为发送INVITE信息到UAS。ClientTransaction也用从SipListener接收到的回应进行匹配。和ServiceTransaction相对应。
方法:
ClientTransaction的方法:
Request createAck()
通过ClientTransaction创造一个关于当前的请求的正确应答。
void sendRequest()用于发送创建的请求消息。
这个类的调用意味着上层的应用是UAC。
方法:
ClientTransaction的方法:
Request createAck()
通过ClientTransaction创造一个关于当前的请求的正确应答。
void sendRequest()用于发送创建的请求消息。
这个类的调用意味着上层的应用是UAC。
2.javax.sip.Dialog:一个会话用来响应2个点对点的用户之间的联系,并保持联系一段周期。
3.javax.sip.DialogState: 这个类定义了会话的3种状态,Early, Confirmed, Terminated。
4.javax.sip.DialogTerminatedEvent: 当一个会话事务到达了terminated 状态,这个会话事务事件被传送到listen监听处去。
5.javax.sip.ListeningPoint:这个接口描述了一个唯一的网络监听地址,由传输的IP和端口组成。
6.javax.sip.RequestEvent: 这个类描述了一个从SipProvider传送到SipListener的请求事件,是一种事件模式。一个应用(sipListener)被注册到SIP protocol stack(SipProvider),监听SipProvider传来的请求事件。
7.javax.sip.ResponseEvent:这个类描述了一个从SipProvider到他自己的SipListener的一个响应事件。
8.javax.sip.ServerTransaction :
ServerTransaction可以通常被理解为一个会话状态机,SipProvider用来处理接收SIP事件和消息序列,将接收到消息发送到SipListener(侦听方法)的processRequest或者processResponse回调,通过用户代理服务器发送回应信息给应用程序。这个类让应用程序能发送一个回应对应SipListener收到的请求。
方法:
ServerTransaction中的方法:
sendResponse
应用希望发送一个响应时候,它创立一个来自MessageFactory创造的回应,然后回应传送到ServerTransaction的sendResponse方法。
方法:
ServerTransaction中的方法:
sendResponse
应用希望发送一个响应时候,它创立一个来自MessageFactory创造的回应,然后回应传送到ServerTransaction的sendResponse方法。
9.javax.sip.SipFactory:
SIPFactory是一个单类,用单一方式得到这个SipStack应用的执行权。SIPFactory单一的实例能用得到实例的方法(或者Singleton)而被得到。通过在SIPFactory里调用合适构造方法,一个代表被叫端的对象能从SIPFactory得到。创造一个被叫的SipStack,这样应用将可以调用SipStack中的方法。
10. javax.sip.SipListener:这个类代表SIP协议的负责侦听的应用程序端,这个接口定义了一个侦听端,接收处理从SipProvider提交的SIP事件消息,是一个抽象的侦听线程。
结构:
每个SIPStack或每个IP地址对应一个的Siplistener,而Siplistener与SipProvider的关系是一对多的关系。
结构:
每个SIPStack或每个IP地址对应一个的Siplistener,而Siplistener与SipProvider的关系是一对多的关系。
11. javax.sip.SipProvider::这个接口描述了SIP stack的消息实体。
13. javax.sip.Transaction:Transaction是一个基础的sip组件,这个接口描述了客户端到服务器的一个通用接口和普遍的方法。
14. javax.sip.TransactionTerminatedEvent:TransactionTerminatedEvent被传到Listener当事务转变到terminated状态。
15. javax.sip.address.Address:这个接口描述了用户的display名字和URI地址。
16. javax.sip.address.AddressFactory:这个接口提供了方法,允许程序创建地址对象,例如:URI, SipURI and TelURL。
17. javax.sip.header.ContactHeader: 一个ContactHeader头变量提供了包含请求或是响应的URI。
18. javax.sip.header.HeaderFactory:这个接口提供了一组方法允许从一个JAIN SIP实例中创建Header object。
19. javax.sip.header.ToHeader:To header是最初被请求的需要者所描述,Requests and Responses必须包括一个ToHeader。
20. javax.sip.message.MessageFactory: 这个接口提供了一组方法允许应用程序从一个JAIN SIP实例中创建Request 和 Response消息。
21. javax.sip.message.Request:一个SIP Request是一个从客户端到服务器的请求。
22. javax.sip.message.Response:一旦请求地接受者收到一个请求,一个Response消息就被发送。