diff --git a/java/com/android/dialer/commandline/impl/CallCommand.java b/java/com/android/dialer/commandline/impl/CallCommand.java
index a6d78f4..b3ea860 100644
--- a/java/com/android/dialer/commandline/impl/CallCommand.java
+++ b/java/com/android/dialer/commandline/impl/CallCommand.java
@@ -53,7 +53,10 @@
   @NonNull
   @Override
   public String getUsage() {
-    return "call number\n\nuse 'voicemail' to call voicemail";
+    return "call [flags --] number\n"
+        + "\nuse 'voicemail' to call voicemail"
+        + "\n\nflags:"
+        + "\n--direct send intent to telecom instead of pre call";
   }
 
   @Override
@@ -73,11 +76,16 @@
     } else {
       callIntentBuilder = new CallIntentBuilder(number, CallInitiationType.Type.DIALPAD);
     }
-
-    Intent intent = PreCall.getIntent(appContext, callIntentBuilder);
-    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    appContext.startActivity(intent);
-
+    if (args.getBoolean("direct", false)) {
+      Intent intent = callIntentBuilder.build();
+      appContext
+          .getSystemService(TelecomManager.class)
+          .placeCall(intent.getData(), intent.getExtras());
+    } else {
+      Intent intent = PreCall.getIntent(appContext, callIntentBuilder);
+      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+      appContext.startActivity(intent);
+    }
     return Futures.immediateFuture("Calling " + number);
   }
 }
diff --git a/java/com/android/dialer/preferredsim/PreferredAccountWorker.java b/java/com/android/dialer/preferredsim/PreferredAccountWorker.java
index aa61788..df743c3 100644
--- a/java/com/android/dialer/preferredsim/PreferredAccountWorker.java
+++ b/java/com/android/dialer/preferredsim/PreferredAccountWorker.java
@@ -34,6 +34,7 @@
 import android.support.annotation.VisibleForTesting;
 import android.support.annotation.WorkerThread;
 import android.telecom.PhoneAccountHandle;
+import android.text.TextUtils;
 import com.android.dialer.common.Assert;
 import com.android.dialer.common.LogUtil;
 import com.android.dialer.common.concurrent.DialerExecutor.Worker;
@@ -128,6 +129,9 @@
   private static Optional<String> getDataId(
       @NonNull Context context, @Nullable String phoneNumber) {
     Assert.isWorkerThread();
+    if (TextUtils.isEmpty(phoneNumber)) {
+      return Optional.absent();
+    }
     try (Cursor cursor =
         context
             .getContentResolver()
