// urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "2234923"}} // urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "2234923"}} module SipTorture_TestCases { import from LibSip_SIPTypesAndValues all; import from TestSystem all; type component SipSimuEx extends SipSimu { timer tc_defaultTimeout := 3.0; } testcase TC_BADASPEC_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BADBRANCH_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request: {requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := {fieldName := ACCEPT_E, acceptArgs := {{mediaRange := "application/sdp", acceptParam := omit}}}, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "badbranch.sadonfo23i420jv0as0derf3j3n"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.org", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "33242"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 3}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.1", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BADDATE_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "baddate.239423mnsadf3j23lj42--sedfnm234"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host5.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 1392934, method := "INVITE"}, date := {fieldName := DATE_E, sipDate := "Fri, 01 Jan 2010 16:00:00 EST"}, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "2234923"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BADDN_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BADINV01_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BADVERS_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "t.watson", password := omit}, hostPort := {host := "example.org", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/7.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "badvers.31417@c.example.com"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 1, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := "A. Bell", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "a.g.bell", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "qweoiqpe"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := "T. Watson", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "t.watson", password := omit}, hostPort := {host := "example.org", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "7.0", transport := "UDP"}, sentBy := {host := "c.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BCAST_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Response: {statusLine := {sipVersion := "SIP/2.0", statusCode := 200, reasonPhrase := "OK"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "bcast.0384840201234ksdfak3j2erwedfsASdf"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "host28.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 154}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 35, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "11141343"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := omit, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.edu", portField := omit}, urlParameters := omit, headers := omit}}, toParams := {{id := "tag", paramValue := "2229"}}}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.198", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK1324923"}}}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "255.255.255.255", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK1saber23"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(Response:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BEXT01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "bext01.0ha0isndaksdj"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "242etr"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 6}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := {fieldName := PROXY_REQUIRE_E, optionsTags := {"noProxiesSupportThis", "norDoAnyProxiesSupportThis"}}, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := {fieldName := REQUIRE_E, optionsTags := {"nothingSupportsThis", "nothingSupportsThisEither"}}, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j_user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TLS"}, sentBy := {host := "fold-and-staple.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_BIGCODE_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Response:{statusLine := {sipVersion := "SIP/2.0", statusCode := 4294967301, reasonPhrase := "better not break the receiver"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "bigcode.asdof3uj203asdnf3429uasdhfas3ehjasdfas9i"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "host105.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 353494, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "39ansfi3"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := omit, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.edu", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := {{id := "tag", paramValue := "902jndnke3"}}}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.105", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK2398ndaoe"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(Response:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_CLERR_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_CPARAM01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "cparam01.70710@saturn.example.com"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "+19725552222", password := omit}, hostPort := {host := "gw1.example.net", portField := omit}, urlParameters := omit, headers := omit}}, contactParams := {{id := "unknownparam", paramValue := omit}}}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 2, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "watson", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "DkfVgjkrtMwaerKKpe"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "watson", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "saturn.example.com", portField := 5060}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_CPARAM02_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "cparam02.70710@saturn.example.com"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "+19725552222", password := omit}, hostPort := {host := "gw1.example.net", portField := omit}, urlParameters := {{id := "unknownparam", paramValue := omit}}, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 3, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "watson", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "838293"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "watson", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "saturn.example.com", portField := 5060}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_DBLREQ() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_ESC01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "sips:user@example.com", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "esc01.239409asdfakjkn23onasd0-3234"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host5.example.net", portField := omit}, urlParameters := {{id := "lr", paramValue := omit}, {id := "name", paramValue := "value%41"}}, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 234234, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "I have spaces", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "938"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 87}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host5.example.net", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_ESC02_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := UNKNOWN_METHOD_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "registrar.example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "esc02.asdfnqwo34rq23i34jrjasdcnl23nrlknsdf"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "alias1", password := omit}, hostPort := {host := "host1.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}, {addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "alias3", password := omit}, hostPort := {host := "host3.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 29344, method := "RE%47IST%45R"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := "%Z%45", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "resource", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "f232jadfj23"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := "%Z%45", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "resource", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK209%fzsnel234"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := {{headerName := "C%6Fntact", headerValue := ""}}}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_ESCNULL_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "escnull.39203ndfvkjdasfkq3w4otrq0adsfdfnavd"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "%00", password := omit}, hostPort := {host := "host5.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}, {addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "%00%00", password := omit}, hostPort := {host := "host5.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 14398234, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "null-%00-null", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "839923423"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "null-%00-null", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host5.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } // NOTE: TC_ESCRURI_V is defined as a negative test // because "This INVITE is malformed, as the SIP Request-URI // contains escaped headers." // // However we could not find this restriction if RFC3261. // RFC3261 states: // The Request-URI MUST NOT contain unescaped spaces or control // characters and MUST NOT be enclosed in "<>". testcase TC_ESCRURI_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := {{id := "Route", paramValue := ""}}}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "escruri.23940-asdfhj-aje3br-234q098w-fawerh2q-h4n5"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host39923.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 149209342, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "341518"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 7}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host-of-the-hour.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_INSUF_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_INTMETH() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_INV2543_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_INVUT_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "invut.0ha0isndaksdjadsfij34n23d"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host5.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 40}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/unknownformat"}, cSeq := {fieldName := CSEQ_E, seqNumber := 235448, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "8392034"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j.user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "somehost.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_LONGREQ_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "longreq.onereallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongcallid"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "amazinglylongcallernameamazinglylongcallernameamazinglylongcallernameamazinglylongcallernameamazinglylongcallername", password := omit}, hostPort := {host := "host5.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 3882340, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "amazinglylongcallernameamazinglylongcallernameamazinglylongcallernameamazinglylongcallernameamazinglylongcallername", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "12982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982982424"}, {id := "unknownheaderparamnamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamename", paramValue := "unknowheaderparamvaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevaluevalue"}, {id := "unknownValuelessparamnameparamnameparamnameparamnameparamnameparamnameparamnameparamnameparamnameparamname", paramValue := omit}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := "I have a user name of extremeextremeextremeextremeextremeextremeextremeextremeextremeextreme proportion", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := 6000}, urlParameters := {{id := "unknownparam1", paramValue := "verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongvalue"}, {id := "longparamnamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamenamename", paramValue := "shortvalue"}, {id := "verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongParameterNameWithNoValue", paramValue := omit}}, headers := omit}}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip33.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip32.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip31.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip30.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip29.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip28.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip27.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip26.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip25.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip24.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip23.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip22.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip21.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip20.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip19.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip18.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip17.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip16.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip15.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip14.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip13.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip12.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip11.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip10.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip9.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip8.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip7.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip6.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip5.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip4.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip3.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip2.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "sip1.example.com", portField := omit}, viaParams := omit}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host.example.com", portField := omit}, viaParams := {{id := "received", paramValue := "192.0.2.5"}, {id := "branch", paramValue := "verylonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglongbranchvalue"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := {{headerName := "Unknown-LongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongLong-Name", headerValue := "unknown-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-value; unknown-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-parameter-name = unknown-longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong-parameter-value"}}}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_LTGTRURI_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_LWSDISP_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "lwsdisp.1234abcd@funky.example.com"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 60, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := "caller", addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "323"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "funky.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_LWSRURI_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_LWSSTART_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "lwsstart.dfknq234oi243099adsdfnawe3@example.com"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host1.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 1893884, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "8814"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 8}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host1.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw3923"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_MCL01_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_MISMATCH01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "mismatch01.dj0234sxdfl3"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "34525"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 6}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j.user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_MISMATCH02_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Request:{requestLine := {method := UNKNOWN_METHOD_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "mismatch02.dj0234sxdfl3"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 138}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag",paramValue := "34525"}}}, historyInfo :=omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 6}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter:= omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit,toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j.user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host.example.net", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_MPART01() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(MESSAGE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_MULTI01_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_NCL_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_NOREASON_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Response:{statusLine := {sipVersion := "SIP/2.0", statusCode := 100, reasonPhrase := ""}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "noreason.asndj203insdf99223ndf"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "host105.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 35, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "39ansfi3"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := omit, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.edu", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := {{id := "tag", paramValue := "902jndnke3"}}}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.105", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK2398ndaoe"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(Response:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_NOVELSC_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "soap.beep", userInfo := {userOrTelephoneSubscriber := "//192.0.2.103:3002", password := omit}, hostPort := omit, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit,authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "novelsc.asdfasser0q239nwsdfasdkl34"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType:= omit, cSeq := {fieldName := CSEQ_E, seqNumber := 3923423, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "384"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 3}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses:= omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField:= {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host9.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw39234"}}}}},warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_QUOTBAL_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_REGAUT01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := {fieldName := AUTHORIZATION_E, body := {otherResponse := {authScheme := "NoOneKnowsThisScheme", authParams := {{id := "opaque-data", paramValue := "here"}}}}}, callId := {fieldName := CALL_ID_E, callid := "regaut01.0ha0isndaksdj"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 9338, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j.user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "87321hj23128"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 8}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j.user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "192.0.2.253", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_REGBADCT_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_REGESCRT_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo := omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "regescrt.k345asrl3fdbv@192.0.2.1"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := {{id := "Route", paramValue := ""}}}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 14398234, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "8"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host5.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_SCALAR02_V() runs on SipSimuEx { log ("This testcase may produce an error verdict if the CoDec or the TTCN-3 compiler do not support big integers (>64 bits), such a verdict can be safely ingored since this is a robustness test"); tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo:= omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "scalar02.23o0pd9vanlq3wnrlnewofjas9ui32"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber:= "user", password := omit}, hostPort := {host := "host129.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := {{id := "expires", paramValue := "280297596632815"}}}}}}, contentDisposition := omit,contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 36893488147419103232, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := {fieldName := EXPIRES_E, deltaSec := "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec :={scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password :=omit}, hostPort := {host := "example.com", portField := omit}, urlParameters :=omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "239232jh3"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 300}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody :={{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host129.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK342sdfoi3"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { // It is acceptable to return a pass since it is not a strong requirement // to handle big integers in the codec. The main requirement is that the // CoDec must not crash setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_SCALARLG_V() runs on SipSimuEx { log ("This testcase may produce an error verdict if the CoDec or the TTCN-3 compiler do not support big integers (>64 bits), such a verdict can be safely ingored since this is a robustness test"); tc_defaultTimeout.start; alt { []sipPort.receive(Response:{statusLine := {sipVersion := "SIP/2.0", statusCode := 503, reasonPhrase := "Service Unavailable"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "scalarlg.noase0of0234hn2qofoaf0232aewf2394r"},callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 9292394834772304023312,method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "other", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "2easdjfejw"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := omit, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService :=omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := {fieldName := RETRY_AFTER_E, deltaSec := "949302838503028349304023988", comment := omit, retryParams := omit}, route := omit, securityClient := omit,securityServer := omit, securityVerify := omit, server := omit, serviceRoute :=omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host129.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKzzxdiwo34sw"}, {id := "received", paramValue := "192.0.2.129"}}}}}, warning := {fieldName := WARNING_E, warningValue := {{warnCode := 1812, warnAgent := {hostPort := {host := "overture", portField := omit}}, WarnText := "In Progress"}}}, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(Response:?) { setverdict(inconc); } []sipPort.receive { // It is acceptable to return a pass since it is not a strong requirement // to handle big integers in the codec. The main requirement is that the // CoDec must not crash setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_SDP01_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:{requestLine := {method := INVITE_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := {fieldName := ACCEPT_E, acceptArgs := {{mediaRange := "text/nobodyKnowsThis", acceptParam := omit}}}, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "sdp01.ndaksdj9342dasdd"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "host15.example.net", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 150}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "234"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 5}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j_user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.15", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_SEMIURI_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user;par=u@example.net", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := {fieldName := ACCEPT_E, acceptArgs := {{mediaRange := "application/sdp", acceptParam := omit}, {mediaRange := "application/pkcs7-mime", acceptParam := omit}, {mediaRange := "multipart/mixed", acceptParam := omit}, {mediaRange := "multipart/signed", acceptParam := omit}, {mediaRange := "message/sip", acceptParam := omit}, {mediaRange := "message/sipfrag", acceptParam := omit}}}, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "semiuri.0ha0isndaksdj"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 8, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.org", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "33242"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 3}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "j_user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.1", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_TEST_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_TRANSPORTS_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := {fieldName := ACCEPT_E, acceptArgs := {{mediaRange := "application/sdp", acceptParam := omit}}}, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "transports.kijh4akdnaqjkwendsasfdj"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 60, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "323"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "t1.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "SCTP"}, sentBy := {host := "t2.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKklasjdhf"}}}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TLS"}, sentBy := {host := "t3.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK2980unddj"}}}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UNKNOWN"}, sentBy := {host := "t4.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKasd0f3en"}}}, {sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "t5.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK0a9idfnee"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_TRWS_I() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:?) { setverdict(fail); } []sipPort.receive { setverdict(pass); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_UNKSCM_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "nobodyKnowsThisScheme", userInfo := {userOrTelephoneSubscriber := "totallyopaquecontent", password := omit}, hostPort := omit, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "unkscm.nasdfasser0q239nwsdfasdkl34"}, callInfo := omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 3923423, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit},hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "384"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 3}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp :=omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "TCP"}, sentBy := {host := "host9.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw39234"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List :=omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_UNKSM2_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(REGISTER_Request:{requestLine := {method := REGISTER_E, requestUri := {scheme := "sip", userInfo:= omit, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "unksm2.daksdj@hyphenated-host.example.com"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "name", userInfo := {userOrTelephoneSubscriber := "John_Smith", password := omit}, hostPort := omit, urlParameters := omit,headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 234902, method := "REGISTER"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "http", userInfo := {userOrTelephoneSubscriber := "//www.example.com", password := omit}, hostPort := omit, urlParameters := omit, headers := omit}}}, fromParams := {{id := "tag", paramValue := "3234233"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 70}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit,pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient :=omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit,supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "isbn", userInfo := {userOrTelephoneSubscriber := "2983792873", password := omit}, hostPort := omit, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via:= {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.21", portField := 5060}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(REGISTER_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_UNREASON_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(Response:{statusLine := {sipVersion := "SIP/2.0", statusCode := 200, reasonPhrase := "= 2**3 * 5**2 %d0%bd%d0%be %d1%81%d1%82%d0%be %d0%b4%d0%b5%d0%b2%d1%8f%d0%bd%d0%be%d1%81%d1%82%d0%be %d0%b4%d0%b5%d0%b2%d1%8f%d1%82%d1%8c - %d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b5"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "unreason.1234ksdfak3j2erwedfsASdf"}, callInfo := omit, contact := {fieldName := CONTACT_E, contactBody := {contactAddresses := {{addressField := {nameAddr := {displayName := omit, addrSpec := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "host198.example.com", portField := omit}, urlParameters := omit, headers := omit}}}, contactParams := omit}}}}, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len := 154}, contentType := {fieldName := CONTENT_TYPE_E, mediaType := "application/sdp"}, cSeq := {fieldName := CSEQ_E, seqNumber := 35, method := "INVITE"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "11141343"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := omit, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.edu", portField := omit}, urlParameters := omit, headers := omit}}, toParams := {{id := "tag", paramValue := "2229"}}}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "192.0.2.198", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bK1324923"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := ?, payload := ?}) { setverdict(pass); } []sipPort.receive(Response:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_WSINV() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(INVITE_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } testcase TC_ZEROMF_V() runs on SipSimuEx { tc_defaultTimeout.start; alt { []sipPort.receive(OPTIONS_Request:{requestLine := {method := OPTIONS_E, requestUri := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host :="example.com", portField := omit}, urlParameters := omit, headers := omit}, sipVersion := "SIP/2.0"}, msgHeader := {accept := omit, acceptContact := omit, acceptEncoding := omit, acceptLanguage := omit, alertInfo := omit, allow := omit, allowEvents := omit, authenticationInfo := omit, authorization := omit, callId := {fieldName := CALL_ID_E, callid := "zeromf.jfasdlfnm2o2l43r5u0asdfas"}, callInfo:= omit, contact := omit, contentDisposition := omit, contentEncoding := omit, contentLanguage := omit, contentLength := {fieldName := CONTENT_LENGTH_E, len :=0}, contentType := omit, cSeq := {fieldName := CSEQ_E, seqNumber := 39234321, method := "OPTIONS"}, date := omit, errorInfo := omit, event := omit, expires := omit, fromField := {fieldName := FROM_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "caller", password := omit}, hostPort := {host := "example.net", portField := omit}, urlParameters := omit, headers := omit}}, fromParams := {{id := "tag", paramValue := "3ghsd41"}}}, historyInfo := omit, inReplyTo := omit, maxForwards := {fieldName := MAX_FORWARDS_E, forwards := 0}, mimeVersion := omit, minExpires := omit, minSE := omit, organization := omit, pAccessNetworkInfo := omit, pAssertedID := omit, pAssertedService := omit, pAssociatedURI := omit, path := omit, pCalledPartyID := omit, pChargingFunctionAddresses := omit, pChargingVector := omit, pEarlyMedia := omit, pMediaAuthorization := omit, pPreferredID := omit, priority := omit, privacy := omit, proxyAuthenticate := omit, proxyAuthorization := omit, proxyRequire := omit, pVisitedNetworkID := omit, rAck := omit, rSeq := omit, reason := omit, recordRoute := omit, referredBy := omit, referTo := omit, replyTo := omit, require := omit, retryAfter := omit, route := omit, securityClient := omit, securityServer := omit, securityVerify := omit, server := omit, serviceRoute := omit, sessionExpires := omit, subject := omit, subscriptionState := omit, supported := omit, timestamp := omit, toField := {fieldName := TO_E, addressField := {addrSpecUnion := {scheme := "sip", userInfo := {userOrTelephoneSubscriber := "user", password := omit}, hostPort := {host := "example.com", portField := omit}, urlParameters := omit, headers := omit}}, toParams := omit}, unsupported := omit, userAgent := omit, via := {fieldName := VIA_E, viaBody := {{sentProtocol := {protocolName := "SIP", protocolVersion := "2.0", transport := "UDP"}, sentBy := {host := "host1.example.com", portField := omit}, viaParams := {{id := "branch", paramValue := "z9hG4bKkdjuw2349i"}}}}}, warning := omit, wwwAuthenticate := omit, undefinedHeader_List := omit}, messageBody := omit, payload := ?}) { setverdict(pass); } []sipPort.receive(OPTIONS_Request:?) { setverdict(inconc); } []sipPort.receive { setverdict(fail); } []tc_defaultTimeout.timeout { setverdict(fail); } } } control { execute (TC_BADASPEC_I()); execute (TC_BADBRANCH_V()); execute (TC_BADDATE_V()); execute (TC_BADDN_I()); execute (TC_BADINV01_I()); execute (TC_BADVERS_V()); execute (TC_BCAST_V()); execute (TC_BEXT01_V()); execute (TC_BIGCODE_V()); execute (TC_CLERR_I()); execute (TC_CPARAM01_V()); execute (TC_CPARAM02_V()); // TC_DBLREQ is disabled because splitting a message into multiple requests is not // a codec issue but a system adapter issue // execute (TC_DBLREQ()); execute (TC_ESC01_V()); execute (TC_ESC02_V()); execute (TC_ESCNULL_V()); execute (TC_ESCRURI_V()); execute (TC_INSUF_I()); execute (TC_INTMETH()); execute (TC_INV2543_I()); execute (TC_INVUT_V()); execute (TC_LONGREQ_V()); execute (TC_LTGTRURI_I()); execute (TC_LWSDISP_V()); execute (TC_LWSRURI_I()); execute (TC_LWSSTART_V()); execute (TC_MCL01_I()); execute (TC_MISMATCH01_V()); execute (TC_MISMATCH02_V()); execute (TC_MPART01()); execute (TC_MULTI01_I()); execute (TC_NCL_I()); execute (TC_NOREASON_V()); execute (TC_NOVELSC_V()); execute (TC_QUOTBAL_I()); execute (TC_REGAUT01_V()); execute (TC_REGBADCT_I()); execute (TC_REGESCRT_V()); execute (TC_SCALAR02_V()); execute (TC_SCALARLG_V()); execute (TC_SDP01_V()); execute (TC_SEMIURI_V()); execute (TC_TEST_I()); execute (TC_TRANSPORTS_V()); execute (TC_TRWS_I()); execute (TC_UNKSCM_V()); execute (TC_UNKSM2_V()); execute (TC_UNREASON_V()); execute (TC_WSINV()); execute (TC_ZEROMF_V()); } }