Re: Friend shown offline on list when he's actually online.
Is your friend by any chance set to be in "Invisible" mode on Origin? If yes, you or anyone else will not be able to see him as online and he will always appear offline.
Tell him when logging in, to turn off "Log me as Invisible" option or tell him if he is already in origin to press his status (top corner in Origin client on the right, the little blue/green/white circle) and select Online or select the game status if he is already in the game.
Once he does that, he should show as visible. If he is still invisible in the BF1 UI, then both of you exit the game, log out of Origin and make sure you are both set to visible and not invisible status and then join back in the game.
If it still does not work, reinstall origin and then run it in Administrator mode. If it is still not working, enable the Origin overlay for BF1 and relaunch the game. To do that for BF1, select the BF1 game icon in your library, then select "Show Game Details", then select the cog wheel next to play, then select "Game Properties" and then activate Origin for BF1 and press save.