The digital side of DVSwitch Mobile


Steve N4IRS
 

So, I am sure you think that we have gone dark on Mobile, but nothing is further from the truth.  (We are actually on the beach drinking beer spending the billions of dollars we made on the app so far.) While development of the Allstar side has not stopped, we are spending quite a lot of time on the digital side of Mobile.  The best way to think of Mobile is as a full featured client for all of the DVSwitch portfolio of applications.  Its job is to let you take DVSwitch with you wherever you go.  Besides giving you access to the analog side by using Allstar, Mobile now gives you access to all amateur digital voice modes (DMR, D-Star, Yaesu Fusion narrow and wide, P25 and NXDN).  By leveraging the capabilities of Analog_Bridge and MMDVM_Bridge you can roam wherever you want and have all of your modes with you. The beauty of this is YOU control the server. YOU setup the modes you want to use. It's YOUR server. It is easier to list the features in bullet point format, so here goes:

        •    Digital capabilities
        ⁃    All digital modes are supported for both receive and transmit
        ⁃    Digital Info
        ⁃    Metadata for each mode is displayed on the main “dialer” screen
        ⁃    Each digital mode is color coded
        ⁃    Mode, TG/Reflector
        ⁃    Callsign and ID
        ⁃    TX/RX elapsed time
        ⁃    Talk group selection with incremental search
        ⁃    Full list of TG/Reflectors are available on the macro menu
        ⁃    Shortcuts to the first 10 are available for press and hold on dialpad
        ⁃    Shortcut for mode on ‘A’ key
        ⁃    Shortcut for TGs on the ‘B’ key
        ⁃    Last heard list displays the last 50 stations heard
        ⁃    Personalized for your call sign and DMR/CCS7 ID
        •    General
        ⁃    Callsign lookup is done on the server side
        ⁃    Bluetooth and hardware PTT buttons supported (reported working)
        ⁃    Network radio PTT Android intents (Inrico, Sonim, Hytera, Senhaix, Radio-Tone, AOC)
        ⁃    Dedicated Bluetooth Microphones (iTalkie ZMIC)
        ⁃    Bluetooth LE (Pryme PTT-Z)
        ⁃    Macros may be invoked from the Mobile client and executed on the server
        ⁃    Macros can change digital modes
        ⁃    Macros can invoke system functions
        ⁃    Nodes can be set up in the cloud or at your QTH which includes NAT traversal capabilities for UDP
        ⁃    Bandwidth sipping codecs make it inexpensive to run all the time
        ⁃    Rodger beep available on EOT
        ⁃    Backup and restore of user settings (soon)
        ⁃    The server has the capabilities to upload a new database to the client when requested (soon)
        ⁃    Support for phones, tablets and network radio form factors

What do you need to make this cool stuff work?  Steve and I have been playing with “hotspot builds” both on Intel and ARM and virtual and physical hardware.  The components we run in these builds are Analog_Bridge, MMDVM_Bridge, P25Gateway, NXDNGateway and IRCDDBGateway (DMR and YSF do not need gateways).  In addition, md380-emu or a ThumbDV is needed. If you go with the md380-emu, D-Star performance will be severely degraded.  With these components in place, you can then use DVSwitch Mobile to connect to any digital mode and steer that mode to any talkgroup or reflector.

The magic happens because of two types of commands that are sent from Mobile to the server.  First is a mode select command.  This command is a macro which is interpreted by Analog_Bridge and used to enable the proper settings within Analog_Bridge and MMDVM_Bridge. The macro capabilities of Analog_Bridge let you run any script you want, and in this case we have a script that is executed to change the mode to DMR, DSTAR, YSF, P25 and NXDN.

The second type of command that Mobile sends is a Dial/Tune command.  Analog_Bridge will take the command and forward it on to the MMDVM_Bridge instance that is servicing the digital stream. Each mode has a unique syntax for tuning.  For example DMR, P25 and NXDN use talk group numbers to navigate, D-Star uses reflector names and YSF uses reflector addresses and ports.  Mobile has a database for each mode with the name of the talk group/reflector and the mode specific syntax to use.

To configure DVSwitch Mobile for digital access you just have to add a new account to your app.  The account details are as follows:
    •    Protocol - USRP
    •    Hostname - IP address or host where Analog_Bridge is running
    •    Port - port number that matches Analog_Bridge.ini [USRP] TXPort
    •    TX Port - port number that matches Analog_Bridge.ini [USRP] RXPort
    •    Callsign - A valid ham radio callsign
    •    DMR ID - a valid DMR/CCS7 ID
    •    Autoload Node - does not need to be checked
    •    Transmit Level - We suggest you set this to no greater than 50% to start.  Use a Parrot to fine tune
    •    Receive Level - 100% is fine, adjust to taste
    •    Codec Types - Begin with Server Selected (unless on a very limited network then use ADPCM)

The only setting that warrants additional information is the Port/TX Port.  For best operation these ports should be equal.  When Analog_Bridge sees equal port values it transitions into UDP traversal mode.  This will allow you to set up your “node in the cloud” to be behind a NAT router.  If behind a NAT, make sure to port forward the selected port to your host running Analog_Bridge. Analog_Bridge and Mobile will negotiate the session and keep it alive.

Join main@DVSwitch.groups.io to automatically receive all group messages.