code: function(peerConnection, success, failure) {
      var generateErrorCallback,
          setLocalDescription;
  
      generateErrorCallback = function(message, prefix) {
        return function(errorReason) {
          OT.error(message);
          OT.error(errorReason);
  
          if (failure) failure(message, errorReason, prefix);
        };
      };
  
      setLocalDescription = function(offer) {
        offer.sdp = SDPHelpers.removeComfortNoise(offer.sdp);
        offer.sdp = SDPHelpers.removeVideoCodec(offer.sdp, 'ulpfec');
        offer.sdp = SDPHelpers.removeVideoCodec(offer.sdp, 'red');
  
        peerConnection.setLocalDescription(
          offer,
  
          // Success
          function() {
            success(offer);
          },
  
          // Failure
          generateErrorCallback('Error while setting LocalDescription', 'SetLocalDescription')
        );
      };
  
      peerConnection.createOffer(
        // Success
        setLocalDescription,
  
        // Failure
        generateErrorCallback('Error while creating Offer', 'CreateOffer'),
  
        // Constraints
        {}
      );
    }
docs: Attempt to completely process a subscribe message. This will: * create an Offer * set the new offer as the location description  If there are no issues, the +success+ callback will be executed on completion. Errors during any step will result in the +failure+ callback being executed.