I am trying to make a program to send a sms. I wrote the program but doesn't successfully send the message. My program send an At command to the Port COM in my computer but I do not get a response from my gsm modem. I am using COM terminal (Temp pro...) to send sms with the at command and I am able to send sms. Therefore I don't know why the program can't send a sms.
import java.io.*;
import java.util.*;
import gnu.io.*;
public class prawiefinal {
    static Enumeration portList;
    static CommPortIdentifier portId;
    static String messageString = "AT+CMGF=1 \r";
    static String messageString2 = "AT+CMGS=\"+4866467xxxx\"\r";
    static String messageString3 = "TESting \u001A\r\n";
    static SerialPort serialPort;
    static OutputStream outputStream;
    public static void main(String[] args) throws InterruptedException {
        portList = CommPortIdentifier.getPortIdentifiers();
        while (portList.hasMoreElements()) {
            portId = (CommPortIdentifier) portList.nextElement();
            if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                if (portId.getName().equals("COM3")) {
                    try {
                        serialPort = (SerialPort)
                            portId.open("COM3", 2000);
                    } catch (PortInUseException e) {System.out.println("err");}
                    try {
                        outputStream = serialPort.getOutputStream();
                    } catch (IOException e) {e.printStackTrace();}
                    try {
                        serialPort.setSerialPortParams(9600,
                                SerialPort.DATABITS_8,
                                SerialPort.STOPBITS_1,
                                SerialPort.PARITY_NONE);
                    } catch (UnsupportedCommOperationException e) {e.printStackTrace();}
                    try {
                        outputStream.write(messageString.getBytes());
                        Thread.sleep(3000); 
                        outputStream.flush();
                        outputStream.write(messageString2.getBytes());  
                        Thread.sleep(3000);  
                        outputStream.flush();
                        outputStream.write(messageString3.getBytes()); 
                        Thread.sleep(3000);  
                        outputStream.write(26);
                        outputStream.flush();
                        System.out.println(messageString);  
                        Thread.sleep(3000);
                        outputStream.close();
                        serialPort.close();
                    } catch (IOException e) {e.printStackTrace());}
                }
            }
        }
    }
}