Ok, so I have a node with an autopatch running at my house. It is wired into a fullduplex "linking radio" (a repeater with no controls, just a full duplex capable radio, picture it as a separate rx and tx if that helps) and that is shooting up to a hilltop on UHF. That UHF hub connects to a controller (RC210 if you're keeping track) as well as has three linked repeaters off it. A drop repeater lives on port 1.
Now that you know the topology, here is the issue I am having. I want my node to be capable of doing full duplex linking so that folks can be aware of what is happening when two folks are doubling over each other, but it is causing me one issue. Autopatch echo. When a call is being placed the user on the phone is getting their own audio echo'd back to them. Is there a way to tell the node to stop behaving in full duplex whenever a call is placed?
The hardware solution to this would be to feed the TX line over to the RX Mute line and effectively make it HDX, however I want to do it in software and ONLY when the autopatch is connected.
Is this possible in software, or do I need to pull out my soldering iron again?
Great question It is a single echo, not an audio version of an infinity mirror as an echo implies. My apologies for not being clear there.
The channel drivers are all either SimpleUSB (Masters RA-40M) and Dahdi for the hub node.
The phone patch is just an IAX connection back to Voip.ms, and direct to the PSTN. I dial the DID, it goes into a ring-group (was just like that for testing and don't care to switch it back) then it picks that one IAX line, sends the call to the Allstar box, which then does all the autopatch'y things.
The main thing I want to solve for is how can I make it ignore incoming audio that I just sent a few milliseconds ago. I know lots of sets have features to prevent echo with PSTN connections, but this is a little more aggressive. The problem is that it is actually doing exactly what it is configured to do. I just want it to do something else whenever a call is active. If I have to make it half duplex in hardware, fine, but I would rather a software solution that could be enabled and disabled at call set up and tear down.
Well, sorry I can't state something more precise, just a bit of direction,
but the issue is 'likely' between dahdi and the ptsn.
I would scan the asterisk forums for solutions.
This is not a issue that normally shows inside of app_rpt/asl,
You will have to experiment.
There are plenty of issues/solutions of dahdi echo to ptsn networks out there.
Some are per exact instance related.
By chance, do you happen to know if there is even functionality to change the mode-of-the-node on the fly like this? I checked to see if it was a COP option, but it is not in the main rpt.conf doc, nor the 65 of them listed on the wiki. My hope was to use macro gimics to have it switch to a non-duplex mode when the autopatch is in a call, but then return the node to full duplex when a hangup is detected. The disappointing thing is that without a COP or other macro I would have to script it in the conf file, but that would mean restarting asterisk and ending the session, thus terminating the call. Boo. The only saving grace I could think of would be if GPIO from the Pi that is hosting the node could be used to toggle this connection. Is this even possible?
For now, I think I am just going to solder a jumper from the PTT line to the RX Mute to effectively make it half duplex at hardware.
duplex mode is not something that can be changed on the fly.
Those parameters are loaded at software start.
You might be able (not positive) to get somewhere creating a half duplex private node and make both connections through it.
You will have to experiment.
But the echo is from dahdi to the PTSN so I'm not sure any of that is not just a waste of time. But I would encourage you to experiment.
That is how we find out I guess.