3.1.4.1 Reporting an error (reportError SERVICE Request)

To report an error, the SIP protocol client uses an XML request within the body of a SERVICE request. The following example is a reportError request.

SERVICE sip:user@contoso.com
SIP/2.0 Via: SIP/2.0/TLS 192.168.66.91:49541 Max-Forwards: 70
From: "Bob" <sip:user@contoso.com >;
    tag=e3c95998f5;
    epid=35cd761967
To: < sip:user@contoso.com > 
Call-ID: 6be494735907459185141bfc3fe33d64
CSeq: 1 SERVICE
Contact: <sip:user@contoso.com;opaque=user:epid:jhZCdnYXDViQYD-FMOGemgAA;gruu>
User-Agent: 
    RTC/1.3.5315 (Messenger 5.1.0530)
Proxy-Authorization:
    Kerberos qop="auth",
    realm="SIP Communications Service",
    opaque="55EAEBC7",
    crand="86310220",
    cnum="12",
    targetname="contoso.com",      response="602306092a864886f71201020201011100ffffffffacf4c0cc079745a3a3ad52e7fdb50f6a"
Content-Type: application/msrtc-reporterror+xml
Content-Length: …
 
<reportError xmlns="http://schemas.microsoft.com/2006/09/sip/error-reporting">
    <error toUri="sip:user@contoso.com"  
           callId="5ec5a21ab8bb4960b98de162f45cd204"
           fromTag="823bb11e1a"  
           toTag="4F230FC472C24AD1255468D8C334D8FE"
           contentType="application/sdp;call-type=audiovideo"
           responseCode="408"
           requestType="INVITE">
        <diagHeader>10000;reason="Gateway returned a SIP failure code"
        </diagHeader>
        <progressReports>
            <progressReport>
                <diagHeader>12006;reason="Trying next hop";appName="OutboundRouting" 
                </diagHeader>
            </progressReport>
        </progressReports>
    </error>
</reportError>

The SERVICE method with XML body is used to carry the report error request between the SIP protocol client and the SIP server. The Content-Type header of the report error document is "application/msrtc-reporterror+xml". The XML body of the request identifies the error report. The schema of an application/msrtc-reporterror+xml error report document is specified in section 6.