Sipdroid を暗号化しようとしています。そのためには、エンコードされたオーディオ ペイロードを取得した後に RTP パケットを暗号化する必要があります。RTP パケット クラスでこの関数を使用しています。
public byte[] getPayload() {
int header_len = getHeaderLength();
int len = packet_len - header_len;
byte[] payload = new byte[len];
for (int i = 0; i < len; i++)
payload[i] = packet[header_len + i];
return payload;
}
問題は、RTP が UDP を介して実行されるため、rtp パケット クラスがペイロードを取得している場所が見つからないことです。UDP ソケット クラスを確認しましたが、存在しません。
1 つの方法は、rtp パケットからデータグラム ペイロードを取得して暗号化することだと思います。
RTP パケット クラスはどこでペイロードを取得しますか?