                 }
                 break;
 
+
+                // Dialing should come last..
+                // TODO:  Need to allow for spaces after D, DT, DP.  Currently fails.
+                case 'D':
+                switch(Modem_CommandBuffer[i])
+                {
+                    case 'T':
+                    case 'P':                    
+                    Modem_Dialout(&Modem_CommandBuffer[i+1]);
+                    dialed_out = 1;
+                    i = COMMAND_BUFFER_SIZE-3;    // Make sure we don't try to process any more...
+                    break;
+
+                    case '#':
+                    // Phonebook dial
+                    //char numString[2];
+                    numString[0] = Modem_CommandBuffer[i+1];
+                    numString[1] = '\0';
+                    //char address[ADDR_HOST_SIZE];
+        
+                    //int phoneBookNumber = atoi(numString);
+                    phoneBookNumber = atoi(numString);
+                    if (phoneBookNumber >= 1 && phoneBookNumber <= ADDR_HOST_ENTRIES)
+                    {
+                        strncpy(address,readEEPROMPhoneBook(ADDR_HOSTS + ((phoneBookNumber-1) * ADDR_HOST_SIZE)).c_str(),ADDR_HOST_SIZE);
+                        Modem_Dialout(address);
+                        dialed_out = 1;                        
+                    }
+                    else
+                        errors++;
+                    break;
+
+                    default:
+                    Modem_Dialout(&Modem_CommandBuffer[i]);
+                    dialed_out = 1;
+                    i = COMMAND_BUFFER_SIZE-3;    // Make sure we don't try to process any more...
+                    break;
+                }
+                break;
+
                 case '\n':
                 case '\r':
                 break;

            Modem_S0_AutoAnswer = atoi(temp);
        }*/

        if (errors)
            Modem_PrintERROR();
        else
            Modem_PrintOK();
    }
    else
    {

    {
        Modem_Dialout(strstr(Modem_CommandBuffer, "ATDT") + 4);
        Modem_ResetCommandBuffer();  // This avoids port# string fragments on subsequent calls
    }*/
    /*else if ((strcmp(Modem_CommandBuffer, ("ATH0")) == 0 || strcmp(Modem_CommandBuffer, ("ATH")) == 0))
    {
        Modem_Disconnect();
