I resolved liu159's issues outside this thread.
I should have updated this thread after doing so.
1. liu159's snapin is making a 1Party makeCall. liu159 wanted to play an announcement to the party that answered the call. This worked when the snapin was installed on Breeze 3.0.
2. After upgrading Breeze to 3.1.1, the callAlerting(), nor callAnswered() call backs were not being invoked, so no announcement was played.
3. I informed liu159 they needed to add the following piece of code to set the media policy to INCLUDED before calling call.initiate().
call.getCallPolicies().setMediaServerInclusion(MediaServerInclusion.INCLUDED);
The following line of code suggested by Swapnil_Bhosale could have been used instead, but is deprecated.
call.enableMediaBeforeAnswer();
4. Things still did not work. The issue liu159 was now facing was addressed in a patch for 3.1.1 that liu159 did not have installed. Instead of instructing liu159 to install the latest patch for 3.1.1, I suggested they upgrade to 3.1.1.1.
5. The call proceeded further, but the party answering the call could not hear an announcement. I instructed liu159 to change their snapin code FROM playing the annc to call.getCalledParty() TO playing the annc to call.getAnswringParty(). I theorized that something downstream was causing the 'calledParty' to be different than the 'answeringParty'. This can happen in cases of downstream forking, or a far end that responds with a different user/domain in the provisional and final SIP responses.
6. The scenario finally worked.