discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] RAW source


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] RAW source
Date: Thu, 19 Jun 2014 16:12:23 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Hi Sara,

in the stack of usual VoIP systems, there is no such thing as a "RAW" package.
What you seem to want is the common transport layer for ARP, SIP and RTP to go over the air.
I'm not really sure why you would want ARP, as that is something two VoIP devices usually can't communicate over (because it's one layer under the internet layer, and basically only exists for local networks); ARP is only necessary when you want to know the ethernet MAC address belonging to an IP address, which you don't need to do in your case; just tell your routing table that packets for that other IP address have to go over your wireless link...

Aside from ARP, the common layer would be IP.

Problem here is that all of your protocols are two-way protocols: you cannot just send packets in one direction and hope everything will work, there has to be some back channel. How would your TX soft phone know the other end picked up your call?

So what you must do is two-fold:
1. Implement a link-layer, and instruct your operating system to transport the IP pakets over that and
2. implement a back channel.

Notes:
2.: this might need another OFDM channel in the opposite direction, or, with some firewall/ low level routing magic, another ethernet link, just used for the back channel.

1.: there's still gr-digital/examples/ofdm/tunnel.py from the "old" OFDM framework, which has become somewhat infamous :) but looking at that code, you should be able to figure out how to use your OFDM implementation with TUN/TAP devices. Also look at gr-ieee802-11, which *is* a working OFDM layer with a TAP (that's ethernet layer) device interface.


Greetings,
Marcus

On 19.06.2014 15:32, Sara Chérif wrote:
> Sorry , I forgot to say that some packets coming from Twinkle are SIP & ARP
> packets not only RTP.
> Hence , I think I need to receive RAW packets in GNU Radio ( as I have
> different type of packets:  RTP , ARP , SIP packets)
>
> Note that :
> I use 4 laps & 2 USRPs.
> 1st & 4th lap has twinkle softphone & I will make a call between them.
> 2nd lap has an OFDM TX implemented by Gnuradio.
> 3rd lap has an OFDM RX implemented by Gnuradio.
> First and 2nd laps are connected by Ethernet cable.
> 3rd & 4th laps are connected by Ethernet cable.
> One USRP is connected to the 2nd lap , the other USRP is connected to the
> 3rd lap.
> 2nd lap(GNUradio ,ofdm tx)  will receive the packets from 1st lap(Twinkle)
> using RAW socket (as I think ) .
> 2nd lap will send the packets to the 3rd lap by the USRPs.
> 3rd lap ( Gnuradio , ofdm rx)  will send real time voice packets to 4th lap
> (Twinkle) using RAW socket(as I think).
>
> If I want only to make a call & send and receive the voip real time packets
> , Do I have then to write a specific block as this mentioned decoder ?
>
> Thanks in Advance.
>
>
> 2014-06-19 15:33 GMT+03:00 Marcus Müller <address@hidden>:
>

Hi Sara,

RTP is a complex networking protocol, so you will have to write a
decoder for this, and also for the numerous audio formats that may be
contained within, if you want GNU Radio to actually do something with
the speech within. If you only want to look at the packets as bytes of
payload, as Marcus said, just use a UDP source.

GNU Radio is about signal processing much more than about
application-specific protocol decoding; both problems are
fundamentally different.

Given the "modern" PDU capabilities, decoding network protocol data is
not entirely impossible, but it's still cumbersome.
Allow me a comparison: decoding an RTP stream including the numerous
audio payloads that might be contained using GNU Radio is comparably
elegant as demodulating FM radio with a webserver.

But: there are numerous open source RTP decoder libraries available,
and that's what twinklephone uses to decode the packets.

I think the right thing to do is use a library which decodes RTP and
the contained compressed audio and gives you PCM samples, and feed
this sample stream into GNU Radio. This could be done inside a GNU
Radio block, but I think it would be easier to just use an external
executable and let that stream audio into your flowgraph, for example
using a UDP or TCP socket, or a named pipe. Considering that, with
some ALSA hackery, you can have a loopback audio device, you could
even just use the soft phone of your choice to generate audio samples
that you capture using the GNU Radio audio source.

Greetings,
Marcus

On 19.06.2014 14:11, Marcus D. Leech wrote:
>>> On 06/19/2014 07:54 AM, Sara Chérif wrote:
>>>> Hi, I want to capture packets coming from Twinkle Soft phone in
>>>> gnuradio, these packet are RTP packets . But in gnuradio , there
>>>> is only UDP or TCP source ! I can't find Raw source to correspond
>>>> to the RTP packets. Is there an alternative to RAW source in
>>>> GNUradio ? Thanks.
>>>>
>>>>
>>>> _______________________________________________ Discuss-gnuradio
>>>> mailing list address@hidden
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>> RTP is usually carried over UDP
>>>
>>>
>>>
>>>
>>> _______________________________________________ Discuss-gnuradio
>>> mailing list address@hidden
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




reply via email to

[Prev in Thread] Current Thread [Next in Thread]