You can see that the source port is changing each time a message is sent - very strange!
For Bi-Directional communication, the XR18 will send a message back to the Src Port where the OSC message originated from. If the Source port keeps changing every time the message is sent, then each response from the XR18 will arrive on a different port. GP only listens on one port, so the responses can never be received
It is really necessary to have a deep level of understanding of the protocols to use a low level tool like wireshark. I would encourage you to use one of the monitoring tools designed specifically to display incoming OSC messages without all the low-level information.
There is nothing whatsoever strange about the source port changing each time a message is sent out. That’s how the protocol works. It has nothing to do with the destination port to which the message is sent.
Edit: upon reading up on the Behringer system, it turns out they are defining source ports explicitly to allow explicit “Send/Response” messages. Normally UDP messages are one way, they don’t EXPECT a response and even if they do, the other end (e.g, Lemur, TouchOSC, etc) would define the required port.
Well I’m not an expert, obvs, but I can try and explain more why this is an issue - and why it excludes all Behringer digital mixers from having bi-directional comms with GP.
A OSC message is sent to the mixer, in this case 192.168.0.30, port 10024
The mixer is listening on port 10024, receives the message , acts on it, and then responds to the message with another OSC message. How can the mixer know where to send the response message? The answer is that it sends the response message back to IP and Source Port defined in the original OSC message.
Now can you see why it’s an issue if the source port continually changes for each OSC message sent out by GP? GP can never act on the responses from the mixer because it’s listening on a specific port - and the response messages from the mixer are being sent to a continually changing port because the messages from GP are being sent with a continually changing Source Port in the UDP message.
Hope that helps explain more clearly what I think the issue is.
Well, I just did a quick search online to see what Behringer did and it turns out that the X32 did their own hack and because of it, they can’t interact with most OSC applications out there (sigh), not just GP.
UDP packets are generally one-way. There is no assumption of a response.
So most UDP (OSC is implemented with UDP) applications will use a random source port and an explicit destination port. If you look at applications like Lemur, Touch OSC, etc — they all define on what port they RECEIVE incoming messages.
GP could probably be modified to define an explicit source port and I’ll put this idea in our tracking system.
That would be great! The Behringer mixers are pretty popular with the ‘Weekend Warrior’ set, so being able to configure the send port would hopefully be an easy win - and maybe give GP a USP of being compatible out the box.
Yes, Behringer’s approach was a bit ‘off piste’, but is actually a pretty neat way of keeping multiple clients in sync with the mixer state. Having a pub / sub type mechanism means any changes from one client are pushed out to the other clients, rather than each client continually polling the mixer for the current state - which I can’t imagine working very well.