Hello,
I have an answer to a very frustrating problem, so I made an account to post the info in case it helps someone.
I play Arma 3 multiplayer with a friend. Usually we play something like Escape 10 Malden, just him and I against the AI.
I would host and set up the game, but when he tried to join, he would be instantly disconnected.
I'd see a message like "Friend's Name joining", followed by "Friend's Name disconnected" a few seconds later.
We tried a million things like port forwarding etc, without success.
Through trial, error and luck, we got around the issue.
1. I host the game as normal, and wait at the player type selection screen.
2. I select my player name, and drag it over the player type (e.g. autorifleman) I want to be (DO NOT let go of mouse button).
3. I tell him to join my game.
4. When I see "Friend's Name connecting", I release the mouse button over my desired player type.
5. My friend should now appear in the player list with no problems.
edit: You need to time the mouse button release between "Player connecting" and "Player connected"
Hope this helps!