In the last 2 weeks I’ve been working on a software called dmrshark in my free time. It uses libpcap to analyse the traffic of a Hytera IPSC network.
It can be used for:
- Tracking calls, logging to a text file, and/or inserting them to a remote MySQL-compatible database.
- Automatic and periodic reading of repeater timeslot RSSI values during calls and also inserting them to the remote database.
- Updating a remote database table with currently active repeaters and their info (ul/dl freqs, type, fw version etc.).
- I’m planning other features as well, development hasn’t stopped of course :)
Here’s a video of an early preview version which only supported DMR packet structure decoding and logging to the text console:
I’ve translated my recent blogpost on ham-dmr.hu, so here’s some info about the Hytera RD625 DMR repeater and about setting up VoIP communications.
We’ve measured the bandwidth required for the repeater to communicate with the DMR master software to transfer one timeslot. The result is 15-17 kbit/s for both up and download directions, so the bandwidth required is about 35 kbit/sec, if there’s someone talking on one timeslot. We’ve conducted the tests using a 3G internet connection with an 8 slot length jitter buffer. The latency of our 3G connection is quite high, but the voice communication remained perfect. I’ve made a video about the tests:
Some interesting facts
- The blue LED under the D sign is on when the repeater is communicating with the master software. When the repeater connects to the master, a voice says on TS2 TG9 that the reflector 4770 got connected.
- The repeater doesn’t care about an unplugged Ethernet cable, it won’t ask for a new IP address. It doesn’t care about DHCP lease timeouts, it only asks for an IP address in DHCP mode only when we power it on.
- All 3G connections are NATted in Hungary, so there’s no external address and connection tracking for the UDP packets, so incoming packets can’t find a way to the repeater. We had the repeater plugged into a Routerboard, which had the 3G stick in it, and we created a VPN tunnel to our server and set the default gateway for that VPN connection. This way we had an external IP address and could set up our firewall to pass through UDP packets destined to the repeater.
- The repeater uses the following UDP ports: 62005 (status, heartbeat, etc.), 62006 (general traffic), 62007 (management info, RDAC)
I had two PD785Gs this evening with me so I couldn’t resist to do the glass of water test :)
Today we tested the bandwidth and the VoIP integration of the Hytera RD625. I’ve made a (Hungarian) tutorial on how to set up Asterisk, the repeater and a handheld radio to be able to make and receive VoIP calls.
We’ve got our brand new Hytera RD625 DMR repeater with a Procom filter on this Tuesday. Here’s the unboxing video:
We’ve also looked at a Puxing PX820 DMR HT:
Inserting a 3-band Diamond fiberglass antenna into an industrial antenna’s case:
Packtpub is having a day against DRM on which you can buy their DRM-free content at $10 for 24 hours only on May 6th – that’s all 2000+ eBooks and Videos at www.packtpub.com.
Just a week ago I bought a Hytera PD785G DMR (Digital Mobile Radio) handheld transceiver. Now I’m spending my free time reading about DMR, experimenting with the Hytera CPS software, and writing about DMR to my radio club’s webpage.
DMR works way beyond my expectations compared to analog radio. I can communicate on locations where my analog Yaesu VX8G can’t, and the DMR repeater’s antenna is about 100 meters lower than the analog repeater’s. Sending and receiving text messages is very fun, and I like the compressed voice of DMR’s AMBE+2 codec very much.
Recently I’ve been working on a Red5 webapp called kdrlivestream which authenticates users using a MySQL database. This will be used for live streaming my radio club’s subscription based remote courses.
Red5 has a built-in webapp called live, but it doesn’t use authentication. Everyone will be able to publish and watch streams using your private Red5 server.
kdrlivestream always authenticates publishers using usernames and passwords stored in a MySQL database.
By default, every viewer has to be authenticated too, but publishers can specify that their streams are public. Public streams can be watched without any authentication.
Optionally the webapp can periodically store active publisher and viewer info into the database (who watches and publishes what).
See more info on the project’s GitHub page!
Here’s a quick note on how to open a Qihan IP camera’s RTSP stream with ffmpeg/avconv:
avconv -rtsp_transport tcp -i "rtsp://192.168.1.10:554/tcp_live/ch0_0" -acodec copy -vcodec copy -f mpegts a.ts
To open the stream from VLC, set RTP over RTSP (TCP) on the Input/Codecs tab.
We’ve been to the conference last week, it was great. Here’s a short and fun video recap of the 3 days: