SIMCOM X Voice application

Suggestions, ideas and general discussion about JoinFS.
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Thanks Tony.
Obviously not what I wanted to hear as a voice app is a bit useless if you can't hear anyone.
But still it's a good sign that everyone can see each other as that means everyone is connecting.
You should be able to send text messages between each other, so that narrows it down a lot.

The COM2 STBY is a good spot, that's likely to be a typo in the code which should be easy once I've found it.

The real IP you ask about is for when the proxy box is ticked.

If a user uses VPN programs such as NordVpn, Windscribe or is stuck behind a VPN at work or university for example, simcomx would use the VPN IP meaning that clients wouldn't be able to connect.
If you tick the proxy box this allows you to input your real external IP which other simcom X clients would send data to whilst the rest of the PC would still use the VPN.

Infact thinking about it...
You could try that way incase the voice side of things is sending voice to the wrong IP.
I've mainly been testing locally (internal IP's).

If you get your external IP from whatismyip.com or similar, tick the proxy box and copy/paste your IP that might shed some light.

Users are also able to open 2 clients on the same machine at the moment.
Whilst it would confuse the log file, you should also be able to test 2 clients with simcomx mode ticked or 127.0.0.1 entered as the group mode IP.
Both clients will need different ports.

Im just reading a few posts back....

When you first tried the app dale152 you were hearing each other but intermittently?
dale152
Posts: 34
Joined: Fri Apr 03, 2020 3:03 pm

Re: SIMCOM X Voice application

Post by dale152 »

Hi Roo,

Yes you would be correct. There was a phase where we could hear each other, but randomly so (what I mean by this is that, the audio was clear for a whole transmission when it worked (well slightly quiet), but other times it was completely silent) - but we had a similar experience to Tony in that the TX/RX always lit up regardless of whether it was audible.
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Thanks.
I thought of something earlier on and I've just managed to get 10mins to myself.

V3.0.0.6 "SHOULD" Allow voice.

There will be things not working like the RX light.
But you should be able to communicate?
kc10b747fe
Posts: 54
Joined: Wed Mar 01, 2017 6:04 am

Re: SIMCOM X Voice application

Post by kc10b747fe »

Roo,

Thanks for the info. I'll check out the next version the next time my flying partner and I get a chance to fly.

Tony J
dale152
Posts: 34
Joined: Fri Apr 03, 2020 3:03 pm

Re: SIMCOM X Voice application

Post by dale152 »

Thanks Roo, looking forward to trying it.
dale152
Posts: 34
Joined: Fri Apr 03, 2020 3:03 pm

Re: SIMCOM X Voice application

Post by dale152 »

Hi Roo,

I'm wondering how you go about using the group server function? If it's local to a device and only when SIMCOM X is running, is it possible for a permanently running group server to be ran on a VPS?

Kind Regards,
Dale
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

I can't see why it can't be run on a VPS that way.

It doesn't need to be though.
The group mode and SCX mode work exactly the same way.

1. User1 turns their Simcom X on.
This starts listening on a specific UDP port.

2. A 2nd user opens Simcom X, let's call them User2.
They enter the IP and Port of User1, click the on button and connect directly to User1.
User1 receives data from User2 and adds them to a list.
User1 then replies to User2. "Hiya, here are my details".

User2 receives User1s details (frequency they are tuned to etc....) and adds it to their list.

User1s list is now exactly the same as User2s list (synced).

3. A 3rd user opens Simcom X.
They can either enter the IP and Port of User1 or User2.
They decide to connect to User2.
User2 says "Hiya, Here are my details".....
But by the way, I'm also talking to User1, here are their details.
User3 says thank you, adds User2 to their list and contacts User1 with the details User2 sent them.

4. User4 joins in.
They can enter the IP and port of User1, User2 or User3.......

This method means that if User1 has a power cut and loses connection to the internet, it doesn't matter.
All the other users have each others details and can still speak to each other.

Lost yet?

Basically,
Yes you can run a SimcomX client as a server.
And I assume you'd want to do that so that your group always has the same IP details to enter into their client?

But it's not needed to be run as a server.
If any of that makes sense?
dale152
Posts: 34
Joined: Fri Apr 03, 2020 3:03 pm

Re: SIMCOM X Voice application

Post by dale152 »

Thanks, yeah that makes sense - and you'd be right, it's so we can all login with the same IP and then nobody has to chase up who's IP is in use.

I'll be doing some more testing on the V3.0.0.8 soon, so far I'm still having issue with the CONFIG button, I'll let you know how the others get on.

Are you able to increase the character limit when ATC mode is enabled? It prevents us from logging in with the full callsign to split positions e.g. LON_N_CTR or EGCC_N_TWR because they're too long to fit.
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

In that case it maybe a good idea to write a small "server" program, which would solely hold a list of users.
That would save a whole client being run.
That would be at the back of the list though after the ATC client.

I'm not sure why the config button is still throwing an error. It's probably being closed somewhere instead of hidden, so I'll have another look.

I'm afraid I can't increase the ATC callsign as it would cause issues.
A correct ATC callsign is needed for the distance feature.

When you're a pilot, Simcom X can gain your lat lon from the SIM.
The ATC lat lon is gained from the file airports.dat and uses the first 4 characters of the ATC callsign.

So even if the ATCO isn't using the distance feature, there maybe a pilot flying in the states on the same frequency.
Hearing London Center whilst flying in Las Vegas (for example) would be annoying. So the pilot could tick the distance box to limit what they hear.

For the case of splitting positions..
You would both enter the Correct ICAO_POS (EGTT_CTR) but use different frequencies.

A list of FIR ICAO codes can be found below.

https://theairlinepilots.com/flightplan ... irlist.php

I'll be honest I've not added all the FIRs yet (only airports), but I'll get them in the next version.

V3.0.0.8 should also have a self test feature.
Type ST ON in the chat window and you should hear yourself.
ST OFF will stop it.
It works best when the client is powered off and is a good way to test your Mic/client volume.

Windows likes to automatically lower the client volume at the moment when its first started. I think I fixed that in the version I'm working on at the moment.
kc10b747fe
Posts: 54
Joined: Wed Mar 01, 2017 6:04 am

Re: SIMCOM X Voice application

Post by kc10b747fe »

Roo,

We had a chance to check out 3.0.0.8 yesterday. We did a complete uninstall of any previous versions as well as deleting Roo folder created in App Data Local and Roaming folders to start with a clean slate.

Unfortunately we had no success in getting any audio with either SCX mode or join group mode. We connected to each other with no problem.

We were able to send messages via chat. We also tried with proxy mode ticked but with the same results. The same results occurred whether UPNP was ticked or not also.

We also tried the self test feature but I could not hear myself, and my flying partner said when he tried to run self test the app would crash. Again we can see each other transmitting and receiving (indicated by the TX and RX lights). The issue of the swapping of the frequencies between COM2 standby and active works correctly now.

When pressing the PTT button, with the volume mixer open the volume slider would go to zero. I could make it stay in its position as long as the focus was not on the SIMCOMX slider in the mixer.

We reinstalled 2.2.2.5 with no issues and it continues to work flawlessly for us.

I copied part of the log file when I tried today by myself which shows when the self test started and stopped. The same error occurred between both time stamps so I left them out.

Hope this info helps,

Tony J

###### SimCom X Log for Version 3.0.0.8 Created at 16:45:35 15/05/2022 Zulu ######
16:45:35 Our ID = a94821a7-3d04-4c5b-8a24-6a6297deb123
16:45:36 Upnp Unticked.
16:46:16 Local IP = xxx.xxx.xxx.xxx
16:46:16 External IP = xxx.xxx.xxx.xxx
16:46:21 Confirmed with STUN!
16:46:21 Radio is listening on 7600
16:46:21 Not yet Verified!
16:46:21 COM 1 switched to ---.---
16:46:21 COM 2 switched to ---.---
16:46:21 Added N7460TJ as a PILOT
16:46:22 Trying to Connect to SimConnect!
16:46:22 Successfully Connected SimCom X to SimConnect!
16:46:22 SimConnect COM1 Freq = 118.750
16:46:22 SimConnect COM2 Freq = 124.400
16:46:22 Added N7460TJ as a PILOT
16:46:23 COM 1 switched to 118.750
16:46:23 COM 2 switched to 124.400
16:47:15 Radio stopped listening.
16:47:15 Clients Removed!
16:47:15 COM 1 switched to
16:47:15 COM 2 switched to
16:47:15 SimConnect Disconnected!
16:47:24 Self Test Started!
16:47:25 Voice Error
NSpeex.InvalidFormatException: Invalid mode encountered: 12
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 205
at NSpeex.SbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SbDecoder.cs:line 112
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)

16:47:45 Voice Error
NSpeex.InvalidFormatException: Invalid mode encountered: 12
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 205
at NSpeex.SbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SbDecoder.cs:line 112
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)
16:47:46 Self Test Stopped!
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Oooo excellent. A codec error. I'd not even looked at them.

Thanks Tony, leave it with me and I'll try to reproduce it.

I knew the self test was a good idea.
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Well after changing lots of code to do things different ways and lots of head scratching, as to why it works for me and not others..... I think I've just come across a very simple mistake.

V3.0.0.11 should allow everyone to hear each other.
If you can, great (although I'll still be annoyed with myself).

There have been a number of fixes between 3.0.0.8 and 11.
Windows Volume should increase and decrease the simcom X volume, depending on the volume set for the receiving Com radio.

You should be able to hear others (sort of important that one).

There is a self test feature.
Type ST ON in the chat window to hear yourself.
Type ST OFF to stop hearing yourself.
Typing ST ON and then ST ON again will cause you issues, I'll tidy it up once I know voice is working correctly.

Seeing all users in the user windows may also be a bit flakey at the moment, due to all the changes I needlessly made. If you can see them in the chat, you should be able to hear them.

What you type in the chat is also shown now as I noticed that was missing earlier.

The proxy/VPN feature won't work at the moment.

I appreciate all the testing people have been doing, I'm mainly looking for people to say "Yup. I can hear others" then I'll tidy it all back up and finish the ATC client.
kc10b747fe
Posts: 54
Joined: Wed Mar 01, 2017 6:04 am

Re: SIMCOM X Voice application

Post by kc10b747fe »

Hey Roo,

Glad to be of service.

Downloaded 30011 to test. Self test still throwing errors. Will be testing in a couple of hours with flying partner to see if we can hear each other. Will let you know the results.

This is the log from the self test. The same error occurred between both time stamps so I left them out.

Tony J

###### SimCom X Log for Version 3.0.0.11 Created at 15:04:02 17/05/2022 Zulu ######
15:04:02 Our ID = e329f123-2b22-4fc1-9d09-249ebe21ee6c
15:04:04 7600 is already in use by Simcom X
15:04:29 Self Test Started!
15:04:29 Voice Error
NSpeex.InvalidFormatException: Invalid mode encountered: 12
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 205
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)

15:04:36 Voice Error
NSpeex.InvalidFormatException: Invalid mode encountered: 12
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 205
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)
15:04:36 Self Test Stopped!
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Thanks Tony.

I actually swaped the codec to see if that made a difference, obviously not.

I'm going to have to research that one.
To be honest, if it's doing that you probably won't hear any voice. Others should hear you though, providing they don't have the same error.
kc10b747fe
Posts: 54
Joined: Wed Mar 01, 2017 6:04 am

Re: SIMCOM X Voice application

Post by kc10b747fe »

Roo,

Test on 3011 unsuccessful in SCX or Join group mode. All indications were the same.

I'm sure you'll figure it out.

Tony J

This is my log file while powered on and connected:

###### SimCom X Log for Version 3.0.0.11 Created at 17:58:05 17/05/2022 Zulu ######
17:58:05 Our ID = 6017f0ff-dc23-4dd3-bc30-a3b11f883112
17:58:07 7600 is already in use by Simcom X
17:58:22 Local IP = xxx.xxx.xxx.xxx
17:58:22 External IP = xxx.xxx.xxx.xxx
17:58:25 Confirmed with STUN!
17:58:25 Radio is listening on 7600
17:58:25 Not yet Verified!
17:58:25 COM 1 switched to ---.---
17:58:25 COM 2 switched to ---.---
17:58:26 Trying to Connect to SimConnect!
17:58:26 Successfully Connected SimCom X to SimConnect!
17:58:26 SimConnect COM1 Freq = 130.600
17:58:26 SimConnect COM2 Freq = 124.400
17:58:26 Added N7460TJ as a PILOT
17:58:26 COM 1 switched to 130.600
17:58:27 COM 2 switched to 124.400
17:58:27 Added N6AC
17:58:27 Successfully Verified!
17:59:12 SimConnect COM2 Freq = 123.450
17:59:12 COM 2 switched to 123.450
18:02:29 Radio stopped listening.
18:02:29 Clients Removed!
18:02:30 SimConnect Disconnected!
18:02:32 SimCom X Closing...
18:02:32 Clients Removed!
18:02:32 Port Removed!
18:02:32 Simcom X Closed Successfully!

This is my flying partner's self test log file.

###### SimCom X Log for Version 3.0.0.11 Created at 18:50:13 17/05/2022 Zulu ######
18:50:13 Our ID = f922e5fa-414c-4003-9450-310a311c155c
18:50:15 7600 is already in use by Simcom X
18:50:38 Self Test Started!
18:50:38 Voice Error
NSpeex.InvalidFormatException: Invalid sideband mode encountered. (2nd sideband): 7
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 169
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)
18:50:38 Voice Error


NSpeex.InvalidFormatException: Invalid sideband mode encountered. (2nd sideband): 5
at NSpeex.NbDecoder.Decode(Bits bits, Single[] xout) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\NbDecoder.cs:line 169
at NSpeex.SpeexDecoder.Decode(Byte[] inData, Int32 inOffset, Int32 inCount, Int16[] outData, Int32 outOffset, Boolean lostFrame) in C:\Users\yuka\Documents\GitHubVisualStudio\NSpeex\src\NSpeex\SpeexDecoder.cs:line 137
at SIMCOM_X.SpeexChatCodec.Decode(Byte[] data, Int32 offset, Int32 length)
at SIMCOM_X.NetworkAudioPlayer.OnDataReceived(Byte[] compressed)
at SIMCOM_X.UdpAudioReceiver.ListenerThread(Object state)
18:51:35 Self Test Stopped!
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Thanks Tony. As I suspected when you posted the codec error.

The good news (if any) is that you are both receiving the voice data, else you wouldn't have that error trying to play it.
So it's narrowed it down and my silly mistake earlier has rectified 1 issue.

My client is online at the moment whilst I work on it in-between bedtimes.
User avatar
GianP
Posts: 9
Joined: Tue May 17, 2022 7:19 pm

Re: SIMCOM X Voice application

Post by GianP »

Hi Roo
Just to inform I-TEST joined this forum. Going online now
cheers from Varese
Last edited by GianP on Tue May 17, 2022 7:58 pm, edited 1 time in total.
GianP
-------------------
Homepage: gianp.altervista.org ** Homeserver: gianp.onmypc.net (seldom online on internet)
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

GianP wrote: Tue May 17, 2022 7:36 pm Hi Roo
Just to inform I-TEST joined this forum. Going online now
cheers from Varese
Hi Gian,
Welcome to Peters JoinFS forums.
It was nice to quickly speak earlier, your help was appreciated.
Grazie mille.

An update.
I managed to find 30mins between a baby crying and a 6yr old asking what would happen if the sun imploded.

So I totally rewrote the self test feature after having a hunch. Let me know if we still get the nasty codec issue. It's working for me, but then so is everything else. 🙄
Version 12 was born.

I then roped my brother in to the testing with his new fangled windows 11 machine.
I could hear him and he could hear me. Good stuff, but then he got Tony's Config error.

So with help from him I made yet another edit, it seems windows 11 didn't like the way I was opening extra windows in the app, this should now also be fixed.
Version 13 was born.

Whilst testing I let my brother leave and live his life when Gian from Italy joined SCX mode.

I had tried to speak to Gian yesterday when I saw him without success. But today.... wahey we had a 10minute conversation with my broken Italian (sorry for my bad italian Gian).

These test were in SCX mode with no ports forwarded and upnp unticked. So it proved my background black magic to help people simply connect, without tinkering with their router works.

One thing I'm yet to try is multiple users on the same frequency, as I've only managed to see one person at a time.

As always I appreciate all the help and let me know the fix's I need to add.
Last edited by ATC Roo on Tue May 17, 2022 9:18 pm, edited 1 time in total.
ATC Roo
Posts: 721
Joined: Sun Oct 16, 2016 9:24 am
Location: UK
Contact:

Re: SIMCOM X Voice application

Post by ATC Roo »

Just looking again.
This bit is confusing me in your log Tony.
"17:58:07 7600 is already in use by Simcom X
17:58:25 Radio is listening on 7600"

If the port is already in use, how can the radio be listening on that port?

That could be the source of the problems your having.

I'll have a look at that part of my code next time I get chance.

But in the meantime.. if you change the listening port in the config section to something else, does that cure your errors?

If 2 clients are running on the same machine, different ports would be needed if that helps.
User avatar
GianP
Posts: 9
Joined: Tue May 17, 2022 7:19 pm

Re: SIMCOM X Voice application

Post by GianP »

Hi Roo, update for ver. 3.0.0.13
Tested SCX mode using 2 PCs on local ntwk, both Win10 x64, no simulator running.
PC1 - I-TEST (my Sim PC) with camera mic + loudspeakers (nice larsen effect if "ST ON"!)
PC2 - LIMC_TWR (my home srvr) set as ATC (config window) NO mic, speakers only
PC2 input is via "VB-Audio virtual cable" drivers feeding from BFSG atis "generator".

Outcome: all works as designed with good sound quality. Nothing relevant in logs.

Some "flaws".
1) I have 2 output sound devices on both PCs. In the config window I need to set the "wrong one".
Ex: In PC1 I need to set "headphones" to send output to the speakers end vice-versa.
Same on PC2 (virtual cable set to hear via speakers)
2) With only "play sound on RX finish" set there is "mic switch sound" also when PTT key is released after my transmission.
I think this is a leftover from the early versions when RX light was coming on after TX.

Final note: I have port forwarding manually set in my router for both PCs.

Ciao
GianP
-------------------
Homepage: gianp.altervista.org ** Homeserver: gianp.onmypc.net (seldom online on internet)
Post Reply