One thing is button status, and another thing is performing actions across servers. Forget about fop2, first think on your setup locally. If you have two servers, you must have a dialplan that lets you dial from one server to the other and viceversa. In that dialplan, extensions MUST be unique and dial should be done directly with no prefixes if you plan to use fop2 to spy other servers extensions.
Your extension is on server A
The extension you intend to spy on is on server B
In that case, chanspy must be performed on server B, using Local/xxxx as the originator of the command, where xxxx is the extension you must dial from server B so your extension on server A rings. So, originatechannel for your extension must be set to Local/xxxx.
If on server A you dial yyyy to ring your extension, and on server B you dial xxxx, then it will not work with fop2 as you expect.
And finally, chanspy sometimes does not work. If the chanspy command is issued on the correct server, using local/xxx to ring the remote server extension, everything else is setup but you get no sound. then it is not a fop2 issue, but an asterisk/networking/chanspy issue. fop2 is the command center, once the command is launched, from then on is asterisk/network/setups.
Best regards,