its already programmed in the dialplan
<extension name="valet_park" continue="false" uuid="865053ce-c985-4593-842c-eed2ac1a7900">
<condition field="destination_number" expression="^(park\+)?\*(59[0-9][0-9])$" break="never"/>
<condition field="${sip_h_Referred-By}" expression="sip
.*)@.*" break="never">
<action application="set" data="referred_by_user=$1" inline="true"/>
</condition>
<condition field="destination_number" expression="^(park\+)?\*(59[0-9][0-9])$" break="never">
<action application="set" data="park_in_use=false" inline="true"/>
<action application="set" data="park_lot=$2" inline="true"/>
<action application="info" data=""/>
</condition>
<condition field="destination_number" expression="^(park\+)?\*(59[0-9][0-9])$"/>
<condition field="${referred_by_user}" expression="^.+$" break="never">
<action application="set" data="valet_info_park=${valet_info park@${domain_name}}|\*${park_lot}" inline="true"/>
<action application="set" data="park_in_use=${regex ${valet_info park@${domain_name}}|\*${park_lot}}" inline="true"/>
</condition>
<condition field="${park_in_use}" expression="true" break="never">
<action application="transfer" data="${referred_by_user} XML ${context}"/>
<anti-action application="set" data="effective_caller_id_name=park#${caller_id_name}" inline="true"/>
<anti-action application="set" data="valet_parking_timeout=180"/>
<anti-action application="set" data="valet_hold_music=${hold_music}"/>
<anti-action application="set" data="valet_parking_orbit_exten=${referred_by_user}"/>
<anti-action application="valet_park" data="park@${domain_name} *${park_lot}"/>
</condition>
</extension>