]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Skinny: prepare config for skinny-patterns dialplan
authorMathieu Parent <math.parent@gmail.com>
Tue, 20 Apr 2010 20:39:20 +0000 (22:39 +0200)
committerMathieu Parent <math.parent@gmail.com>
Tue, 20 Apr 2010 20:39:20 +0000 (22:39 +0200)
conf/dialplan/skinny-patterns.xml [new file with mode: 0644]
conf/dialplan/skinny-patterns/20-Demo.xml [new file with mode: 0644]
conf/dialplan/skinny-patterns/20-Local_extension.xml [new file with mode: 0644]
conf/dialplan/skinny-patterns/90-External.xml [new file with mode: 0644]
conf/dialplan/skinny-patterns/99-Default_Drop.xml [new file with mode: 0644]
conf/skinny_profiles/internal.xml

diff --git a/conf/dialplan/skinny-patterns.xml b/conf/dialplan/skinny-patterns.xml
new file mode 100644 (file)
index 0000000..a78b83b
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    NOTICE:
+
+    This context is used for skinny to match dialed number
+
+    The special applications:
+    - skinny-route tells skinny to route the call
+    - skinny-drop tells skinny to drop the call
+    - skinny-wait tells skinny to wait 'data' seconds for more numbers before drop
+-->
+<!-- http://wiki.freeswitch.org/wiki/Mod_skinny -->
+<include>
+  <context name="skinny-patterns">
+    <!--
+    Wait 10 seconds for another digit by default
+    -->
+    <extension name="Default">
+      <condition>
+        <action application="skinny-wait" data="10"/>
+      </condition>
+    </extension>
+
+    <!--
+       You can place files in the skinny-patterns directory to get included.
+    -->
+    <X-PRE-PROCESS cmd="include" data="skinny-patterns/*.xml"/>
+    
+  </context>
+</include>
diff --git a/conf/dialplan/skinny-patterns/20-Demo.xml b/conf/dialplan/skinny-patterns/20-Demo.xml
new file mode 100644 (file)
index 0000000..0246fe2
--- /dev/null
@@ -0,0 +1,8 @@
+<include>
+  <extension name="Demo">
+    <condition field="destination_number" expression="^(9[0-9]{3})$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/conf/dialplan/skinny-patterns/20-Local_extension.xml b/conf/dialplan/skinny-patterns/20-Local_extension.xml
new file mode 100644 (file)
index 0000000..488d740
--- /dev/null
@@ -0,0 +1,8 @@
+<include>
+  <extension name="Local_Extension">
+    <condition field="destination_number" expression="^(10[01][0-9])$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/conf/dialplan/skinny-patterns/90-External.xml b/conf/dialplan/skinny-patterns/90-External.xml
new file mode 100644 (file)
index 0000000..706bf74
--- /dev/null
@@ -0,0 +1,8 @@
+<include>
+  <extension name="External">
+    <condition field="destination_number" expression="^(0[0-9]{10,})$">
+      <action application="skinny-route"/>
+    </condition>
+  </extension>
+</include>
+
diff --git a/conf/dialplan/skinny-patterns/99-Default_Drop.xml b/conf/dialplan/skinny-patterns/99-Default_Drop.xml
new file mode 100644 (file)
index 0000000..897fd8f
--- /dev/null
@@ -0,0 +1,9 @@
+<include>
+  <!-- drop long dialed number -->
+  <extension name="Default_Drop">
+    <condition field="destination_number" expression="^(.{14,})$">
+      <action application="skinny-drop"/>
+    </condition>
+  </extension>
+</include>
+
index e9b08133d3dd52f91fd96438d69604db30e5ea94..eaa493c047ddb1b973d3f5087ff190d86f111e5d 100644 (file)
@@ -3,6 +3,8 @@
     <param name="domain" value="$${domain}"/>
     <param name="ip" value="$${local_ip_v4}"/>
     <param name="port" value="2000"/>
+    <param name="patterns-dialplan" value="XML"/>
+    <param name="patterns-context" value="skinny-patterns"/>
     <param name="dialplan" value="XML"/>
     <param name="context" value="default"/>
     <param name="keep-alive" value="60"/>