/* * Copyright (C) 2005 Luca Veltri - University of Parma - Italy * * This file is part of MjSip (http://www.mjsip.org) * * MjSip is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * MjSip is distributed in the hope that it will be useful, * but WITHOUT ANY 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 * along with MjSip; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Author(s): * Luca Veltri (luca.veltri@unipr.it) */ package org.zoolu.sip.dialog; import org.zoolu.sip.address.*; import org.zoolu.sip.message.*; import org.zoolu.sip.header.*; import org.zoolu.sip.provider.*; import org.zoolu.tools.Log; import org.zoolu.tools.LogLevel; import org.zoolu.tools.AssertException; import java.util.Vector; /** Class DialogInfo maintains a complete information status of a generic SIP dialog. * It has the following attributes: * <ul> * <li>sip-provider</li> * <li>call-id</li> * <li>local and remote URLs</li> * <li>local and remote contact URLs</li> * <li>local and remote cseqs</li> * <li>local and remote tags</li> * <li>dialog-id</li> * <li>route set</li> * </ul> */ public class DialogInfo { // ************************ Private attributes ************************ /** Local name */ NameAddress local_name; /** Remote name */ NameAddress remote_name; /** Local contact url */ NameAddress local_contact; /** Remote contact url */ NameAddress remote_contact; /** Call-id */ String call_id; /** Local tag */ String local_tag; /** Remote tag */ String remote_tag; /** Sets the remote tag */ /** Local CSeq number */ long local_cseq; /** Remote CSeq number */ long remote_cseq; /** Route set (Vector of NameAddresses) */ Vector route; // **************************** Costructors *************************** /** Creates a new empty DialogInfo */ public DialogInfo() { this.local_name=null; this.remote_name=null; this.local_contact=null; this.remote_contact=null; this.call_id=null; this.local_tag=null; this.remote_tag=null; this.local_cseq=-1; this.remote_cseq=-1; this.route=null; } // ************************** Public methods ************************** /** Sets the local name */ public void setLocalName(NameAddress url) { local_name=url; } /** Gets the local name */ public NameAddress getLocalName() { return local_name; } /** Sets the remote name */ public void setRemoteName(NameAddress url) { remote_name=url; } /** Gets the remote name */ public NameAddress getRemoteName() { return remote_name; } /** Sets the local contact url */ public void setLocalContact(NameAddress name_address) { local_contact=name_address; } /** Gets the local contact url */ public NameAddress getLocalContact() { return local_contact; } /** Sets the remote contact url */ public void setRemoteContact(NameAddress name_address) { remote_contact=name_address; } /** Gets the remote contact url */ public NameAddress getRemoteContact() { return remote_contact; } /** Sets the call-id */ public void setCallID(String id) { call_id=id; } /** Gets the call-id */ public String getCallID() { return call_id; } /** Sets the local tag */ public void setLocalTag(String tag) { local_tag=tag; } /** Gets the local tag */ public String getLocalTag() { return local_tag; } public void setRemoteTag(String tag) { remote_tag=tag; } /** Gets the remote tag */ public String getRemoteTag() { return remote_tag; } /** Sets the local CSeq number */ public void setLocalCSeq(long cseq) { local_cseq=cseq; } /** Increments the local CSeq number */ public void incLocalCSeq() { local_cseq++; } /** Gets the local CSeq number */ public long getLocalCSeq() { return local_cseq; } /** Sets the remote CSeq number */ public void setRemoteCSeq(long cseq) { remote_cseq=cseq; } /** Increments the remote CSeq number */ public void incRemoteCSeq() { remote_cseq++; } /** Gets the remote CSeq number */ public long getRemoteCSeq() { return remote_cseq; } /** Sets the route set */ public void setRoute(Vector r) { route=r; } /** Gets the route set */ public Vector getRoute() { return route; } }