This is very strange behaviour. It should act the same in the simulator as it does with a regular incoming call.
I just tested both the simulator and an incoming VoIP call on my end, and there were no problems, it worked as expected.
What kind of behaviour is the plug-in showing? Here are some examples and possible reasons.
The plug-in does not appear at all, not even the quick splash/loading screen
- Indicates the plug-in isn't being run at all, even on older PCs that may not be able to handle the program (which is not the case for you), it should show the splash screen.
The plug-in briefly appears with a splash screen and immediately closes itself with no warning/error (1 of 2 possible reasons)
- The plug-in was not given a proper Caller ID number. The plug-in will take in the cid variable and strip it of anything but digits. If nothing is left (meaning no digits), it closes itself.
This could indicate IVM is not correctly passing on the caller ID.
- The plug-in can't run on this computer (not the case as it runs fine with the simulator as you said)
The plug-in shows an error indicating a failure to initialize a drawing surface
- Your DirectX may be out of date, the computer may have too little video memory available (unlikely as it works fine with the simulator)
"ERROR in action number 1 of Alarm Event"
- Indicates the path to the IVM executable was invalid / ivm.exe was not found. You can put the plug-in in the same folder as IVM and use ivm.exe as the path to make it easier for you.
I just tested running the plug-in with caller ID '3332628694' to make sure the plug-in could call it back correctly.. it worked. So it's not the number that's causing the problem either.
Somehow I feel IVM must be responsible, something in IVM must be causing the CID to be passed on to the plug-in only in the simulated calls.
Are you using the same OGM for simulator calls and you VoIP calls, is there anything you can think of that is making your simulator tests act differently than your real tests? What IVM version are you using?
The thing is it works perfectly on my end for both simulated and real calls, so I find the behaviour you encountered very strange.