Refactor valet_park dialplan conditions and actions
Found on some servers park_lot variable was not getting set. Added ?: to (?:park)? and then used $1 worked consistently during testing. Variable valet_context set to the domain_name and removed referred_by_host reason for this change is that the context shouldn't need to change. Since the referred_by_host variables were not used, the sip_refer_to conditions were no longer needed.
This commit is contained in:
@@ -1,31 +1,25 @@
|
||||
<extension name="valet_park" number="park+*5901-*5999" context="${domain_name}" continue="false" app_uuid="3cc8363d-5ce3-48aa-8ac1-143cf297c4f7" enabled="true" order="470">
|
||||
<condition field="destination_number" expression="^(park)?\+?\*(59(0[1-9]|[1-9][0-9]))$" break="never"/>
|
||||
<condition field="${sip_refer_to}" expression="^.+$" break="never"/>
|
||||
<condition field="${sip_refer_to}" expression="(?:sip:)?@([^:]+)(?::\d+)?" break="never">
|
||||
<action application="set" data="referred_by_host=$1" inline="true"/>
|
||||
</condition>
|
||||
<condition field="destination_number" expression="^(?:park)?\+?\*(59(0[1-9]|[1-9][0-9]))$" break="never"/>
|
||||
<condition field="${sip_h_Referred-By}" expression="(?:sip:)?(\d+)(?:@.*)?" break="never">
|
||||
<action application="set" data="referred_by_user=$1" inline="true"/>
|
||||
</condition>
|
||||
<condition field="destination_number" expression="^(park)?\+?\*(59(0[1-9]|[1-9][0-9]))$" break="never"/>
|
||||
<condition field="destination_number" expression="^(?:park)?\+?\*(59(0[1-9]|[1-9][0-9]))$" break="never"/>
|
||||
<condition field="${referred_by_user}" expression="^.+$" break="never">
|
||||
<action application="set" data="valet_context=${referred_by_host}" inline="true"/>
|
||||
<anti-action application="set" data="valet_context=${domain_name}" inline="true"/>
|
||||
<action application="set" data="valet_context=${domain_name}" inline="true"/>
|
||||
</condition>
|
||||
<condition field="destination_number" expression="^(park)?\+?\*(59(0[1-9]|[1-9][0-9]))$" break="never">
|
||||
<condition field="destination_number" expression="^(?:park)?\+?\*(59(0[1-9]|[1-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="set" data="park_lot=$1" inline="true"/>
|
||||
<action application="set" data="park_uuid=${regex(${valet_info park@${domain_name}}|extension\suuid=.([0-9a-f-]{36})..\*${park_lot}..extension|%1|n)}"/>
|
||||
<action application="multiset" data="callee_id_name=${uuid_getvar ${park_uuid} caller_id_name} callee_id_number=${uuid_getvar ${park_uuid} caller_id_number}"/>
|
||||
|
||||
</condition>
|
||||
<condition field="destination_number" expression="^(park)?\+?\*(59(0[1-9]|[1-9][0-9]))$"/>
|
||||
<condition field="destination_number" expression="^(?:park)?\+?\*(59(0[1-9]|[1-9][0-9]))$"/>
|
||||
<condition field="${referred_by_user}" expression="^.+$" break="never">
|
||||
<action application="set" data="valet_info_park=${valet_info park@${valet_context}}|\*${park_lot}" inline="true"/>
|
||||
<action application="set" data="park_in_use=${regex ${valet_info park@${valet_context}}|\*${park_lot}}" inline="true"/>
|
||||
</condition>
|
||||
<condition field="${park_in_use}" expression="true" break="never">
|
||||
<action application="transfer" data="${referred_by_user} XML ${referred_by_host}"/>
|
||||
<action application="transfer" data="${referred_by_user} XML ${valet_context}"/>
|
||||
<anti-action application="set" data="effective_caller_id_name=${cond ${regex ${direction} | inbound} == true ? 'park#${caller_id_name}' : 'park#${callee_id_name}'}" inline="true"/>
|
||||
<anti-action application="set" data="valet_parking_timeout=900"/>
|
||||
<anti-action application="set" data="valet_hold_music=${hold_music}"/>
|
||||
|
||||
Reference in New Issue
Block a user