diff --git a/src/com/android/incallui/CallButtonFragment.java b/src/com/android/incallui/CallButtonFragment.java
index 4c74f4a..8b90c5d 100644
--- a/src/com/android/incallui/CallButtonFragment.java
+++ b/src/com/android/incallui/CallButtonFragment.java
@@ -23,6 +23,7 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Button;
 import android.widget.CompoundButton;
 import android.widget.ToggleButton;
 
@@ -50,6 +51,15 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         final View parent = inflater.inflate(R.layout.call_button_fragment, container, false);
+
+        final View endCallButton = parent.findViewById(R.id.endButton);
+        endCallButton.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                getPresenter().endCallClicked();
+            }
+        });
+
         final ToggleButton toggleButton = (ToggleButton) parent.findViewById(R.id.muteButton);
         toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
diff --git a/src/com/android/incallui/CallButtonPresenter.java b/src/com/android/incallui/CallButtonPresenter.java
index db727f3..122e48d 100644
--- a/src/com/android/incallui/CallButtonPresenter.java
+++ b/src/com/android/incallui/CallButtonPresenter.java
@@ -40,6 +40,11 @@
         getUi().setVisible();
     }
 
+    public void endCallClicked() {
+        // TODO(klp): hook up call id.
+        CallCommandClient.getInstance().disconnectCall(1);
+    }
+
     public void muteClicked(boolean checked) {
         CallCommandClient.getInstance().mute(checked);
         getUi().setMute(checked);
diff --git a/src/com/android/incallui/CallCommandClient.java b/src/com/android/incallui/CallCommandClient.java
index 5868fb8..4b2512b 100644
--- a/src/com/android/incallui/CallCommandClient.java
+++ b/src/com/android/incallui/CallCommandClient.java
@@ -59,6 +59,14 @@
         }
     }
 
+    public void disconnectCall(int callId) {
+        try {
+            mCommandService.disconnectCall(callId);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error answering call.", e);
+        }
+    }
+
     public void mute(boolean onOff) {
         try {
             mCommandService.mute(onOff);
