[asterisk-dev] ast_rtp_engine api

Michael Blake michael.blake at tridsys.com
Wed Feb 1 13:15:55 CST 2017


Hello asterisk-dev list,



I am working on a rtp proxy that essentially takes a mp4 video stream and
converts it into a sip endpoint.



To start I hacked up ekiga to use a text file with a gstreamer pipeline
defined as a video and audio source, demuxing the video and audio and
feeding it into the sip call.



I then modified chan_rtp.c to send both the video and audio streams - which
is currently working.  I can use gstreamer to receive the udp streams and
play back the audio and video.



Now I want to get rid of ekiga and make chan_rtp also listen for an audio
and video incoming udp stream to feed into the call.  I have tried adding
the source ports to the channel, but the sockets don't actually get opened
and listen.



Looking in the other channels I see where sockets are manually opened, but
I would rather use the rtp engine.



Could someone point me in the direction where a channel defines a rtp
address/port using the ast_rtp_engine and opens the listening socket, or
some guidance to at least identify the api calls to make that happen?



I think I am close, but I am missing something.



I have defined the video and audio channels, and can call into the
extension and stream the call to my video wall.



Do I need to define a separate pair of channels for receiving rtp, and what
do I call once the local address is set so that the engine will actually
start receiving the rtp data?



I tried setting ast_rtp_instance_set_local_address on the channels I am
sending on - that doesn't open the actual sockets.



Any help would be greatly appreciated.



Thank you.



Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20170201/3b9e78f3/attachment.html>


More information about the asterisk-dev mailing list