| test.tck.msgflow.MessageFlowHarness test.tck.msgflow.InviteClientTransactionsStateMachineTest
InviteClientTransactionsStateMachineTest | public class InviteClientTransactionsStateMachineTest extends MessageFlowHarness (Code) | | The test tries to verify that Invite Client Transactions correctly change
states as specified by the rfc3261. The Tested Implementation is used to send
requests and the ReferenceImplementation issues (or not) corresponding
responses. ClientTransaction states are constantly queried and compared to
those in the state machine described in section 17.1.1 of rfc3261
|INVITE from TU
Timer A fires |INVITE sent
Reset A, V Timer B fires
INVITE sent +-----------+ or Transport Err.
+---------| |---------------+inform TU
| | Calling | |
+-------->| |-------------->|
+-----------+ 2xx |
| | 2xx to TU |
| |1xx |
300-699 +---------------+ |1xx to TU |
ACK sent | | |
esp. to TU | 1xx V |
| 1xx to TU -----------+ |
| +---------| | |
| | |Proceeding |-------------->|
| +-------->| | 2xx |
| +-----------+ 2xx to TU |
| 300-699 | |
| ACK sent, | |
| resp. to TU| |
| | | NOTE:
| 300-699 V |
| ACK sent +-----------+Transport Err. | transitions
| +---------| |Inform TU | labeled with
| | | Completed |-------------->| the event
| +-------->| | | over the action
| +-----------+ | to take
| ˆ | |
| | | Timer D fires |
+--------------+ | - |
| |
V |
+-----------+ |
| | |
| Terminated|<--------------+
| |
+-----------+
Figure 5: INVITE client transaction
TODO Currently, transactions' behaviour is not tested for misappropriation of
incoming messages.
TODO Currently, invite transactions are not tested for proper termination
upon respective timeouts.
author: Emil Ivov Network Research Team, Louis Pasteur University, author: Strasbourg, France. This code is in the public domain. version: 1.0 |
InviteClientTransactionsStateMachineTest | public InviteClientTransactionsStateMachineTest(String name)(Code) | | |
suite | public static Test suite()(Code) | | |
testCallingCompletedTerminatedScenario | public void testCallingCompletedTerminatedScenario()(Code) | | Tries to steer a TI client transaction through the following scenario
Calling-->Completed-->Terminated. Apart from state transitions, we also
test, retransmissions and proper hiding/passing of messages to the TU.
|
testCallingProceedingCompletedTerminatedScenario | public void testCallingProceedingCompletedTerminatedScenario()(Code) | | Tries to steer a TI client transaction through the following scenario
Calling-->Proceeding-->Completed-->Terminated. Apart from state
transitions, we also test, retransmissions and proper hiding/passing of
messages to the TU.
|
testCallingProceedingTerminatedScenario | public void testCallingProceedingTerminatedScenario()(Code) | | Tries to steer a TI client transaction through the following scenario
Calling-->Proceeding-->Terminated. Apart from state transitions, we also
test, retransmissions and proper hiding/passing of messages to the TU.
|
testCallingTerminatedScenario | public void testCallingTerminatedScenario()(Code) | | Tries to steer a TI client transaction through the following scenario
Calling-->Terminated. Apart from state transitions, we also test,
retransmissions and proper hiding/passing of messages to the TU.
|
testInviteCancel | public void testInviteCancel()(Code) | | JvB: Tests transmission of an INVITE followed by CANCELlation of that
request
-> INVITE <- 100 -> CANCEL <- OK <- 487 -> ACK
|
Methods inherited from test.tck.msgflow.MessageFlowHarness | protected void addStatus(HeaderFactory headerFactory, Request request)(Code)(Java Doc) protected void addStatus(Request request, Response response)(Code)(Java Doc) protected Request createRequest(String method, AddressFactory addressFactory, HeaderFactory headerFactory, MessageFactory messageFactory, SipProvider srcProvider, SipProvider dstProvider, String contentType, String contentSubType, Object content) throws Exception(Code)(Java Doc) public ContactHeader createRiContact() throws TckInternalError(Code)(Java Doc) protected Request createRiInviteRequest(String contentType, String contentSubType, Object content) throws TckInternalError(Code)(Java Doc) protected Request createRiRegisterRequest() throws TckInternalError(Code)(Java Doc) public ContactHeader createTiContact() throws Exception(Code)(Java Doc) protected Request createTiInviteRequest(String contentType, String contentSubType, Object content) throws TiUnexpectedError(Code)(Java Doc) protected Request createTiRegisterRequest() throws TiUnexpectedError(Code)(Java Doc) public void setUp() throws java.lang.Exception(Code)(Java Doc) protected static void sleep(long sleepFor)(Code)(Java Doc) public void tearDown() throws java.lang.Exception(Code)(Java Doc) public static void waitForMessage()(Code)(Java Doc) protected static void waitForTimeout()(Code)(Java Doc) protected static void waitShortForMessage()(Code)(Java Doc)
|
|
|