void dump(String indent) {
		log.trace(indent + "***** CALL DUMP *****");
		log.trace(indent + "TSCall: " + this);
		log.trace(indent + "TSCall ID: " + this.callID);
		log.trace(indent + "TSCall UCID: " + this.ucid);
		log.trace(indent + "TSCall non-Call ID: " + this.nonCallID);
		log.trace(indent + "TSCall state: " + this.state);
		log.trace(indent + "TSCall needSnapshot: " + this.needSnapshot);
		log.trace(indent + "TSCall age: " + this.my_age);
		log.trace(indent + "TSCall connections: ");
		synchronized (this.connections) {
			for (int i = 0; i < this.connections.size(); i++) {
				TSConnection conn = (TSConnection) this.connections
						.elementAt(i);
				conn.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall trunks: ");
		synchronized (this.trkVector) {
			for (int i = 0; i < this.trkVector.size(); i++) {
				TSTrunk trk = (TSTrunk) this.trkVector.elementAt(i);
				trk.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall handOffCall: " + this.handOffCall);
		log.trace(indent + "TSCall stale connections: ");
		synchronized (this.staleConnections) {
			for (int i = 0; i < this.staleConnections.size(); i++) {
				TSConnection conn = (TSConnection) this.staleConnections
						.elementAt(i);
				conn.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall trunks: ");
		log.trace(indent + "TSCall Monitor Threads: ");
		synchronized (this.monitorThreads) {
			for (int i = 0; i < this.monitorThreads.size(); i++) {
				TsapiCallMonitor oThreads = (TsapiCallMonitor) this.monitorThreads
						.elementAt(i);
				oThreads.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall Device Monitor Threads: ");
		synchronized (this.deviceObsVector) {
			for (int i = 0; i < this.deviceObsVector.size(); i++) {
				TsapiCallMonitor oThreads = ((DeviceObs) this.deviceObsVector
						.elementAt(i)).callback;
				oThreads.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall Stale Monitor Threads: ");
		synchronized (this.staleObsVector) {
			for (int i = 0; i < this.staleObsVector.size(); i++) {
				TsapiCallMonitor oThreads = (TsapiCallMonitor) this.staleObsVector
						.elementAt(i);
				oThreads.dump(indent + " ");
			}
		}
		log.trace(indent + "TSCall CallbackAndType Monitor Threads: ");
		synchronized (this.callbackAndTypeVector) {
			CallbackAndType cbAndType = null;

			for (int i = 0; i < this.callbackAndTypeVector.size(); i++) {
				cbAndType = (CallbackAndType) this.callbackAndTypeVector
						.elementAt(i);
				TsapiCallMonitor oThreads = cbAndType.callback;
				oThreads.dump(indent + " ");
			}

		}

		int i = 0;
		for (String str : LucentUserToUserInfo.print(
				TsapiPromoter.demoteUserToUserInfo(getUUI()), "CallUUI", indent
						+ " ")) {
			if (i == 0) {
				log.trace(indent + "TSCALL UUI" + str);
			} else {
				log.trace(str);
			}
			i++;
		}
		log.trace(indent + "***** CALL DUMP END *****");
	}