* #25268 Faster contact list loading
* #26286 conference creation/suppression working
diff --git a/src/com/savoirfairelinux/sflphone/model/Conference.java b/src/com/savoirfairelinux/sflphone/model/Conference.java
index f7578f7..26ddf63 100644
--- a/src/com/savoirfairelinux/sflphone/model/Conference.java
+++ b/src/com/savoirfairelinux/sflphone/model/Conference.java
@@ -1,31 +1,98 @@
 package com.savoirfairelinux.sflphone.model;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 
-public class Conference {
-    
-    private long id;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class Conference implements Parcelable {
+
+    private String id;
     private String state;
     private ArrayList<SipCall> participants;
-    
-    
-    public long getId() {
+
+    public interface state {
+        int ACTIVE_ATTACHED = 0;
+        int ACTIVE_DETACHED = 1;
+        int ACTIVE_ATTACHED_REC = 2;
+        int ACTIVE_DETACHED_REC = 3;
+        int HOLD = 4;
+        int HOLD_REC = 5;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+
+        out.writeString(id);
+        out.writeString(state);
+        out.writeTypedList(participants);
+
+    }
+
+    public static final Parcelable.Creator<Conference> CREATOR = new Parcelable.Creator<Conference>() {
+        public Conference createFromParcel(Parcel in) {
+            return new Conference(in);
+        }
+
+        public Conference[] newArray(int size) {
+            return new Conference[size];
+        }
+    };
+
+    private Conference(Parcel in) {
+
+        participants = new ArrayList<SipCall>();
+        id = in.readString();
+        state = in.readString();
+        in.readTypedList(participants, SipCall.CREATOR);
+
+    }
+
+    public Conference(String cID) {
+        id = cID;
+        participants = new ArrayList<SipCall>();
+    }
+
+    public String getId() {
         return id;
     }
-    public void setId(long id) {
+
+    public void setId(String id) {
         this.id = id;
     }
+
     public String getState() {
         return state;
     }
+
     public void setState(String state) {
         this.state = state;
     }
+
     public ArrayList<SipCall> getParticipants() {
         return participants;
     }
-    public void setParticipants(ArrayList<SipCall> participants) {
-        this.participants = participants;
+
+    public boolean contains(String callID) {
+        for (int i = 0 ; i < participants.size() ; ++i){
+            if(participants.get(i).getCallId().contentEquals(callID))
+                return true;
+        }
+        return false;
+    }
+
+    public SipCall getCall(String callID) {
+        for (int i = 0 ; i < participants.size() ; ++i){
+            if(participants.get(i).getCallId().contentEquals(callID))
+                return participants.get(i);
+        }
+        return null;
     }
 
 }