Extensions

From FusionPBX
Revision as of 22:04, 23 December 2010 by Swilkey (talk | contribs) (Options)
Jump to: navigation, search

Menu: (Apps-Extensions)

Each phone on the PBX is setup to register to one or more extension numbers.


Basic Setup

  • To add an extension go to the Menu -> App -> Extensions and press the add button.
  • Set an extension number
  • the rest of the defaults are fun for a basic example.
  • Press save.
  • System -> Apply Settings

Options

Range used to setup one or more extensions. In other words this can be used to create extension in bulk from 1 to 1000 extensions.

Effective Caller ID Name: is used when calling internal numbers. ( effective_caller_id_name - FreeSWITCH variable )

Effective Caller ID Number: is used when when calling internal numbers. ( effective_caller_id_number - FreeSWITCH variable )
Outbound Caller ID Name: is used when calling external numbers. ( outbound_caller_id_name - General variable )

Outbound Caller ID Number: is used when calling external numbers. ( outbound_caller_id_number - General variable )
Caller ID notes:
Effective caller id is the real caller id however people tend to like and internal caller id for extensions and an external caller id when calling out the gateways so when calling out a gateway if you were to look at the outbound route in the edit window as a superadmin users you would see that when going out the gateway it sets the outbound caller id to the effective caller id the effect is this on the extension you set the effective caller id to the internal caller id info the number as the extension number then you set the outbound caller id as the external caller id.  This is used to set the outbound caller ID effective_caller_id_name=${outbound_caller_id_name}.  The Outbound caller ID variable doesn't exist in FreeSWITCH, it is a feature of FusionPBX.  You can set the caller id either on the gateways for a gateway or can be set on the extension.

Account Code - this is not used anywhere in the default dialplan but is provided in FreeSwitch and therefore is provided in FusionPBX for full compatibility. It sets a variable for the extension that could be used in a condition. See Variable accountcode for more information. Note that it can be used to affect the operation of CDR.

Functionality for phone provisioning is now provided on this screen, but has not yet been documented here.

Notes

The password is set automatically using a combination of random characters that are:

  • upper and lower case letters,
  • numbers
  • symbols

Rather than changing the password to something simple it is much wiser to keep it as it was automatically set and to use that password to connect the phone with. To view the password that has been automatically set, open the extension page again and click on the obfuscated password in the password field. The actual password will be revealed just below the password field.

Notes on Toll Allow

Some notes on Toll Allow that were captured from an IRC discussion on the topic. This needs to be filled out more by someone who understands it or has used it:

if you fill out the toll allow field in fusion, it sets the variable per extension.
like: <variable name="toll_allow" value="domestic,local"/>
if that isn't there, but it is in your dialplan (see pastebin), then an extension shouldn't be able to dial out.
extension -> extension should work.
NOTE that fusion by default doesn't put the toll_allow into the dialplan. you'll have to add those fields.
Dialplan->OutboundRoutes, pick one, add a condition tag, type "${toll_allow}", data local order is important, it should be first.
You'll need to do that for all of your outbound routes, tag them local, domestic, or international depending on what they are.
On some installations this example file will be present in /usr/local/freeswitch/conf/dialplan/default/01_example.com.xml: 
<include>

 <extension name="local.example.com">
   <condition field="${toll_allow}" expression="local"/>
   <condition field="destination_number" expression="^(\d{7})$">
     <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
     <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
     <action application="bridge" data="sofia/gateway/${default_gateway}/1${default_areacode}$1"/>
   </condition>
 </extension>

 <extension name="domestic.example.com">
   <condition field="${toll_allow}" expression="domestic"/>
   <condition field="destination_number" expression="^(\d{11})$">
     <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
     <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
     <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
   </condition>
 </extension>

 <extension name="international.example.com">
   <condition field="${toll_allow}" expression="international"/>
   <condition field="destination_number" expression="^(011\d+)$">
     <action application="set" data="effective_caller_id_number=${outbound_caller_id_number}"/>
     <action application="set" data="effective_caller_id_name=${outbound_caller_id_name}"/>
     <action application="bridge" data="sofia/gateway/${default_gateway}/$1"/>
   </condition>
 </extension>

</include>

See also