diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/Reason.java b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/Reason.java
index 3577a8671..c9f568613 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/Reason.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/Reason.java
@@ -115,7 +115,12 @@ public enum Reason
* A reason indicating that the party supports none of the offered
* transport methods.
*/
- UNSUPPORTED_TRANSPORTS("unsupported-transports");
+ UNSUPPORTED_TRANSPORTS("unsupported-transports"),
+
+ /**
+ * A reason created for unsupported reasons(not defined in this enum).
+ */
+ UNDEFINED("undefined");
/**
* The name of this direction.
@@ -153,19 +158,16 @@ public String toString()
* @param reasonValueStr the action String that we'd like to
* parse.
* @return a JingleAction value corresponding to the specified
- * jingleValueStr.
+ * jingleValueStr. Returns {@link #UNDEFINED} for invalid
+ * jingleValueStr values.
*
- * @throws IllegalArgumentException in case reasonValueStr is
- * not a valid media direction.
*/
public static Reason parseString(String reasonValueStr)
- throws IllegalArgumentException
{
for (Reason value : values())
if (value.toString().equals(reasonValueStr))
return value;
- throw new IllegalArgumentException(
- reasonValueStr + " is not a valid reason");
+ return UNDEFINED;
}
}