Hi,
There is a demo session at Kamailio World on Wednesday and I had an idea
for a demo that could potentially be hacked together as a
collaborative/team effort.
The idea is simple: using WebRTC to control a radio transceiver. This
is not so hard thanks to Software Defined Radio (SDR). It would be like
RetroRTC[1], but with a radio instead of a rotary phone.
I have SDR and ham equipment with me in Berlin (for use at OSCAL'17 on
the weekend[2]) and but I simply wouldn't have time to put the whole
thing together individually in the next two days. If anybody wants to
collaborate on it with me, however, it is possible to break it into
small pieces and we could get it going:
- JsSIP / JSCommunicator[3]
- adding a slider for squelch control
- sending a SIP INFO message to send squelch level
- adding a box for frequency selection
- sending a SIP INFO message to change frequency
- adding a PTT button
- sending a SIP INFO message for PTT
- adding a green LED light for RX (squelch open) and red for TX
- receiving SIP INFO messages with RX and TX status
(maybe some of that could be done with SUBSCRIBE/NOTIFY instead of SIP
INFO?)
- gqrx[4] (GNU-Radio based app developed in Python)
- adding some hooks to receive commands over a message queue with
Qpid Proton's Python API[5] and dispatch the commands to the button handlers
- adding some hooks to send status (e.g. squelch open) over a topic
with Qpid Proton
- instead of sending the audio to the speaker, send it to the B2BUA
or as RTP
- SIP proxy or B2BUA
- which one would be best?
- add some glue code to map the SIP INFO messages to the Qpid Proton
messages and vice versa
- take the audio from gqrx (maybe regular RTP on localhost) and send
it as DTLS-SRTP to the browser
I had a look in Google and it doesn't find any example of anybody doing
WebRTC with SDR before, so if we got this going it would be quite
innovative.
Regards,
Daniel
1.
http://retrortc.versatica.com/
2.
https://danielpocock.com/fsfe-fellowship-representative-and-upcoming-events
3.
https://jscommunicator.org
4.
http://gqrx.dk/
5.
https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/book/tuto…