* #30591: key event hooked, sent to daemon
diff --git a/src/com/savoirfairelinux/sflphone/service/ISipService.aidl b/src/com/savoirfairelinux/sflphone/service/ISipService.aidl
index 71684f2..75cfcdb 100644
--- a/src/com/savoirfairelinux/sflphone/service/ISipService.aidl
+++ b/src/com/savoirfairelinux/sflphone/service/ISipService.aidl
@@ -37,6 +37,9 @@
     boolean startRecordedFilePlayback(in String filepath);
 	void stopRecordedFilePlayback(in String filepath);
 	boolean isRecording(in String id);
+	
+	/* DTMF */
+	void playDtmf(in String key);
     
     /* IM */
     void sendTextMessage(in String callID, in String message, in String from);
diff --git a/src/com/savoirfairelinux/sflphone/service/SipService.java b/src/com/savoirfairelinux/sflphone/service/SipService.java
index 7a5a6f2..eccd684 100644
--- a/src/com/savoirfairelinux/sflphone/service/SipService.java
+++ b/src/com/savoirfairelinux/sflphone/service/SipService.java
@@ -1146,5 +1146,19 @@
             return null;
         }
 
+        
+        
+        
+        @Override
+        public void playDtmf(final String key) throws RemoteException {
+            getExecutor().execute(new SipRunnable() {
+                @Override
+                protected void doRun() throws SameThreadException, RemoteException {
+                    Log.i(TAG, "SipService.playDtmf() thread running...");
+                    callManagerJNI.playDTMF(key);
+                }
+            });
+        }
+
     };
 }