
FAIL sender.getParameters() should return different transaction IDs for each call assert_equals: Expect dictionary.rtcp to be plain object expected "object" but got "undefined"
FAIL sender.setParameters() with transaction ID different from last getParameters() should reject with InvalidModificationError assert_equals: Expect dictionary.rtcp to be plain object expected "object" but got "undefined"
FAIL sender.setParameters() with transaction ID unset should reject with TypeError assert_equals: Expect dictionary.rtcp to be plain object expected "object" but got "undefined"
FAIL setParameters() twice with the same parameters should reject with InvalidStateError assert_equals: Expect dictionary.rtcp to be plain object expected "object" but got "undefined"
FAIL setParameters() with parameters older than last getParameters() should reject with InvalidModificationError assert_equals: Expect dictionary.rtcp to be plain object expected "object" but got "undefined"

