Friday, February 6, 2009

Mobicents MGCP implementation pases the MGCP TCK

The Mobicents MGCP stack has cleared the TCK listed on JSR 23 http://jcp.org/aboutJava/communityprocess/final/jsr023/index.html, though it wasn't one of the most challenging task we kept delaying the TCK compliance as least priority as MGCP TCK is not one of the best one can rely on. Rather we created our own test-suite for MGCP which is more reliable in terms of encoding/decoding command,testing retransmission, regression test and proper flow of command.

To understand more about TCK look at README.txt at http://code.google.com/p/mobicents/source/browse/trunk/servers/media/jain-mgcp/tck/README.txt

The test output (this may vary in your environment)


[abhayani@localhost tck]$ mvn exec:exec
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'exec'.
[INFO] ------------------------------------------------------------------------
[INFO] Building Mobicents MGCP TCK
[INFO] task-segment: [exec:exec]
[INFO] ------------------------------------------------------------------------
[INFO] [exec:exec]
[INFO] JAIN MGCP TCK
[INFO] This instance is a Gateway.
[INFO] Using org.mobicents.mgcp.stack as the path name for JainMgcpStackImpl.
[INFO] Remote entity is 127.0.0.1:2727.
[INFO] Verbose trace selected.
[INFO]
[INFO] Testing Bandwidth parameter class.
[INFO] Testing single parameter constructor. Succeeded!
[INFO] Testing two parameter constructor. Succeeded!
[INFO]
[INFO] Testing BearerInformation parameter class. Succeeded!
[INFO]
[INFO] Testing CallIdentifier parameter class.
[INFO] Invoking constructor with valid hexadecimal string. Succeeded!
[INFO] Calling constructor with empty string (should throw exception). Succeeded!
[INFO] Calling constructor with string of more than 32 characters (should throw exception). Succeeded!
[INFO] Calling constructor with string that contains non-hexadecimal characters (should throw exception). Succeeded!
[INFO] Invoking setCallIdentifier() with valid hexadecimal string. Succeeded!
[INFO] Invoking setCallIdentifier() with empty string (should throw exception). Succeeded!
[INFO] Invoking setCallIdentifier() with string of more than 32 characters (should throw exception). Succeeded!
[INFO] Invoking setCallIdentifier() with string that contains non-hexadecimal characters (should throw exception). Succeeded!
[INFO]
[INFO] Testing ConnectionIdentifier parameter class.
[INFO] Invoking constructor with valid hexadecimal string. Succeeded!
[INFO] Calling constructor with empty string (should throw exception). Succeeded!
[INFO] Calling constructor with string of more than 32 characters (should throw exception). Succeeded!
[INFO] Calling constructor with string that contains non-hexadecimal characters (should throw exception). Succeeded!
[INFO] Invoking setConnectionIdentifier() with valid hexadecimal string. Succeeded!
[INFO] Invoking setConnectionIdentifier() with empty string (should throw exception). Succeeded!
[INFO] Invoking setConnectionIdentifier() with string of more than 32 characters (should throw exception). Succeeded!
[INFO] Invoking setConnectionIdentifier() with string that contains non-hexadecimal characters (should throw exception). Succeeded!
[INFO]
[INFO] Testing ConnectionMode parameter class. Succeeded!
[INFO]
[INFO] Testing EchoCancellation parameter class. Succeeded!
[INFO]
[INFO] Testing EventName parameter class. Succeeded!
[INFO]
[INFO] Testing ExtendedConnectionParm parameter class. Succeeded!
[INFO]
[INFO] Testing GainControl parameter class. Succeeded!
[INFO]
[INFO] Testing InfoCode parameter class. Succeeded!
[INFO]
[INFO] Testing EncryptionMethod parameter class. Succeeded!
[INFO]
[INFO] Testing PacketizationPeriod parameter class.
[INFO] Testing single parameter constructor. Succeeded!
[INFO] Testing two parameter constructor. Succeeded!
[INFO]
[INFO] Testing ResourceReservation parameter class. Succeeded!
[INFO]
[INFO] Testing SilenceSuppression parameter class. Succeeded!
[INFO]
[INFO] Testing TypeOfNetwork parameter class. Succeeded!
[INFO]
[INFO] Testing TypeOfService parameter class. Succeeded!
[INFO]
[INFO] Testing LocalOptionExtension parameter class. Succeeded!
[INFO]
[INFO] Testing NotifiedEntity parameter class. Succeeded!
[INFO]
[INFO] Testing QuarantineHandling parameter class. Succeeded!
[INFO]
[INFO] Testing ReasonCode parameter class. Succeeded!
[INFO]
[INFO] Testing RegularConnectionParm parameter class. Succeeded!
[INFO]
[INFO] Testing RequestedAction parameter class. Succeeded!
[INFO]
[INFO] Testing PackageName parameter class. Succeeded!
[INFO]
[INFO] Testing PackageName parameter class. Succeeded!
[INFO]
[INFO] Testing SupportedModes parameter class. Succeeded!
[INFO]
[INFO] Testing SupportedPackages parameter class. Succeeded!
[INFO]
[INFO] Testing LocalOptVal parameter class. Succeeded!
[INFO]
[INFO] Test of Gateway API succeeded!
[INFO]
[INFO] Continuing with messaging tests.
[INFO] Getting an instance of JainIPFactory.
[INFO] Setting path name for stack implementation to org.mobicents.mgcp.stack.
[INFO] Creating a JainMgcpStack object.
[INFO] Setting port to Gateway default port 2427
[INFO] Creating a JainMgcpProvider object
[INFO] 0 [main] INFO org.mobicents.mgcp.stack.JainMgcpStackImpl - mgcp-stack.properties read successfully!
[INFO] executorTableSize = 80
[INFO] executorQueueSize = -1
[INFO] messageReaderThreadPriority = 10
[INFO] messageDispatcherThreadPriority = 7
[INFO] messageExecutorThreadPriority = 5
[INFO] 46 [main] INFO org.mobicents.mgcp.stack.JainMgcpStackImpl - Jain Mgcp stack bound to IP 0.0.0.0/0.0.0.0 and UDP port 2427
[INFO] Jain Mgcp stack bound to IP 0.0.0.0/0.0.0.0 and UDP port 2427
[INFO] Creating a JainMgcpListener object
[INFO] Adding JainMgcpListener object to JainMgcpProvider's list
[INFO] Received AuditConnectionResponse with transaction ID 1
[INFO] Received AuditEndpointResponse with transaction ID 2
[INFO] Received CreateConnectionResponse with transaction ID 3
[INFO] Received AuditConnection with transaction ID 5
[INFO] Sent AuditConnectionResponse with transaction ID 5
[INFO] message =
[INFO] DLCX 4 local@127.0.0.1:2727 MGCP 1.0
[INFO] C:FFFF
[INFO]
[INFO] local Tx ID = 4 Remote Tx ID = 4 Sending the Command 2
[INFO] Received DeleteConnectionResponse with transaction ID 4
[INFO] Received AuditEndpoint with transaction ID 7
[INFO] Sent AuditEndpointResponse with transaction ID 7
[INFO] Received DeleteConnectionResponse with transaction ID 4
[INFO] Received EndpointConfigurationResponse with transaction ID 5
[INFO] Received CreateConnection with transaction ID 9
[INFO] Sent CreateConnectionResponse with transaction ID 9
[INFO] message =
[INFO] EPCF 8 local@127.0.0.1:2727 MGCP 1.0
[INFO] B:e:mu
[INFO]
[INFO] local Tx ID = 8 Remote Tx ID = 6 Sending the Command 2
[INFO] Received EndpointConfigurationResponse with transaction ID 6
[INFO] message =
[INFO] MDCX 10 local@127.0.0.1:2727 MGCP 1.0
[INFO] C:FFFF
[INFO] I:FFFF
[INFO]
[INFO] local Tx ID = 10 Remote Tx ID = 7 Sending the Command 2
[INFO] Received ModifyConnectionResponse with transaction ID 7
[INFO] Received EndpointConfigurationResponse with transaction ID 6
[INFO] Received ModifyConnectionResponse with transaction ID 7
[INFO] Received ModifyConnectionResponse with transaction ID 8
[INFO] Received NotificationRequestResponse with transaction ID 9
[INFO] Received DeleteConnection with transaction ID 16
[INFO] Sent DeleteConnectionResponse with transaction ID 16
[INFO] message =
[INFO] MDCX 13 local@127.0.0.1:2727 MGCP 1.0
[INFO] C:FFFF
[INFO] I:FFFF
[INFO]
[INFO] local Tx ID = 13 Remote Tx ID = 10 Sending the Command 2
[INFO] Received ModifyConnectionResponse with transaction ID 10
[INFO] message =
[INFO] RQNT 14 local@127.0.0.1:2727 MGCP 1.0
[INFO] X:FFFF
[INFO]
[INFO] local Tx ID = 14 Remote Tx ID = 11 Sending the Command 2
[INFO] Received NotificationRequestResponse with transaction ID 11
[INFO] message =
[INFO] RQNT 15 local@127.0.0.1:2727 MGCP 1.0
[INFO] X:FFFF
[INFO]
[INFO] local Tx ID = 15 Remote Tx ID = 12 Sending the Command 2
[INFO] Received NotificationRequestResponse with transaction ID 12
[INFO] message =
[INFO] NTFY 17 local@127.0.0.1:2727 MGCP 1.0
[INFO] X: FFFF
[INFO] O: */AllEvents
[INFO]
[INFO] local Tx ID = 17 Remote Tx ID = 13 Sending the Command 2
[INFO] Received NotifyResponse with transaction ID 13
[INFO] Received ModifyConnectionResponse with transaction ID 10
[INFO] Received NotificationRequestResponse with transaction ID 11
[INFO] Received EndpointConfiguration with transaction ID 24
[INFO] message =
[INFO] RQNT 18 local@127.0.0.1:2727 MGCP 1.0
[INFO] X:FFFF
[INFO]
[INFO] local Tx ID = 18 Remote Tx ID = 14 Sending the Command 2
[INFO] message =
[INFO] NTFY 19 local@127.0.0.1:2727 MGCP 1.0
[INFO] X: FFFF
[INFO] O: */AllEvents
[INFO]
[INFO] local Tx ID = 19 Remote Tx ID = 15 Sending the Command 2
[INFO] message =
[INFO] NTFY 20 local@127.0.0.1:2727 MGCP 1.0
[INFO] X: FFFF
[INFO] O: */AllEvents
[INFO]
[INFO] local Tx ID = 20 Remote Tx ID = 16 Sending the Command 2
[INFO] message =
[INFO] RSIP 21 local@127.0.0.1:2727 MGCP 1.0
[INFO] RM:disconnected
[INFO]
[INFO] local Tx ID = 21 Remote Tx ID = 17 Sending the Command 2
[INFO] Sent EndpointConfigurationResponse with transaction ID 24
[INFO] Received NotificationRequestResponse with transaction ID 14
[INFO] Received NotifyResponse with transaction ID 15
[INFO] Received NotifyResponse with transaction ID 16
[INFO] Received RestartInProgressResponse with transaction ID 17
[INFO] Test of messaging capability succeeded!

1 comment:

  1. Congratulations!

    FYI, this blog is now agreagated in the blog on the Mobicents.org home page.

    ReplyDelete