use success and failure callbacks for setLocalDescription instead of try-catch