ENUM

From FusionPBX
Revision as of 18:43, 26 July 2011 by Admin (talk | contribs) (Enum Dialplan)
Jump to: navigation, search

This is really pretty easy to set up.

Fix enum.conf.xml

vim /usr/local/freeswitch/conf/autoload_configs/enum.conf.xml

Find:

<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/${use_profile}/$1"/>

Change it to:

<route service="E2U+SIP" regex="sip:(.*)" replace="sofia/internal/$1"/>

Option 1: Add Outbound Route

On the latest version of FusionPBX you can use the Outbound Route add tool to try Enum before sending the call to your Gateway. For the first 'Gateway' select 'enum' and the 'Alternate gateway choose your regular Gateway. This will try enum first and if the call fails to bridge with enum it will send your call to your regular gateway.

Option 2: Dialplan

Make sure to change YOUR_AREA_CODE

vim /usr/local/freeswitch/conf/dialplan/default/00000_enum.xml
<extension name="7e164.org" continue="true">
     <condition field="destination_number" expression="^(\d{7})$">
       <action application "log" data="INFO Checking 7-dig Enum"/>
       <action application="set" data="call_direction=outbound" />
       <action application="set" data="continue_on_fail=true" />
       <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />
       <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />
       <action application="set" data="hangup_after_bridge=true" />
       <action application="enum" data="1YOUR_AREA_CODE$1 e164.org"/>
       <action application="bridge" data="${enum_auto_route}"/>
     </condition>
   </extension>

   <extension name="10e164.org" continue="true">
     <condition field="destination_number" expression="^(\d{10})$">
       <action application "log" data="INFO Checking 10-dig Enum"/>
       <action application="set" data="call_direction=outbound" />
       <action application="set" data="continue_on_fail=true" />
       <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />
       <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />
       <action application="set" data="hangup_after_bridge=true" />
       <action application="enum" data="1$1 e164.org"/>
       <action application="bridge" data="${enum_auto_route}"/>
     </condition>
   </extension>

   <extension name="11e164.org" continue="true">
     <condition field="destination_number" expression="^(\d{11})$">
       <action application "log" data="INFO Checking 11-dig Enum"/>
       <action application="set" data="call_direction=outbound" />
       <action application="set" data="continue_on_fail=true" />
       <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />
       <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />
       <action application="set" data="hangup_after_bridge=true" />
       <action application="enum" data="$1 e164.org"/>
       <action application="bridge" data="${enum_auto_route}"/>
     </condition>
   </extension>

   <extension name="15e164.org" continue="true">
     <condition field="destination_number" expression="^(011.*)$">
       <action application "log" data="INFO Checking 15-dig Enum"/>
       <action application="set" data="call_direction=outbound" />
       <action application="set" data="continue_on_fail=true" />
       <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}" />
       <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}" />
       <action application="set" data="hangup_after_bridge=true" />
       <action application="enum" data="$1 e164.org"/>
       <action application="bridge" data="${enum_auto_route}"/>
     </condition>
   </extension>

e164.org

Go to e164.org and register your DID's so the rest of us can call you for free :)

When adding your DID to enum you will be asked to provide the Protocol and Hostname. If your domain was voip.example.com then you would add the following:


Protocol: SIP

Hostname: voip.example.com:5080


After adding this information you will receive a test call with numbers that are used to validate the information you provided. When completed you should see 'status: active'