Juha Heinanen wrote:
Maxim Sobolev writes:
Well, IMO absence or presence of tag in the To header field should be
the definite difference between the two. INVITE which creates a dialg
would be To-tag-less, while one that refreshes a dialog would usually
have one. And if my memory serves according to the RFC INVITE is the
only type of message which can create a dialog.
also subscribe and even notify can create a dialog.
I said "according to the standard". ;)
Nevertheless, absence/presence of To tag rule would likely apply to any
other requests creating a dialog.
-Maxim
12.1 Creation of a Dialog
Dialogs are created through the generation of non-failure responses
to requests with specific methods. Within this specification, only
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2xx and 101-199 responses with a To tag, where the request was
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INVITE, will establish a dialog. A dialog established by a non-final
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
response to a request is in the "early" state and it is called an
early dialog. Extensions MAY define other means for creating
dialogs. Section 13 gives more details that are specific to the
INVITE method. Here, we describe the process for creation of dialog
state that is not dependent on the method.
UAs MUST assign values to the dialog ID components as described
below.