diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index e7dd3b7..29c546e 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -3975,17 +3975,20 @@
 
     private String getProvisioningUrl() {
         String url = mContext.getResources().getString(R.string.mobile_provisioning_url);
-        log("getProvisioningUrl: resource url=" + url);
+        log("getProvisioningUrl: mobile_provisioning_url=" + url);
 
-        // populate the iccid and imei in the provisioning url.
+        // populate the iccid, imei and phone number in the provisioning url.
         if (!TextUtils.isEmpty(url)) {
+            String phoneNumber = mTelephonyManager.getLine1Number();
+            if (TextUtils.isEmpty(phoneNumber)) {
+                phoneNumber = "0000000000";
+            }
             url = String.format(url,
                     mTelephonyManager.getSimSerialNumber() /* ICCID */,
                     mTelephonyManager.getDeviceId() /* IMEI */,
-                    mTelephonyManager.getLine1Number() /* Phone numer */);
+                    phoneNumber /* Phone numer */);
         }
 
-        log("getProvisioningUrl: url=" + url);
         return url;
     }
 }
