Hi all, I'm trying to make a legal intercept module. My first attempt was to get the raw RTP packets from switch_frame_t, but they don't seem to be available. My second attempt is to get the raw pcm data from the frames, which seems to work. I still have a few questions though:
- On setting the mediabug (switch_core_media_bug_add), I can pass an enum. Is there a difference between SMBF_BOTH (0) or SMBF_READ_STREAM | SMBF_WRITE_STREAM (1+2=3) ? - In the callback function passed to the bug, what does each of the following switch_abc_type_t mean ? At first I assumed that READ and WRITE state the direction of the media, but some recording functions only use the READ so that can't be true. SWITCH_ABC_TYPE_INIT SWITCH_ABC_TYPE_READ_PING SWITCH_ABC_TYPE_CLOSE SWITCH_ABC_TYPE_READ SWITCH_ABC_TYPE_WRITE SWITCH_ABC_TYPE_READ_REPLACE SWITCH_ABC_TYPE_WRITE_REPLACE - When the callback function is called with SWITCH_ABC_TYPE_READ, I'm doing a switch_core_media_bug_read to copy all media to a switch_frame_t. To then get the raw data, I see in many examples that the size of the frame is retrieved by "(switch_size_t) frame.datalen / 2". Why the division by two ? - I thought that frame.data contained a un-encoded version of the RTP packet, but the datalen seems to differ when I'm calling in over g711 or g722. What format is frame.data ? Thanks a lot ! regards, Leon _______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org