public void receiveMsrpReport(String txId,Hashtable<String,String> headers) throws FileAccessException, NetworkException {
  if (sLogger.isActivated()) {
    sLogger.info("REPORT request received (transaction=" + txId + ")");
  }
  String msrpMsgId=headers.get(MsrpConstants.HEADER_MESSAGE_ID);
  String cpimMsgId=null;
  String originalTransactionId=null;
  TypeMsrpChunk typeMsrpChunk=TypeMsrpChunk.Unknown;
  MsrpTransactionInfo msrpTransactionInfo=getMsrpTransactionInfoByMessageId(msrpMsgId);
  if (msrpTransactionInfo != null) {
    typeMsrpChunk=msrpTransactionInfo.mTypeMsrpChunk;
    originalTransactionId=msrpTransactionInfo.mTransactionId;
    cpimMsgId=msrpTransactionInfo.mCpimMsgId;
    if (sLogger.isActivated()) {
      sLogger.debug("REPORT request details; originalTransactionId=" + originalTransactionId + "; cpimMsgId="+ cpimMsgId+ "; typeMsrpChunk="+ typeMsrpChunk);
    }
  }
  boolean failureReportNeeded=true;
  String failureHeader=headers.get(MsrpConstants.HEADER_FAILURE_REPORT);
  if ((failureHeader != null) && failureHeader.equalsIgnoreCase("no")) {
    failureReportNeeded=false;
  }
  if (failureReportNeeded) {
    sendMsrpResponse(MsrpConstants.STATUS_200_OK,txId,headers);
  }
  int statusCode=ReportTransaction.parseStatusCode(headers);
  if (statusCode != 200) {
    mMsrpEventListener.msrpTransferError(cpimMsgId,"error report " + statusCode,typeMsrpChunk);
  }
  if (mReportTransaction != null) {
    mReportTransaction.notifyReport(statusCode,headers);
  }
  removeMsrpTransactionInfo(originalTransactionId);
}

public void receiveMsrpReport ( String txId , Hashtable < String , String > headers ) throws FileAccessException , NetworkException { if ( sLogger . isActivated ( ) ) { sLogger . info ( "REPORT request received (transaction=" + txId + ")" ) ; } String msrpMsgId = headers . get ( MsrpConstants . HEADER_MESSAGE_ID ) ; String cpimMsgId = null ; String originalTransactionId = null ; TypeMsrpChunk typeMsrpChunk = TypeMsrpChunk . Unknown ; MsrpTransactionInfo msrpTransactionInfo = getMsrpTransactionInfoByMessageId ( msrpMsgId ) ; if ( msrpTransactionInfo != null ) { typeMsrpChunk = msrpTransactionInfo . mTypeMsrpChunk ; originalTransactionId = msrpTransactionInfo . mTransactionId ; cpimMsgId = msrpTransactionInfo . mCpimMsgId ; if ( sLogger . isActivated ( ) ) { sLogger . debug ( "REPORT request details; originalTransactionId=" + originalTransactionId + "; cpimMsgId=" + cpimMsgId + "; typeMsrpChunk=" + typeMsrpChunk ) ; } } boolean failureReportNeeded = true ; String failureHeader = headers . get ( MsrpConstants . HEADER_FAILURE_REPORT ) ; if ( ( failureHeader != null ) && failureHeader . equalsIgnoreCase ( "no" ) ) { failureReportNeeded = false ; } if ( failureReportNeeded ) { sendMsrpResponse ( MsrpConstants . STATUS_200_OK , txId , headers ) ; } int statusCode = ReportTransaction . parseStatusCode ( headers ) ; if ( statusCode != 200 ) { mMsrpEventListener . msrpTransferError ( cpimMsgId , "error report " + statusCode , typeMsrpChunk ) ; } if ( mReportTransaction != null ) { mReportTransaction . notifyReport ( statusCode , headers ) ; } removeMsrpTransactionInfo ( originalTransactionId ) ; }
receive msrp report request
