i am trying to allow a "phone roulette" situation where two callers from the ivr can be randomly be joined together. I need the following options

2 for next caller
0 go back to ivr menu

the matchup seems to work but once in a bridge the caller who press 2 moves on but the other caller gets hung up on from the whole system and has to call back. is there a better way to match callers in this scenario without the hangup. here is the extension:

<extension name="valet_parking_destination_ext" >

   <condition field="destination_number" expression="^533$">

        <action application="answer"/>

<action application="clear_digit_action" data="all"/>
<action application="bind_digit_action" data="moderator,0,exec:transfer,399 XML default"/>
<action application="bind_digit_action" data="moderator,2,exec:transfer,533 XML default"/>
<action application="playback" data="C:/Program Files/FreeSWITCH/recordings/randomchatsimple.wav"/>
        <action application="valet_park" data="valet_lot 533"/>

 <action application="transfer" data="533 xml default"/>

   </condition>
</extension>