/* * Jitsi, the OpenSource Java VoIP and Instant Messaging client. * * Copyright @ 2015 Atlassian Pty Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.java.sip.communicator.impl.protocol.jabber.extensions.rayo; import net.java.sip.communicator.impl.protocol.jabber.extensions.*; /** * Rayo 'reason' packet extension. * * @author Pawel Domas */ public class ReasonExtension extends AbstractPacketExtension { /** * The name of optional platform code attribute. */ public static final String PLATFORM_CODE_ATTRIBUTE = "platform-code"; /** * Indication that the call ended due to a normal hangup by the remote * party. */ public static final String HANGUP = "hangup"; /** * Indication that the call ended due to a normal hangup triggered by * a hangup command. */ public static final String HANGUP_COMMND = "hangup-command"; /** * Indication that the call ended due to a timeout in contacting the remote * party. */ public static final String TIMEOUT = "timeout"; /** * Indication that the call ended due to being rejected by the remote party * subsequent to being accepted. */ public static final String BUSY = "busy"; /** * Indication that the call ended due to being rejected by the remote party * before being accepted. */ public static final String REJECTED = "rejected"; /** * Indication that the call ended due to a system error. */ public static final String ERROR = "error"; /** * Creates an {@link ReasonExtension} instance for the specified * <tt>namespace</tt> and <tt>elementName</tt>. * * @param elementName the name of the element */ public ReasonExtension(String elementName) { super(null, elementName); } /** * Returns the value of platform code attribute. * @return the value of platform code attribute. */ public String getPlatformCode() { return getAttributeAsString(PLATFORM_CODE_ATTRIBUTE); } /** * Sets new value of platform code attribute. Pass <tt>null</tt> to remove. * @param code new value of platform code attribute. Pass <tt>null</tt> to * remove. */ public void setPlatformCode(String code) { setAttribute(PLATFORM_CODE_ATTRIBUTE, code); } }