6.1 Office Communications Server 2007 Schema
This section follows the product behavior described in footnote <307>.
-
<?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:tns="ms-rtcp-metrics" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="ms-rtcp-metrics" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- RTCP METRICS STATEMENT --> <xs:element name="VQReportEvent" type="tns:VQReportEventType" /> <!-- RTCP REPORT TYPE --> <xs:complexType name="VQReportEventType"> <xs:choice> <xs:element name="VQSessionReport" type="tns:SessionReportType" maxOccurs="unbounded" /> <xs:element name="VQSessionIntervalReport" type="tns:SessionReportType" maxOccurs="unbounded" /> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded" /> </xs:choice> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- VQ SESSION REPORT TYPE --> <xs:complexType name="SessionReportType"> <xs:sequence> <xs:element name="LocationProfile" type="xs:string" minOccurs="0" /> <xs:element name="Pool" type="xs:string" minOccurs="0" /> <xs:element name="Endpoint" type="tns:EndpointType" /> <xs:element name="DialogInfo" type="tns:DialogInfoType" /> <xs:element name="MediaLine" type="tns:MediaLineType" maxOccurs="unbounded" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="SessionId" type="xs:string" use="required" /> <xs:anyAttribute namespace="##other" processContents="lax" /> <!-- SessionId = DialogID --> </xs:complexType> <!-- DIALOG INFO TYPE --> <xs:complexType name="DialogInfoType"> <xs:sequence> <xs:element name="FromURI" type="xs:anyURI" /> <xs:element name="ToURI" type="xs:anyURI" /> <xs:element name="Caller" type="xs:boolean" /> <xs:element name="LocalContactURI" type="xs:anyURI" /> <xs:element name="RemoteContactURI" type="xs:anyURI" /> <xs:element name="LocalUserAgent" type="xs:string" /> <xs:element name="RemoteUserAgent" type="xs:string" /> <!-- PAI = P-Asserted-Identity --> <xs:element name="LocalPAI" type="xs:anyURI" minOccurs="0" /> <xs:element name="RemotePAI" type="xs:anyURI" minOccurs="0" /> <xs:element name="ConfURI" type="xs:anyURI" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="CallId" type="xs:string" use="required" /> <xs:attribute name="FromTag" type="xs:string" /> <xs:attribute name="ToTag" type="xs:string" /> <xs:attribute name="Start" type="xs:dateTime" use="required" /> <xs:attribute name="End" type="xs:dateTime" use="required" /> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- ENDPOINT TYPE --> <xs:complexType name="EndpointType"> <xs:sequence> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="Name" type="xs:string" use="required" /> <xs:attribute name="ProfileId" type="xs:string" /> <xs:anyAttribute namespace="##other" processContents="lax" /> <!-- Name = Computer Name --> <!-- ProfileId = Endpoint Report GUID - Note: this attribute is optional --> </xs:complexType> <!-- MEDIA LINE REPORT TYPE --> <xs:complexType name="MediaLineType"> <xs:sequence> <xs:element name="Description" type="tns:MediaLineDescriptionType" /> <xs:element name="InboundStream" type="tns:StreamType" minOccurs="0" /> <xs:element name="OutboundStream" type="tns:StreamType" minOccurs="0" /> <xs:element name="LocalConversationalMOS" type="xs:float" minOccurs="0" /> <xs:element name="RemoteConversationalMOS" type="xs:float" minOccurs="0" /> <xs:element name="LocalConversationalMOSAlg" type="xs:string" minOccurs="0" /> <xs:element name="RemoteConversationalMOSAlg" type="xs:string" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <!-- Label values : "main-audio", "main-video","panoramic-video", "data", --> <!-- Additional Label values in v3 : "main-video1", "main-video2", "main-video3","main-video4","main-video5", "main-video6",--> <xs:attribute name="Label" type="xs:string" use="required" /> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- MEDIA LINE TYPE --> <xs:complexType name="MediaLineDescriptionType"> <xs:sequence> <xs:element name="Connectivity" type="tns:ConnectivityType" minOccurs="0" /> <!-- Security values : "None", "SRTP","V1" --> <xs:element name="Security" type="xs:string" minOccurs="0" /> <xs:element name="Offerer" type="xs:boolean" minOccurs="0" /> <xs:element name="Transport" type="tns:TransportType" minOccurs="0" /> <xs:element name="LocalAddr" type="tns:AddrType" /> <xs:element name="RemoteAddr" type="tns:AddrType" /> <!-- Microphone or USB Phone or Camera device name --> <xs:element name="CaptureDev" type="tns:DeviceType" minOccurs="0" /> <!-- Speakers or USB Phone device name --> <xs:element name="RenderDev" type="tns:DeviceType" minOccurs="0" /> <xs:element name="ReflexiveLocalIPAddress" type="tns:AddrType"/> <xs:element name="MidCallReport" type="xs:boolean" default="false" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- Device TYPE --> <xs:complexType name="DeviceType"> <xs:sequence> <xs:element name="Name" type="xs:string" minOccurs="0" /> <xs:element name="Driver" type="xs:string" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- STREAM DIRECTIONAL METRICS TYPE --> <xs:complexType name="StreamType"> <xs:sequence> <xs:element name="Network" type="tns:NetworkMetricsType" minOccurs="0" /> <xs:element name="Payload" type="tns:PayloadMetricsType" /> <xs:element name="QualityEstimates" type="tns:QualityEstimatesType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="Id" type="xs:unsignedInt" use="required" /> <xs:attribute name="Start" type="xs:dateTime" /> <xs:attribute name="End" type="xs:dateTime" /> <xs:anyAttribute namespace="##other" processContents="lax" /> <!-- Id = SSRC --> </xs:complexType> <!-- NETWORK METRICS --> <xs:complexType name="NetworkMetricsType"> <xs:sequence> <!-- DiffServ CodePoint --> <xs:element name="DSCP" type="xs:byte" minOccurs="0" /> <!-- VLAN is described via 12 bits --> <xs:element name="VLAN" type="xs:int" minOccurs="0" /> <xs:element name="Jitter" type="tns:JitterType" minOccurs="0" /> <xs:element name="PacketLoss" type="tns:PacketLossType" minOccurs="0" /> <xs:element name="BurstGapLoss" type="tns:BurstGapLossType" minOccurs="0" /> <xs:element name="Delay" type="tns:DelayType" minOccurs="0" /> <xs:element name="Utilization" type="tns:NetworkUtilizationType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- ICE TYPE --> <xs:complexType name="ConnectivityType"> <xs:sequence> <xs:element name="Ice" type="tns:IceStatusType" minOccurs="0" /> <xs:element name="IceWarningFlags" type="xs:unsignedInt" minOccurs="0" /> <xs:element name="RelayAddress" type="tns:AddrType" minOccurs="0" maxOccurs="unbounded" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- ICE CONECTIVITY TYPE --> <xs:simpleType name="IceStatusType"> <xs:restriction base="xs:string"> <xs:enumeration value="FAILED" /> <xs:enumeration value="DIRECT" /> <xs:enumeration value="RELAY" /> <xs:enumeration value="HTTP-PROXY" /> </xs:restriction> </xs:simpleType> <!-- NETWORK UTILIZATION TYPE --> <xs:complexType name="NetworkUtilizationType"> <xs:sequence> <xs:element name="Packets" type="xs:int" minOccurs="0" /> <xs:element name="BandwidthEst" type="xs:int" minOccurs="0" /> <xs:element name="BandwidthAlloc" type="xs:int" minOccurs="0" /> <xs:element name="BandwidthEstMin" type="xs:int" minOccurs="0"/> <xs:element name="BandwidthEstMax" type="xs:int" minOccurs="0"/> <xs:element name="BandwidthEstStdDev" type="xs:int" minOccurs="0"/> <xs:element name="BandwidthEstAvge" type="xs:int" minOccurs="0"/> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- PAYLOAD METRICS TYPE --> <xs:complexType name="PayloadMetricsType"> <xs:choice> <xs:element name="Audio" type="tns:AudioPayloadMetricsType" /> <xs:element name="Video" type="tns:VideoPayloadMetricsType" /> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded" /> </xs:choice> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- AUDIO METRICS TYPE --> <xs:complexType name="AudioPayloadMetricsType"> <xs:sequence> <xs:element name="PayloadType" type="xs:int" minOccurs="0" /> <xs:element name="PayloadDescription" type="xs:string" minOccurs="0" /> <xs:element name="SampleRate" type="xs:int" minOccurs="0" /> <xs:element name="FrameDuration" type="xs:int" minOccurs="0" /> <xs:element name="FrameOctets" type="xs:int" minOccurs="0" /> <xs:element name="FramesPerPacket" type="xs:int" minOccurs="0" /> <xs:element name="PacketsPerSecond" type="xs:int" minOccurs="0" /> <xs:element name="FMTP" type="xs:string" minOccurs="0" /> <xs:element name="Signal" type="tns:SignalType" minOccurs="0" /> <xs:element name="JitterBuffer" type="tns:JitterBufferType" minOccurs="0" /> <xs:element name="SilenceSupress" type="tns:ratioConcealSuppressionStateType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <!-- VIDEO METRICS TYPE --> <xs:complexType name="VideoPayloadMetricsType"> <xs:sequence> <xs:element name="PayloadType" type="xs:int" minOccurs="0" /> <xs:element name="PayloadDescription" type="xs:string" minOccurs="0" /> <xs:element name="Resolution" type="xs:string" minOccurs="0" /> <xs:element name="VideoBitRateAvg" type="xs:int" minOccurs="0" /> <xs:element name="VideoBitRateMax" type="xs:int" minOccurs="0" /> <xs:element name="VideoFrameRateAvg" type="xs:float" minOccurs="0" /> <xs:element name="VideoPacketLossRate" type="xs:float" minOccurs="0" /> <xs:element name="VideoFrameLossRate" type="xs:float" minOccurs="0" /> <xs:element name="VideoFrameEncodingTime" type="xs:float" minOccurs="0" /> <xs:element name="VideoFrameDecodingTime" type="xs:float" minOccurs="0" /> <xs:element name="VideoFEC" type="xs:boolean" minOccurs="0" /> <xs:element name="FrozenVideoFreq" type="xs:float" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> <!-- PACKET LOSS CONCEALMENT TYPE --> <xs:simpleType name="PacketLossConcealmentType"> <xs:restriction base="xs:string"> <xs:enumeration value="UNSPECIFIED" /> <xs:enumeration value="DISABLED" /> <xs:enumeration value="ENHANCED" /> <xs:enumeration value="STANDARD" /> </xs:restriction> </xs:simpleType> <!-- SILENCE SUPPRESSION STATE TYPE --> <xs:simpleType name="SilenceSuppressionStateType"> <xs:restriction base="xs:string"> <xs:enumeration value="ON" /> <xs:enumeration value="OFF" /> </xs:restriction> </xs:simpleType> <!-- ADDR TYPE --> <xs:complexType name="AddrType"> <xs:sequence> <xs:element name="IPAddr" type="xs:string" /> <xs:element name="Port" type="xs:unsignedShort" minOccurs="0" /> <xs:element name="Inside" type="xs:boolean" minOccurs="0" /> <xs:element name="SubnetMask" type="xs:string" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- JITTER BUFFER TYPE --> <xs:complexType name="JitterBufferType"> <xs:sequence> <xs:element name="Type" type="tns:JitterBufferAdaptiveType" minOccurs="0" /> <xs:element name="Rate" type="xs:int" minOccurs="0" /> <xs:element name="Nominal" type="xs:int" minOccurs="0" /> <xs:element name="Max" type="xs:int" minOccurs="0" /> <xs:element name="AbsMax" type="xs:int" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- JITTER BUFFER ADAPTIVE TYPE --> <xs:simpleType name="JitterBufferAdaptiveType"> <xs:restriction base="xs:string"> <xs:enumeration value="UNKNOWN" /> <xs:enumeration value="RESERVED" /> <xs:enumeration value="NON-ADAPTIVE" /> <xs:enumeration value="ADAPTIVE" /> </xs:restriction> </xs:simpleType> <!-- PACKET LOSS TYPE --> <xs:complexType name="PacketLossType"> <xs:sequence> <xs:element name="LossRate" type="xs:float" minOccurs="0" /> <xs:element name="LossRateMax" type="xs:float" minOccurs="0" /> <xs:element name="DiscardRate" type="xs:float" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- BURST GAP LOSS TYPE --> <xs:complexType name="BurstGapLossType"> <xs:sequence> <xs:element name="BurstDensity" type="xs:float" minOccurs="0" /> <xs:element name="BurstDuration" type="xs:int" minOccurs="0" /> <xs:element name="GapDensity" type="xs:float" minOccurs="0" /> <xs:element name="GapDuration" type="xs:int" minOccurs="0" /> <xs:element name="MinGapThreshold" type="xs:int" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- DELAY TYPE --> <xs:complexType name="DelayType"> <xs:sequence> <xs:element name="RoundTrip" type="xs:int" minOccurs="0" /> <xs:element name="RoundTripMax" type="xs:int" minOccurs="0" /> <xs:element name="EndSystem" type="xs:int" minOccurs="0" /> <xs:element name="OneWay" type="xs:int" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- JITTER TYPE --> <xs:complexType name="JitterType"> <xs:sequence> <xs:element name="InterArrival" type="xs:int" minOccurs="0" /> <xs:element name="InterArrivalMax" type="xs:int" minOccurs="0" /> <xs:element name="MeanAbs" type="xs:int" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- SIGNAL TYPE --> <xs:complexType name="SignalType"> <xs:sequence> <xs:element name="SignalLevel" type="xs:int" minOccurs="0" /> <xs:element name="NoiseLevel" type="xs:int" minOccurs="0" /> <xs:element name="EchoReturn" type="xs:int" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- QUALITY ESTIMATES TYPE --> <xs:complexType name="QualityEstimatesType"> <xs:choice> <xs:element name="Audio" type="tns:AudioQualityEstimatesType" /> <xs:element name="Video" type="tns:VideoQualityEstimatesType" /> <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded" /> </xs:choice> </xs:complexType> <!-- AUDIO QUALITY ESTIMATES TYPE --> <xs:complexType name="AudioQualityEstimatesType"> <xs:sequence> <xs:element name="RecvListenMOS" type="xs:float" minOccurs="0" /> <xs:element name="RecvListenMOSMin" type="xs:float" minOccurs="0" /> <xs:element name="RecvListenMOSAlg" type="xs:string" minOccurs="0" /> <xs:element name="SendListenMOS" type="xs:float" minOccurs="0" /> <xs:element name="SendListenMOSMin" type="xs:float" minOccurs="0" /> <xs:element name="SendListenMOSAlg" type="xs:string" minOccurs="0" /> <xs:element name="NetworkMOS" type="tns:NetworkAudioMOSType" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- NETWORK AUDIO MOS FACTOR TYPE --> <xs:complexType name="NetworkAudioMOSType"> <xs:sequence> <xs:element name="OverallAvg" type="xs:float" minOccurs="0" /> <xs:element name="OverallMin" type="xs:float" minOccurs="0" /> <xs:element name="DegradationAvg" type="xs:float" minOccurs="0" /> <xs:element name="DegradationMax" type="xs:float" minOccurs="0" /> <xs:element name="DegradationJitterAvg" type="xs:float" minOccurs="0" /> <xs:element name="DegradationPacketLossAvg" type="xs:float" minOccurs="0" /> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- VIDEO QUALITY ESTIMATES TYPE --> <xs:complexType name="VideoQualityEstimatesType"> <xs:sequence> <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> <xs:anyAttribute namespace="##other" processContents="lax" /> </xs:complexType> <!-- TRANSPORT TYPE --> <xs:simpleType name="TransportType"> <xs:restriction base="xs:string"> <xs:enumeration value="UDP" /> <xs:enumeration value="TCP" /> </xs:restriction> </xs:simpleType> </xs:schema>