Does Smack 4.4.8 support 5223-Direct TLS?

The team requested 5223-Direct TLS and successfully connected using Gajim. When I implemented it using Smack 4.4.8,:

 val config = XMPPTCPConnectionConfiguration.builder()
                                .setUsernameAndPassword(username, pwd)
                                .setXmppDomain(domain)
                                .setHost("47.96.37.108") 
                                .setPort(5223)
                                .setSecurityMode(ConnectionConfiguration.SecurityMode.required) 
                                .setSocketFactory(sslContext.socketFactory)
                                .setDebuggerFactory(ConsoleDebugger.Factory.INSTANCE)
                                .build()
 val connection = XMPPTCPConnection(config)

the following occurred:

org.jivesoftware.smack.SmackException$SmackWrappedException: java.net.SocketException: Socket is closed

Connection XMPPTCPConnection[not-authenticated] (0) closed with error
    java.net.SocketException: Socket is closed
    	at com.android.org.conscrypt.ConscryptEngineSocket.waitForHandshake(ConscryptEngineSocket.java:624)
    	at com.android.org.conscrypt.ConscryptEngineSocket.-$$Nest$mwaitForHandshake(Unknown Source:0)
    	at com.android.org.conscrypt.ConscryptEngineSocket$SSLOutputStream.write(ConscryptEngineSocket.java:697)
    	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:233)
    	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:309)
    	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:313)
    	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:153)
    	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:248)
    	at org.jivesoftware.smack.util.ObservableWriter.flush(ObservableWriter.java:51)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketWriter.writePackets(XMPPTCPConnection.java:1367)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketWriter.access$4200(XMPPTCPConnection.java:1172)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketWriter$1.run(XMPPTCPConnection.java:1222)
    	at java.lang.Thread.run(Thread.java:1019)

Connection was already disconnected when attempting to handle java.net.SocketException: Connection reset
    java.net.SocketException: Connection reset
    	at java.net.SocketInputStream.read(SocketInputStream.java:191)
    	at java.net.SocketInputStream.read(SocketInputStream.java:143)
    	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:983)
    	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:947)
    	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(Unknown Source:0)
    	at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:236)
    	at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:218)
    	at com.android.org.conscrypt.ConscryptEngineSocket.waitForHandshake(ConscryptEngineSocket.java:609)
    	at com.android.org.conscrypt.ConscryptEngineSocket.-$$Nest$mwaitForHandshake(Unknown Source:0)
    	at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:833)
    	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:291)
    	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:355)
    	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:181)
    	at java.io.InputStreamReader.read(InputStreamReader.java:177)
    	at java.io.BufferedReader.read1(BufferedReader.java:221)
    	at java.io.BufferedReader.read(BufferedReader.java:298)
    	at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
    	at com.android.org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1516)
    	at com.android.org.kxml2.io.KXmlParser.peekType(KXmlParser.java:993)
    	at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:349)
    	at com.android.org.kxml2.io.KXmlParser.next(KXmlParser.java:313)
    	at org.jivesoftware.smack.xml.xpp3.Xpp3XmlPullParser.next(Xpp3XmlPullParser.java:228)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1143)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)
    	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)
    	at java.lang.Thread.run(Thread.java:1019)

what shuould I do? Thank you.