<!--
    NOTICE:

    This context is accessed via the wave sip profile listening for calls from Wave.

-->

<!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
<include>
  <context name="wave">

    <extension name="unloop">
      <condition field="${unroll_loops}" expression="^true$"/>
      <condition field="${sip_looped_call}" expression="^true$">
        <action application="deflect" data="${destination_number}"/>
      </condition>
    </extension>

    <extension name="auto_answer" continue="true">
      <condition field="${alert_info}" expression=".*;info=alert-autoanswer;.*">
        <action application="log" data="auto-autoanswer detected, exporting sip_auto_answer"/>
        <action application="export" data="sip_auto_answer=true"/>
      </condition>
    </extension>

    <!--
        Look for Wave V extensions and map them to the actual user
    -->
    <extension name="v_extn">
      <condition field="${sip_to_user}" expression="^v\d\d\d\d\d\d$">
        <action application="log" data="INFO **** Inbound call to V extension $1, attempting to map to user"/>
        <action application="info"/>
        <action application="lua" data="map.lua ${sip_to_user}" />
      </condition>
    </extension>

    <!--
        Tag anything pass thru here as an outside_call so you can make sure not
        to create any routing loops based on the conditions that it came from
        the outside of the switch.
    -->
    <extension name="outside_call" continue="true">
      <condition>
        <action application="set" data="outside_call=true"/>
        <action application="export" data="RFC2822_DATE=${strftime(%a, %d %b %Y %T %z)}"/>
      </condition>
    </extension>
  </context>
</include>
