Using ice4j to make TURN connection

I’m trying to make a connection with peer using ice4j.
I don’t really need ICE protocol, only turn.
So I have code that establish connection with TURN server, makes allocation and than i’m trying to send a few packets to my peer(in this case just udp echo server).
I can see in wireshark that client opens channel to peer and send packets via this channel. I also can see that turn server relays peer response in the same channel, but when I try to receive from socket code blocks on wait().

I’ve debug a little and my guess was that StunDatagramPacketFilter.accept() filters out TURN channel packets because they don’t have magic cookie field, but patching this method to return true helped only a little. I’ve started to get every second response, also data was sending by Data and Send Indications, not by channel.

Can you point me what I’m doing wrong?
Here’s code sample

I’m using coturn as turn server, configuration passes coturn’s udp tests

Oh, i just found this comment on TurnFilter

 * does not accept TURN ChannelData messages because they require knowledge of
 * the value of the "Channel Number" field. 

Is there any way to receive TURN channel packets?

I also tried to create ChannelDataEventHandler implementation and pass it to StunStack, but looks like it never used.