Commit 4df15520 authored by Pekka Pessi's avatar Pekka Pessi

Matching client and server-side transitions.

Renumbered the transitions on server side so that they match with
transitions on client side.

darcs-hash:20051012183748-65a35-ce8db3ae79c04ee58ccd63ddc352edf91da545d0.gz
parent bb8bd319
......@@ -1112,7 +1112,7 @@ not include the extensions like @b 100rel or @b UPDATE.
| | +----------| | | :
| | | +------------+ | :
| nua_respond/ | | | :
(5) /[3456]XX | nua_respond/2XX (3a) (3b) :
(6) /[3456]XX | nua_respond/2XX (3a) (3b) :
| | | | | :
| | | V V V
| | | +-------------+
......@@ -1130,7 +1130,7 @@ not include the extensions like @b 100rel or @b UPDATE.
| | | | | | :
| | | | +-------------+ :
| | | | :
| (6) CANCEL/487 (7) BYE/487 (8) BYE/200 (9) timeout/BYE
| (7) CANCEL/487 (8) BYE/487 (9) BYE/200 (5) timeout/BYE
| | | | :
| | | | +-------------+ :
| | | | | TERMINATING |<- -+
......@@ -1229,7 +1229,17 @@ follows:
from client, indicating that the client have received server's 2XX
response. The call is ready, the @b INVITE transaction is confirmed.
</td></tr>
<tr><td>S5a</td> <!-- transition -->
<tr><td>S5td> <!-- transition -->
<td>completed</td> <!-- previous state -->
<td>timeout</td> <!-- input -->
<td>BYE</td> <!-- output -->
<td>terminating</td> <!-- next state -->
<td>-</td> <!-- offer/answer -->
<td>
If the server does not receive an @b ACK request in timely fashion, it will
terminate the call by sending a @b BYE request to client.
</td></tr>
<tr><td>S6a</td> <!-- transition -->
<td>received</td> <!-- previous state -->
<td rowspan=2>nua_respond()</td> <!-- input -->
<td rowspan=2>3XX 4XX<br>5XX 6XX</td><!-- output -->
......@@ -1241,10 +1251,10 @@ follows:
retransmitting the response when needed. It consumes the ACK response
sent by the client, too.
</td></tr>
<tr><td>S5b</td> <!-- transition -->
<tr><td>S6b</td> <!-- transition -->
<td>early</td> <!-- previous state -->
</td></tr>
<tr><td>S6a</td> <!-- transition -->
<tr><td>S7a</td> <!-- transition -->
<td>received</td> <!-- previous state -->
<td rowspan=2>CANCEL</td> <!-- input -->
<td rowspan=2>487 Request terminated</td><!-- output -->
......@@ -1256,10 +1266,10 @@ follows:
a <i>487 Request Terminated</i> response to the @b INVITE transaction and
the call is terminated.
</td></tr>
<tr><td>S6b</td> <!-- transition -->
<tr><td>S7b</td> <!-- transition -->
<td>early</td> <!-- previous state -->
</td></tr>
<tr><td>S7</td> <!-- transition -->
<tr><td>S8</td> <!-- transition -->
<td>early</td> <!-- previous state -->
<td>BYE</td> <!-- input -->
<td>487 to INVITE<br>
......@@ -1272,7 +1282,7 @@ follows:
return a <i>200 OK</i> response to @b BYE and a <i>487 Request
Terminated</i> response to the @b INVITE transaction.
</td></tr>
<tr><td>S8</td> <!-- transition -->
<tr><td>S9</td> <!-- transition -->
<td>completed</td> <!-- previous state -->
<td>BYE</td> <!-- input -->
<td>200 to BYE</td> <!-- output -->
......@@ -1284,16 +1294,6 @@ follows:
and lets the underlying transaction engine to take care of consuming @b
ACK.
</td></tr>
<tr><td>S9</td> <!-- transition -->
<td>completed</td> <!-- previous state -->
<td>timeout</td> <!-- input -->
<td>BYE</td> <!-- output -->
<td>terminating</td> <!-- next state -->
<td>-</td> <!-- offer/answer -->
<td>
If the server does not receive an @b ACK request in timely fashion, it will
terminate the call by sending a @b BYE request to client.
</td></tr>
</table>
There is an alternative offer-answer model for third party call control
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment