Hi,

I am facing a problem where for legal obligations (LI) I have
to copy/mirror/forward the RTP streams for some selected call
to an external address/port and I have not found a way to do
it with built-in functionality. Do I miss something?


The basic requirements are:

        * Raw RTP (no transcoding, header and payload as is)
        * Direction (did it arrive at asterisk or was it sent)
        * End indication once the call has been cleared


I tried to use app_chanspy and ran into three different problems:

        - It is always transcoding
        - No support for input only on the audiohooks used
        by app_chanspy (send input, output to two different
        dest ports)
        - End of call only through hangup


A post mentioned the framehooks but from what I see:

        - It is the audio payload but not the RTP header
        - I considered to rebuild the RTP header but:
        ast_rtp_instance can't give me the rx SSRC, rx SQNO,... 



Currently we are extending ast_rtp_instance to have a mirror_audio
function pointer with dest ip/dest port and a custom protocol to send
the rtp frames. And we have extended ast_channel_tech to add a
start_mirror function pointer and have implemented it for chan_sip
and chan_pjsip. They find the ast_rtp_instance and then call the
mirror_audio method on it. Finally there is an AMI handler to initiate
the mirroring for a given Call-Id on the right ast_channel.



We would like to avoid modifying asterisk and wonder how we could
move forward? Is there any hope to get our modifications included?
Could there be a framehook for the rtp frame (with remote peer info)?
Extend ast_rtp_instance to export more info about the RX info? Anything
else?

looking forward for feedback and hints

        holger




-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

Check out the new Asterisk community forum at: https://community.asterisk.org/

New to Asterisk? Start here:
      https://wiki.asterisk.org/wiki/display/AST/Getting+Started

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to