[SIPForum-discussion] HELP

Xavi Milà xavi.mila at gmail.com
Fri May 16 10:35:55 UTC 2008

[Extracted from another mailing list but it can be helpful for you]


Quote from RFC 3261:

<Page 21>
Dialog: A dialog is a peer-to-peer SIP relationship between two UAs
that persists for some time.  A dialog is established by
   SIP messages, such as a 2xx response to an INVITE request. A dialog
is identified by a call identifier, local tag, and a
   remote tag.  A dialog was formerly known as a call leg in RFC 2543.

So in most simple cases, a dialog represents a call (or more
precisely, a call leg).

<Page 24-25>
SIP Transaction: A SIP transaction occurs between a client and a
server and comprises all messages from the first request sent
   from the client to the server up to a final (non-1xx) response sent
from the server to the client.  If the request is INVITE
   and the final response is a non-2xx, the transaction also includes
an ACK to the response.  The ACK for a 2xx response to
   an INVITE request is a separate transaction.

So a transaction is a request along with all the associated responses
up to the final (non-1xx) response.

Both dialog and transaction (in an actual implementation) are logical
data elements or data structures that encapsulate state information as
well as
"certain" data needed to process SIP messages (be it a transaction or dialog).

One relationship between a transaction and a dialog is that a
transaction should be part of a dialog.


[Dialog X]
      +----[Transaction 1]
      +----[Transaction 2]
      +----[Transaction N]

Say Transaction 1 is a re-INVITE while transaction 2 is an OPTIONS and
so on, but they are within the same SIP dialog, Dialog X.



On Fri, May 16, 2008 at 10:39 AM, Ganesh Bhattathiri <
ganesh_bhattathiri at persistent.co.in> wrote:

>  Hi
> Can somebody tell me the difference between Dialog and session and
> transaction?
> First let me tell you what I thought it was.
> If there is a UAC and UAS, If UAC sends a request and gets a non-100
> response back the whole process is knows as a dialog
> And from the point of first request to the ACK sent for BYE it is  a
> session.
> Now if what I have said above is right then how would you differentiate a
> request sent outside the dialog? As in doesn't that also get a response back
> could that not be a non-100 response?
> Can Someone help me get this confusion cleared?
> Thanks again
> Ganesh
> _______________________________________________
> This is the SIP Forum discussion mailing list
> TO UNSUBSCRIBE, or edit your delivery options, please visit
> http://sipforum.org/mailman/listinfo/discussion
> Post to the list at discussion at sipforum.org

Xavi Milà
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sipforum.org/pipermail/discussion/attachments/20080516/991c82ee/attachment-0002.html>

More information about the discussion mailing list