Hello all, why does this: <extension name="catch_simple_message_from_originate"> <condition field="destination_number" expression="^(simple_message)$" require-nested="false"> <action application="ring_ready"/> <action application="answer"/> <action application="sleep" data="1000"/> <action application="playback" data="${audio}"/> <condition field="${record_voicemail}" expression="^true$"> <action application="log" data="CRIT I will be recording!"/> <action application="record_session" data="tmp/${record_filename}.mp3"/> </condition> <action application="hangup" date="NORMAL_CLEARING"/> </condition> </extension> Why when executed is moved around? The hangup should execute AFTER the inner condition Dialplan: sofia/external/1234567890@sip.mydomain.com Action sleep(1000) Dialplan: sofia/external/1234567890@sip.mydomain.com Action playback(${cdrBucket}/${audio1}) Dialplan: sofia/external/1234567890@sip.mydomain.com Action hangup() |--- Dialplan: Processing recursive conditions level:1 [catch_simple_message_from_originate_recur_1] require-nested=FALSE |--- Dialplan: sofia/external/1234567890@sip.mydomain.com Regex (PASS) [catch_simple_message_from_originate_recur_1] ${record_voicemail}(true) =~ /^true$/ break=on-false |--- Dialplan: sofia/external/1234567890@sip.mydomain.com Action log(CRIT I will be recording!) |--- Dialplan: sofia/external/1234567890@sip.mydomain.com Action record_session(tmp/${record_filename}.mp3) Regards, David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337