Browse Source

Create ext.rst

Len 9 years ago
parent
commit
62e1e67131
1 changed files with 237 additions and 0 deletions
  1. 237 0
      source/manual/ext.rst

+ 237 - 0
source/manual/ext.rst

@@ -0,0 +1,237 @@
+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 -> Accounts -> Extensions and
+   press the add button.
+-  Set an extension number
+-  the rest of the defaults are fine for a basic example.
+-  Press save.
+-  Hover over the password input, it will allow you to see/copy the
+   password
+
+Passwords
+---------
+
+FusionBPX automatically generates a password for the extension. It is
+randomly created (symbols, letters, numbers). You can find this password
+after you create the extension.
+
+-  Menu -> Accounts -> Extensions
+
+   -  click 'e' to edit the extension you need to see
+
+      -  find the password field
+      -  click inside the field of bullets
+
+         -  FusionPBX will display the password to you so you can see it
+            and copy/paste on the line below.
+
+-  Alternatively, you can do:
+
+   -  less
+      [freeswitch\_config\_dir]/directory/default/v\_ExtensionNumber.xml
+
+Registering Phones
+==================
+
+For most things your extension number is your username, and password is
+[see above]. You'll also need to put your ip address, or DNS name in the
+proper place.
+
+Examples
+--------
+
+Polycom
+~~~~~~~
+
+Soundpoint IP 320P
+^^^^^^^^^^^^^^^^^^
+
+Identification
+
+    Display Name: FusionPBX
+    Address: ExtensionNumber
+    Authentication User ID: ExtensionNumber
+    Authentication Password: PASSWORD
+    Label: ExtensionNumber or Whatever
+    Type: Private
+    Third Party Name: BLANK
+    Number Of Line Keys: BLANK
+    Calls Per Line: BLANK
+
+Server 1
+
+    Address: FusionBPX IP ADDRESS or DOMAIN NAME if doing multi-tenant
+    Port: 5060
+    Transport: DNSnaptr works or UDP or whatever
+    Expires: default (30 works ok NATTED)
+    Register: BLANK
+    Retry Timeout: BLANK
+    Retry Maximum Count: BLANK
+    Line Seize Timeout: BLANK
+
+Server 2
+
+    leave alone
+
+Call Diversion
+
+    leave alone
+
+Message Center
+
+    Subscriber: BLANK
+    Callback Mode: Contact
+    Callback Contact: \*98
+
+Options
+=======
+
+| **Extension** What is used to register the phone (typically your
+  extension number but can be any alphanumeric) used to register phone
+  in the field user ID, username etc.
+|  **Number Alias** The number you can dial to get this extension if the
+  extension is non numerical.
+
+| **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.
+| If the checkbox for Auto-generate user with extension as login name is
+  checked, User List is ignored, and a user is created and linked to the
+  extension.
+| A printable List of usernames and randomly generated passwords is
+  dumped to screen so can capture them for later.
+
+| **``Effective`` ``Caller`` ``ID``
+  ``Name:``**\ `` is used when calling internal numbers. ( ``\ **```effective_caller_id_name`` <http://wiki.freeswitch.org/wiki/Variable_effective_caller_id_name>`__**\ `` - FreeSWITCH variable )``
+| **``Effective`` ``Caller`` ``ID``
+  ``Number:``**\ `` is used when when calling internal numbers. ( ``\ **```effective_caller_id_number`` <http://wiki.freeswitch.org/wiki/Variable_effective_caller_id_number>`__**\ `` - FreeSWITCH variable )``
+| ``The Effective Caller Name and Number are also used to populate the voicemail Subject line information.``
+
+| **``Outbound`` ``Caller`` ``ID``
+  ``Name:``**\ `` is used when calling external numbers. ( ``\ *```outbound_caller_id_name`` <http://lists.freeswitch.org/pipermail/freeswitch-users/2010-February/053648.html>`__*\ `` - General variable )``
+| **``Outbound`` ``Caller`` ``ID``
+  ``Number:``**\ `` is used when calling external numbers. ( ``\ *```outbound_caller_id_number`` <http://lists.freeswitch.org/pipermail/freeswitch-users/2010-February/053648.html>`__*\ `` - 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 an outbound route or on an 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 <http://wiki.freeswitch.org/wiki/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.``
+
+*' Directory Full Name*' This is the name that will be used for a \*411
+or Company Directory lookup as often used in IVR.
+
+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
+===================
+
+Toll Allow is a variable that can be set per extension. It allows you to
+limit who can make what type of calls. Note that although the variable
+is provided in the extension configuration, the default dialplan DOES
+NOT make use of it. Therefore if you want to use it you need to add
+statements to the dialplan to enable it.
+
+The following are notes on Toll Allow that were captured from IRC
+discussions on the topic. This needs to be updated by someone who
+understands it or has used it:
+
+| ``An example for the contents of the toll_allow variable would be:``
+| 
+
+| ``You can then add information to your dialplan to process this variable.  In the example XML below, if the valid allow value isn't present then``
+| ``an extension shouldn't be able to dial out.  However extension -> extension should still work.``
+
+| ``The following code are example XML for standard outbound routes (Dialplan->OutboundRoutes).  Effectively you are applying an additional  ``
+| ``condition to EACH outbound route that you want to limit.  So in the FusionPBX GUI select an outbound route and add a condition, type  ``
+| ``"${toll_allow}", data "local".  Order is important, this should be the FIRST condition of your outbound route.``
+| ``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>
+
+| 
+
+The above example is how to PERMIT calls. The example below takes the
+opposite approach and is how to PREVENT calls. Effectively, the above
+example assumes all calls are bad (except internal) unless they are
+flagged as good by the value of the toll\_allow variable. The below
+example takes the opposite approach - it assumes that all calls are good
+unless they are flagged as bad.
+
+| ``Put this in your advanced dialplan. In the toll allow of whatever extension you wanted to restrict put the value 'local'.  This example ``
+| ``restricts from calling 10 or 11 digit numbers.``
+
+| 
+
+::
+
+   <extension name="localcalls" >
+   <condition field="${toll_allow}" expression="local"/>
+   <condition field="destination_number" expression="(^\d{10}$|^\d{11}$)">
+   <action application="hangup"/>
+   </condition>
+   </extension>
+  
+|