updated to FS git HEAD 5e3a6fc5e6f40be5d68c8b3cfbbfa3227fe06c2f
[openwrt/svn-archive/archive.git] / net / freeswitch / files / etc.minimal / dialplan / default.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 NOTICE:
4
5 This context is usually accessed via authenticated callers on the sip profile on port 5060
6 or transfered callers from the public context which arrived via the sip profile on port 5080.
7
8 Authenticated users will use the user_context variable on the user to determine what context
9 they can access. You can also add a user in the directory with the cidr= attribute acl.conf.xml
10 will build the domains ACL using this value.
11 -->
12 <!-- http://wiki.freeswitch.org/wiki/Dialplan_XML -->
13 <include>
14 <context name="default">
15
16 <extension name="unloop">
17 <condition field="${unroll_loops}" expression="^true$"/>
18 <condition field="${sip_looped_call}" expression="^true$">
19 <action application="deflect" data="${destination_number}"/>
20 </condition>
21 </extension>
22
23 <extension name="redial">
24 <condition field="destination_number" expression="^870$">
25 <action application="transfer" data="${hash(select/${domain_name}-last_dial/${caller_id_number})}"/>
26 </condition>
27 </extension>
28
29 <extension name="global" continue="true">
30 <condition field="${call_debug}" expression="^true$" break="never">
31 <action application="info"/>
32 </condition>
33 <condition field="${sip_has_crypto}" expression="^(AES_CM_128_HMAC_SHA1_32|AES_CM_128_HMAC_SHA1_80)$" break="never">
34 <action application="set" data="sip_secure_media=true"/>
35 <!-- Offer SRTP on outbound legs if we have it on inbound. -->
36 <!-- <action application="export" data="sip_secure_media=true"/> -->
37 </condition>
38 </extension>
39
40 <!-- If sip_req_host is not a local domain then this has to be an external sip uri -->
41 <!--
42 <extension name="external_sip_uri" continue="true">
43 <condition field="source" expression="mod_sofia"/>
44 <condition field="${outside_call}" expression="^$"/>
45 <condition field="${domain_exists(${sip_req_host})}" expression="true">
46 <anti-action application="bridge" data="sofia/${use_profile}/${sip_to_uri}"/>
47 </condition>
48 </extension>
49 -->
50
51 <extension name="call_return">
52 <condition field="destination_number" expression="^\*69$|^869$|^lcr$">
53 <action application="transfer" data="${hash(select/${domain_name}-call_return/${caller_id_number})}"/>
54 </condition>
55 </extension>
56
57 <extension name="extension-intercom">
58 <condition field="destination_number" expression="^8(100[0-4])$">
59 <action application="set" data="dialed_extension=$1"/>
60 <action application="export" data="sip_auto_answer=true"/>
61 <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
62 </condition>
63 </extension>
64
65 <extension name="google_in" continue="true">
66 <condition field="caller_id_name" expression="^(Google Voice|(.*)gmail.com(.*))$">
67 <action application="log" data="Google Voice Call Incoming"/>
68 <action application="set" data="execute_on_answer=send_dtmf 1"/>
69 </condition>
70 </extension>
71
72 <!--
73 dial the extension (1000-1004) for 2 minutes before giving up
74 otherwise hang up after a successful bridge (hangup_after-bridge=true).
75 Record call if *2 is pressed during call.
76 -->
77 <extension name="Local_Extension">
78 <condition field="destination_number" expression="^(100[0-4])$">
79 <action application="set" data="dialed_extension=$1"/>
80 <action application="export" data="dialed_extension=$1"/>
81 <!-- bind_meta_app can have these args <key> [a|b|ab] [a|b|o|s] <app> -->
82 <!-- <action application="bind_meta_app" data="1 b s record_session::$${recordings_dir}/${caller_id_number}.${strftime(%Y-%m-%d-%H-%M-%S)}.wav"/> -->
83 <action application="set" data="ringback=${us-ring}"/>
84 <!-- <action application="set" data="transfer_ringback=$${hold_music}"/> -->
85 <action application="set" data="call_timeout=240"/>
86 <!-- <action application="set" data="sip_exclude_contact=${network_addr}"/> -->
87 <action application="set" data="hangup_after_bridge=true"/>
88 <!--<action application="set" data="continue_on_fail=NORMAL_TEMPORARY_FAILURE,USER_BUSY,NO_ANSWER,TIMEOUT,NO_ROUTE_DESTINATION"/> -->
89 <action application="set" data="continue_on_fail=false"/>
90 <!--<action application="set" data="called_party_callgroup=${user_data(${dialed_extension}@${domain_name} var callgroup)}"/>-->
91 <!--<action application="export" data="nolocal:sip_secure_media=${user_data(${dialed_extension}@${domain_name} var sip_secure_media)}"/>-->
92 <action application="bridge" data="user/${dialed_extension}@${domain_name}"/>
93 </condition>
94 </extension>
95
96 <extension name="show_info">
97 <condition field="destination_number" expression="^9992$">
98 <action application="answer"/>
99 <action application="info"/>
100 <action application="sleep" data="250"/>
101 <action application="hangup"/>
102 </condition>
103 </extension>
104
105 <extension name="delay_echo">
106 <condition field="destination_number" expression="^9995$">
107 <action application="answer"/>
108 <action application="delay_echo" data="5000"/>
109 </condition>
110 </extension>
111
112 <extension name="echo">
113 <condition field="destination_number" expression="^9996$">
114 <action application="answer"/>
115 <action application="echo"/>
116 </condition>
117 </extension>
118
119 <extension name="milliwatt">
120 <condition field="destination_number" expression="^9997$">
121 <action application="answer"/>
122 <action application="playback" data="tone_stream://%(251,0,1004);loops=-1"/>
123 </condition>
124 </extension>
125
126 <extension name="tone_stream">
127 <condition field="destination_number" expression="^9998$">
128 <action application="answer"/>
129 <action application="playback" data="tone_stream://path=${base_dir}/conf/tetris.ttml;loops=10"/>
130 </condition>
131 </extension>
132
133 <extension name="fur_elise">
134 <condition field="destination_number" expression="^9991$">
135 <action application="answer"/>
136 <action application="playback" data="tone_stream://path=${base_dir}/conf/fur_elise.ttml;loops=10"/>
137 </condition>
138 </extension>
139
140 <extension name="dial_through_gateway">
141 <!-- Dial any 10 digit or 1+10 number -->
142 <condition field="destination_number" expression="^(1{0,1}\d{10})$">
143 <action application="bridge" data="sofia/gateway/example.com/$1" />
144 </condition>
145 </extension>
146
147 <extension name="laugh break">
148 <condition field="destination_number" expression="^9386$">
149 <action application="answer"/>
150 <action application="sleep" data="1500"/>
151 <action application="playback" data="phrase:funny_prompts"/>
152 <action application="hangup"/>
153 </condition>
154 </extension>
155
156 <!--
157 You can place files in the default directory to get included.
158 -->
159 <X-PRE-PROCESS cmd="include" data="default/*.xml"/>
160
161 <!--
162 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
163
164 Anything you put below this line will may get ignored due to the files in
165 default/*.xml
166
167 WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
168 -->
169
170 </context>
171 </include>