1) does the ACW state should be forced by the CTI application?
If Communication Manageris configured to automatically move the call to an ACW state when the call terminates, it should not make a difference in how the call terminates (CTI vrs Handset). If it is then I view it as a CM product issue. In order to troubleshoot this we would need quite a bit of information from you. Will you open a DevConnect Technical Support Request (
https://www.devconnectprogram.com/ticket/technicalTicket ) and provide AE Services and Communication Manager release information (swversion at a linux prompt), and screen shots of the configuration you have in place to automatically put the agent into ACW state. Also provide the CTI method the application is using to disconnect the call at the agent (enabling TSAPI tracing and capturing a g3trace may be the best way to do that - one mechanism is described in this FAQ -
https://www.devconnectprogram.com/site/global/products_resources/avaya_aura_application_enablement_services/support/faq/tsapi/index.gsp#10 . Alternatively a DMCC trace Call Control set to FINEST would also suffice )
2) if yes, which is the DMCC function that should be used to do so?
Moving the agent automatically to ACW is a Communication Manager behavior so the choice of DMCC method shouldn't be necessary.
Can you reproduce this problem in a lab setting with the DMCC Dashboard?