Re: ASL to DMR Bridge...changing talkgroups


Matt
 
Edited

I just copied the script you posted above ...
This is my script (changeTG.sh)

#!/bin/bash
 
# /*
#  * Copyright (C) 2018 N4IRR
#  *
#  * Permission to use, copy, modify, and/or distribute this software for any
#  * purpose with or without fee is hereby granted, provided that the above
#  * copyright notice and this permission notice appear in all copies.
#  *
#  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
#  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
#  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
#  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
#  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
#  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
#  * PERFORMANCE OF THIS SOFTWARE.
#  */
 
function tune() {
python - <<END
#!/usr/bin/env python
 
import sys
import socket
import struct
 
cmd = "txTg=$1"
_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
cmd = struct.pack("BB", 0x05, len(cmd))[0:2] + cmd
# Set the second value below to match the rxPort in the [AMBE_AUDIO] stanza of Analog_Bridge.ini
_sock.sendto(cmd, ('127.0.0.1', 31100))
_sock.close()
 
END
}
 
tune $1


====
After doing some more research (about Python) it would seem that this is a known problem.
[SNIP]
Python3 has several different 'string' types.
You are trying to combine a bytes string (basically an immutable character array) to a unicode string. 
[/SNIP]

I may have fixed the script by changing this one line:
cmd = "txTg=$1".encode("utf-8")

So far, it has not returned an error.
I can't test further until later tonight, but I am hoping this has fixed it.
I'll update later with any results.

====
A little more information ...
I am running "Asterisk 1.4.23-pre.hamvoip-V1.5.3-27-app_rpt-0.327-04/04/2018" which comes with Python 3.5.1

After reading more on this problem, it has been reported that the issue did not appear in Python 2.
I cannot confirm or deny the claim, but if anyone runs into this error - try the fix I've included above.

73 de Matt
VE3OY


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