I need to dial a number from USB modem, after other side answer the call I need to send several DTMF commands. I have tried to do this code - But it exit the call when I try to send DTMF:

SerialPort port = new SerialPort("COM7", 115200);
port.Open();
port.ReadTimeout = 1000000;
port.NewLine = "\r";
port.WriteLine("ATZ"); // reset the modem
//port.ReadTo("OK\r\n"); // wait for "OK" from modem

port.WriteLine("ATDT 123456789"); // dial number with dialtone
port.WriteLine("AT+VTS 2"); // dial DTMF

string response = port.ReadTo("\r").Trim(); // read until first newline
port.Close();