test.tck.msgflow
Class InviteServerTransactionsStateMachineTest
java.lang.Object
TestCase
test.tck.TestHarness
test.tck.msgflow.MessageFlowHarness
test.tck.msgflow.InviteServerTransactionsStateMachineTest
public class InviteServerTransactionsStateMachineTest
- extends MessageFlowHarness
* The test tries to verify that Invite Server Transactions correctly change
states as specified by the rfc3261. The Reference Implementation is used
to send requests and a Tested Implementation ServerTransaction's states are
queried and compared to those in the state machine described in
section 17.2.1 of rfc3261
|INVITE
|pass INV to TU
INVITE V send 100 if TU won't in 200ms
send response+-----------+
+--------| |--------+101-199 from TU
| | Proceeding| |send response
+------->| |<-------+
| | Transport Err.
| | Inform TU
| |--------------->+
+-----------+ |
300-699 from TU | |2xx from TU |
send response | |send response |
| +------------------>+
| |
INVITE V Timer G fires |
send response+-----------+ send response |
+--------| |--------+ |
| | Completed | | |
+------->| |<-------+ |
+-----------+ |
| | |
ACK | | |
- | +------------------>+
| Timer H fires |
V or Transport Err.|
+-----------+ Inform TU |
| | |
| Confirmed | |
| | |
+-----------+ |
| |
|Timer I fires |
|- |
| |
V |
+-----------+ |
| | |
| Terminated|<---------------+
| |
+-----------+
Figure 7: INVITE server transaction
- Version:
- 1.0
- Author:
- Emil Ivov
Network Research Team, Louis Pasteur University, Strasbourg, France.
This code is in the public domain.
Fields inherited from class test.tck.msgflow.MessageFlowHarness |
counter, eventCollector, EXTENSION_HDR, MESSAGES_ARRIVE_FOR, RETRY_OBJECT_DELETES, RETRY_OBJECT_DELETES_AFTER, riListeningPoint, riSipProvider, riSipStack, STACKS_SHUT_DOWN_FOR, STACKS_START_FOR, tiListeningPoint, tiSipProvider, tiSipStack, TRANSACTION_TIMES_OUT_FOR |
Fields inherited from class test.tck.TestHarness |
ABORT_ON_FAIL, abortOnFail, console, IMPLEMENTATION_PATH, LOCAL_ADDRESS, LOG_FILE_NAME, logFileName, path, printWriter, RI_PORT, riAddressFactory, riFactory, riHeaderFactory, riMessageFactory, testCounter, testResult, TI_PORT, tiAddressFactory, tiFactory, tiHeaderFactory, tiMessageFactory |
Methods inherited from class test.tck.msgflow.MessageFlowHarness |
addStatus, addStatus, createRequest, createRiContact, createRiInviteRequest, createRiRegisterRequest, createTiContact, createTiInviteRequest, createTiRegisterRequest, setUp, sleep, tearDown, waitForMessage, waitForTimeout, waitLongForMessage, waitShortForMessage |
Methods inherited from class test.tck.TestHarness |
assertEquals, assertEquals, assertEquals, assertEquals, assertNotNull, assertNull, assertSame, assertTrue, assertTrue, checkImplementsInterface, fail, fail, fail, getImplementationPath, getRiProperties, getTiProperties, implementsInterface, logTestCompleted, logTestCompleted |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InviteServerTransactionsStateMachineTest
public InviteServerTransactionsStateMachineTest(String name)
testProceedingCompletedConfirmedScenario
public void testProceedingCompletedConfirmedScenario()
- Tries to steer a TI server transaction through the following scenario
Proceeding-->Completed-->Confirmed-->Terminated. Apart from state
transitions, we also test, retransmissions and proper hiding/passing
of messages to the TU.
testCanceledInvite
public void testCanceledInvite()
- JvB: tests CANCEL for an INVITE ST
testNonRFC3261CanceledInvite
public void testNonRFC3261CanceledInvite()
- JvB: tests CANCEL for an INVITE ST, from an non-RFC3261 client
which uses a Via branch not starting with the magic cookie
testCaseInsensitiveCanceledInvite
public void testCaseInsensitiveCanceledInvite()
- JvB: tests CANCEL for an INVITE ST, in case the client changes
the case of the branch id to all lowercvase (NIST used to do this)
testProceedingTerminatedScenario
public void testProceedingTerminatedScenario()
- Tries to steer a TI server transaction through the following scenario
Proceeding-->Terminated. Apart from state transitions, we also test,
retransmissions and proper hiding/passing of messages to the TU.
suite
public static Test suite()
Copyright © 2014. All Rights Reserved.