1. You don't need to answer the call in the dialplan before calling into httapi
<extension name="test1">
<condition field="destination_number" expression="^6622$">
</condition>
</extension>
<extension name="test2">
<condition field="destination_number" expression="^6621$">
<action application="answer" />
</condition>
</extension>
2. You don't need to answer the call in the httapi script
This one looks quite strange but I think I finally understood it - I can play back sounds or 'say' something without explicitly 'answerring' the call. But the call is 'pre-answerred' only and in this state you won't be able to collect dtmf, for example. I don't know what is the exact difference between a pre-answerred and answerred call but one nice thing is that when you <hangup /> or <break /> in this state the call will be rejected and the caller will hear a 'busy' signal.
3. Answerring the call
You can answer the call with
<application name="answer"/>
but by default there's no permission to run the 'answer' application from httapi script so you need to enable it in httapi.conf.xml
From now on the call is answerred and everything runs as usual.
Best regards
Rafal