exten => h,n,AGI(agi.php,${ANSWEREDTIME},${DIALSTATUS})
При исходящем звонке эта конструкция отработает если трубку первым положит абонент "В". Если первым кладет трубку абонент "А", то канал закрывается и до этого пункта dialplan астериск вообще не доходит.
Вторая рекомендация, использовать таймауты в скрипте, что бы он не зависал в памяти по какой либо причине.
Что бы это обойти, лучше использовать handler.
https://wiki.asterisk.org/wiki/display/AST/Hangup+...