説明/参照:
Explanation:
SIPセッションの確立、維持および終了中に、シグナリングメッセージは2つのSIPエンドポイント間で交換される。これらのメッセージが参加するシグナリング「会話」には、トランザクションとダイアログの2種類があります。
トランザクションは2つのユーザーエージェント間のSIPメッセージ交換で、リクエストから始まり、最終的なレスポンスで終わります(その間に0個以上の暫定レスポンスを含めることもできます)。たとえば、SIPセッションの終了中に、一方のユーザがBYE要求を送信してコールを解放し、もう一方のユーザが200 OK応答で応答します。このメッセージ交換はトランザクションと呼ばれます。
しかし、INVITEリクエストの場合はどうなりますか? SIPセッションの確立は基本的にINVITE要求で始まり、ACKを受信したときに完了したと見なされます。この場合、トランザクションはINVITE要求で始まり、200 OKで終わるので、ACKはトランザクションの一部ではありません。 ACKはそれ自体でトランザクションと見なすことができます。ただし、INVITEに対する最終応答が2xx応答ではない場合、ACKはトランザクションの一部と見なされます。ダイアログは、2つのユーザーエージェント間でのSIPメッセージの完全な交換です。つまり、トランザクションは実際にはダイアログの一部です。たとえば、SIPセッション確立の場合、ダイアログはINVITE-で始まります。
200 OKトランザクション、ACKで続行し、BYE-200 OKトランザクションで終了します。
次の図は、SIPセッションの確立中に発生するダイアログとトランザクションを示しています。

注:BYEやre-INVITEメッセージなど、同じダイアログに属する後続の要求もある可能性があります。ダイアログ外の要求は、新しいセッションに対する最初のINVITE要求や機能をチェックするためのOPTIONSメッセージなどのメッセージと見なされます。
ダイアログやトランザクションを識別するさまざまなSIPヘッダー/パラメータがあります。それらについては、後の投稿で分析します。
参照:https://telconotes.wordpress.com/2013/03/13/sip-transactions-vs-dialogs/