交易
事务由请求、收到的任何非最终 (1xx) 响应和最终响应(2xx、3xx、4xx、5xx 或 6xx)以及响应的确认(ACK 或 PRACK)组成,但以下内容除外:对 2xx 响应的 ACK。例如:
SIP peer A sends an INVITE Request to SIP peer B
SIP peer B returns a Response of 100 TRYING; this is a non-final Response, so the transaction is not completed yet
SIP peer B returns 200 OK (a final response), accepting the invitation; this completes the transaction
基本上,一个完整的请求-响应。
Dialogs
对话只是两个 SIP 对等点之间的一系列事务。对话框的目的是设置、可能修改然后拆除会话。由此得名会话发起协议。由于两个 SIP 对等方之间随时可能有许多对话正在进行(例如,两个 SIP 服务器之间可能有许多同时进行的呼叫),因此对话由标头中的 From、To 和 Call-ID 字段标识。因此,如果 SIP 对等方 A 同时收到两个 BYE 请求,它可以查看这些字段以确定它们属于哪个对话。
您可能在对话框中看到的一组典型事务可能包括:
SIP peer A invites SIP peer B to a session and suggests a certain codec, but does not include authentication and so is rejected
SIP peer A again invites SIP peer B to a session, this time supplying authentication, and the invitation is accepted
SIP peer B sends an invitation to change the codec used, and it is accepted
SIP peer A ends the session
Sessions
会话只是在对等点之间流动的媒体流(例如音频或视频),通常由 RTP(也可能是 RTCP)数据包组成。例如,如果使用 SIP 进行语音呼叫,则会话是端点之间发送的语音数据
要回答这个问题,您是否需要将这三者结合在一起,您需要事务和对话才能创建会话,而会话是协议的全部要点
这是一个线程的链接 http://sipforum.org/pipermail/discussion/2007-August/003046.html包含对话和事务的示例