All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ua.mobius.javax.media.mscontrol.networkconnection.ModifyConnectionResponseHandler Maven / Gradle / Ivy

The newest version!
/*
 * JBoss, Home of Professional Open Source
 * Copyright XXXX, Red Hat Middleware LLC, and individual contributors as indicated
 * by the @authors tag. All rights reserved.
 * See the copyright.txt in the distribution for a full listing
 * of individual contributors.
 * This copyrighted material is made available to anyone wishing to use,
 * modify, copy, or redistribute it subject to the terms and conditions
 * of the GNU General Public License, v. 2.0.
 * This program is distributed in the hope that it will be useful, but WITHOUT A
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE. See the GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License,
 * v. 2.0 along with this distribution; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 */

/*
 * 15/07/13 - Change notice:
 * This file has been modified by Mobius Software Ltd.
 * For more information please visit http://www.mobius.ua
 */

package ua.mobius.javax.media.mscontrol.networkconnection;

import jain.protocol.ip.mgcp.JainMgcpCommandEvent;
import jain.protocol.ip.mgcp.JainMgcpListener;
import jain.protocol.ip.mgcp.JainMgcpResponseEvent;
import jain.protocol.ip.mgcp.message.ModifyConnectionResponse;
import jain.protocol.ip.mgcp.message.parms.ReturnCode;
import ua.mobius.fsm.UnknownTransitionException;
import ua.mobius.javax.media.mscontrol.networkconnection.fsm.ConnectionTransition;

/**
 *
 * @author kulikov
 */
public class ModifyConnectionResponseHandler implements JainMgcpListener {
    private NetworkConnectionImpl connection;
    
    public ModifyConnectionResponseHandler(NetworkConnectionImpl connection) {
        this.connection = connection;
    }

    public void processMgcpCommandEvent(JainMgcpCommandEvent evt) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void processMgcpResponseEvent(JainMgcpResponseEvent evt) {
        ModifyConnectionResponse resp = (ModifyConnectionResponse) evt;
        switch (resp.getReturnCode().getValue()) {
            case ReturnCode.TRANSACTION_BEING_EXECUTED:
                return;
            case ReturnCode.TRANSACTION_EXECUTED_NORMALLY:
                try {
                    connection.sdpPortManager.setLocalDescriptor(resp.getLocalConnectionDescriptor().toString());
                    connection.fsm.signal(ConnectionTransition.OPENED);
                } catch (UnknownTransitionException e) {
                } catch (Exception e) {
                    e.printStackTrace();
                    connection.fsm.signalAsync(ConnectionTransition.FAILURE);
                }
                break;
            case ReturnCode.ENDPOINT_UNKNOWN :
                break;
            case ReturnCode.CONNECTION_WAS_DELETED:
                break;
            default:
                break;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy