Topics

Addressing D-STAR reflectors via dvswitch.sh


 

I have a (mostly) working ASL to DVSwitch working.  I have discovered an
issue that I can't resolve with DTMF handling.  As I normally drive the
system from the commandline, I can work around that issue by calling
dvswitch.sh directly, which works perfectly.

However, when I use

asterisk -rx "rpt fun $SRCNODE $CMD"

to link to the TG I want, I sometimes get "3199" appended to the TG.  I
have no idea where that 3199 is coming from.  My AllStar ($SRCNODE) node
is 2199.  For example, when connecting to P25 TG 10400, DVSwitch
attempts to connect to 104003199.  This appears to happen within AllStar
(any AllStar gurus here?).  However, if I directly call "dvswitch.sh
tune <tg>" from the same script, I am linked to the correct talkgroup. 
At this point in time, this is of no consequence, because I have changed
the script that I run to call dvswitch.sh directly.  However, if I
change to directly using DTMF (or calling Asterisk to make the change),
then I will have an issue.  But even that's not certain, because I may
process DTMF via a different route.

The other thing I'm wanting to know is how to link to D-STAR reflectors
using dvswitch.sh.  I haven't yet worked out how to do that.  Any ideas?

For reference, here's the relevant section of my rpt.conf

Under the [functions] stanza

; DVSwitch mode commands sent via DTMF
00 = cmd, /opt/MMDVM_Bridge/dvswitch.sh ; unused
01 = cmd, /opt/MMDVM_Bridge/dvswitch.sh ; unused
02 = cmd, /opt/MMDVM_Bridge/dvswitch.sh ; unused
03 = cmd, /opt/MMDVM_Bridge/dvswitch.sh tune unlink  ; Unlink from last
TG / reflector
04 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode DMR
05 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode DSTAR
06 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode YSF
07 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode P25
08 = cmd, /opt/MMDVM_Bridge/dvswitch.sh mode NXDN

; connect to TG/REF on current DV mode
09=autopatchup,context=tgtune,dialtime=90000,farenddisconnect=1,noct,quiet=1
; end of DVSwitch commands

And in extensions.conf, I have:

[tgtune]
exten = _X.,1,noop ; Wait,1
exten = _X.,n,System(/opt/MMDVM_Bridge/dvswitch.sh mute TLV)
exten = _X.,n,Playback(connecting)
exten = _X.,n,SayDigits(${EXTEN})
exten = _X.,n,System(/opt/MMDVM_Bridge/dvswitch.sh tune ${EXTEN})
exten = _X.,n,System(/opt/MMDVM_Bridge/dvswitch.sh mute OFF)
exten = _X.,n,Hangup

And the node does speak the extra "3199", suggesting that ${EXTEN}
contains these extra digits.  Odd thing is my first attempt today via
AllStar worked perfectly, but subsequent attempts had the extra "3199".

--
73 de Tony VK3JED/VK3IRL
http://vkradio.com