Add user_exist, and user_record to the dialplan as replacement to app.lua dialplan

This commit is contained in:
Mark Crane
2014-08-03 14:28:50 +00:00
parent 79c687417f
commit ef73103c80
3 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<context name="{v_context}">
<extension name="user_exists" number="" continue="true" app_uuid="897845b0-1f13-444c-84fe-432fd47338ca">
<condition field="" expression="" break="never">
<action application="set" data="user_exists=${user_exists id ${destination_number} ${domain_name}}"/>
</condition>
<condition field="${user_exists}" expression="^true$" break="never">
<action application="set" data="extension_uuid=${user_data ${destination_number}@${domain_name} var extension_uuid}"/>
</condition>
</extension>
</context>

View File

@@ -0,0 +1,55 @@
<context name="{v_context}">
<extension name="user_record" number="" continue="true" app_uuid="43539dd3-d555-4498-835a-3245a0b184ca" enabled="false">
<condition field="" expression="" break="never">
<action application="set" data="user_record=${user_data ${destination_number}@${domain_name} var user_record}"/>
<action application="set" data="from_user_exists=${user_exists id ${sip_from_user} ${sip_from_host}}"/>
</condition>
<condition field="${user_exists}" expression="^true$" break="never"/>
<condition field="${user_record}" expression="^all$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^inbound$" break="never"/>
<condition field="${user_record}" expression="^inbound$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^outbound$" break="never"/>
<condition field="${user_record}" expression="^outbound$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^local$" break="never"/>
<condition field="${user_record}" expression="^local$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${from_user_exists}" expression="^true$" break="never">
<action application="set" data="from_user_record=${user_data ${sip_from_user}@${sip_from_host} var user_record}"/>
</condition>
<condition field="${from_user_exists}" expression="^true$" break="never"/>
<condition field="${from_user_record}" expression="^all$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${from_user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^inbound$" break="never"/>
<condition field="${from_user_record}" expression="^inbound$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${from_user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^outbound$" break="never"/>
<condition field="${from_user_record}" expression="^outbound$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${from_user_exists}" expression="^true$" break="never"/>
<condition field="${call_direction}" expression="^local$" break="never"/>
<condition field="${from_user_record}" expression="^local$" break="never">
<action application="set" data="record_session=true"/>
</condition>
<condition field="${file_exists ${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}}" expression="^false$" break="never">
<action application="system" data="mkdir -p ${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}"/>
</condition>
<condition field="record_session" expression="^true$" break="never">
<action application="set" data="api_on_answer=${uuid_record ${uuid} start ${recordings_dir}/${domain_name}/archive/${strftime(%Y)}/${strftime(%b)}/${strftime(%d)}/${uuid}.${record_ext}}"/>
</condition>
</extension>
</context>