Skip to content

Commit

Permalink
Add content,update content, migrate from wiki (#140)
Browse files Browse the repository at this point in the history
* Update lets_encrypt.rst

* Update lets_encrypt.rst

* Update lets_encrypt.rst

* Update lets_encrypt.rst

* Update lets_encrypt.rst

* Update inbound_routes.rst

* Update inbound_routes.rst

* Update gateways.rst

* Update languages.rst

* Update coding_standards.rst

* Update coding_standards.rst

* Update coding_standards.rst

* update remote access instructions

* Update fax_server.rst

* Update fax_server.rst
  • Loading branch information
Len-PGH authored and markjcrane committed Jul 9, 2018
1 parent c258778 commit 7019772
Show file tree
Hide file tree
Showing 7 changed files with 334 additions and 49 deletions.
4 changes: 4 additions & 0 deletions source/accounts/gateways.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,8 @@ Most settings in the Advanced Gateway Settings can remain the same. Some carrie
* **Ping:** If your server is behind NAT then the ping option can be used to keep the connection alive through the firewall. The ping interval is in seconds.
* **Domain:** If the gateway will be used on a specific domain or global to all tenants.

.. note::

To see which Gateway a call is using.
Advanced > Command and in the switch command section type show channels as xml and then press the execute button. In the output that is returned, look for the string sofia/gateway/ and the gateway name. This is the gateway your call is using.

31 changes: 31 additions & 0 deletions source/applications/fax_server.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ Menu -> Advanced -> Default Settings then category Fax
* The variable *fax_enable_t38_request=false* will send a T38 reinvite when a fax tone is detected. In some cases the re-invite always fails for some carriers which is why it is default to false.




Troubleshooting Tips
~~~~~~~~~~~~~~~~~~~~~~

Expand All @@ -96,5 +98,34 @@ Faxing will fail at times. Fax Server should automatically try different methods
* Sending a wav file
* Send a fax to HP faxback. This will test sending and receiving 1-888-473-2963
* Test sending with Faxtoy.net This will display what is faxed on their website. 1-855-330-1239 or 1-213-294-2943
* Turn on verbose log in FreeSWITCH fax.conf.xml
* From your FusionPBX installation go to ADVANCED > XML Editor and a new window will open. Choose autoload_configs folder from the list, then choose fax.conf.xml. In fax.conf.xml there is an option that by default sets a variable called verbose = false. If you change this to true you get more logging details as the fax is actually received, such as the quality of the connection etc. You can see these details when you run the freeswitch command line ie. **fs_cli**

Command Line Fax Statistics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Grep from ssh or console access your freeswitch.log files for FAX_RETRY_STATS to start keeping track of success/failure.
Examples

Here's how you can get some totals.

**Total:**

::

cat freeswitch.log |grep FAX_RETRY_STATS |wc -l

**Success:**

::

cat freeswitch.log |grep FAX_RETRY_STATS |grep SUCCESS |wc -l

**Failures:**

::

cat freeswitch.log |grep FAX_RETRY_STATS |grep FAIL |wc -l


.. _FAX Default Settings: /en/latest/advanced/default_settings.html#id12
79 changes: 42 additions & 37 deletions source/applications/voicemail.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ Here you can edit voicemail settings.

Starting version 4.2 remote access to voicemail by interupting the greeting message by pressing "*" and entering the password is disabled by default.

To enable remote access to voicemail

1. Go to your Fusionpbx installation menu.
2. Advanced.
3. Default Settings.
4. Voicemail category.
5. Enable and set true remote_access.

Voicemail Options
====================
Expand Down Expand Up @@ -77,7 +84,42 @@ Click the link above for setting up email server settings. These are the settin

Voicemail default settings gives the options to adjust voicemail settings on your FusionPBX installation globally.

**Variables**

These variables can be set in advanced -> variables or in the dialplan.

+---------------------------+----------------+
| Name | Value |
+---------------------------+----------------+
| vm_say_date_time | true or false |
+---------------------------+----------------+
| skip_greeting | true or false |
+---------------------------+----------------+
| skip_instructions | true or false |
+---------------------------+----------------+
| voicemail_greeting_number | 0-9 |
+---------------------------+----------------+
| vm_disk_quota | 0-3600 seconds |
+---------------------------+----------------+
| vm_message_ext | wav or mp3 |
+---------------------------+----------------+
| voicemail_authorized | true or false |
+---------------------------+----------------+
| vm_say_caller_id_number | true or false |
+---------------------------+----------------+
| vm_say_date_time | true or false |
+---------------------------+----------------+

Wav file is the default voicemail message file type.
MP3 requires mod_shout to be installed and running.

**Not Found Message**

When an extension is unavailable and no voicemail is configured, there is an option to play a message to the caller alerting them to this.

To enable/disable this, change the option for the **not_found_message** setting in **Advanced > Default Settings > Voicemail** category to suit your preference.

Please note that enabling this option means that the call must be answered in order to play the message to the caller and so the call will complete with a 200 OK rather than a 480 Unavailable or 486 Busy. In some jurisdictions this could potentially be illegal as it turns an otherwise toll free call into a chargeable one.

Voicemail Transcription
====================
Expand Down Expand Up @@ -118,43 +160,6 @@ Click "Flush Memcache", "Reload XML" and "Rescan".

If you entered your key's correctly, you should now start getting transcriptions delivered in your voicemail to email and you will also see them on the Messages page.

**Variables**

These variables can be set in advanced -> variables or in the dialplan.

+---------------------------+----------------+
| Name | Value |
+---------------------------+----------------+
| vm_say_date_time | true or false |
+---------------------------+----------------+
| skip_greeting | true or false |
+---------------------------+----------------+
| skip_instructions | true or false |
+---------------------------+----------------+
| voicemail_greeting_number | 0-9 |
+---------------------------+----------------+
| vm_disk_quota | 0-3600 seconds |
+---------------------------+----------------+
| vm_message_ext | wav or mp3 |
+---------------------------+----------------+
| voicemail_authorized | true or false |
+---------------------------+----------------+
| vm_say_caller_id_number | true or false |
+---------------------------+----------------+
| vm_say_date_time | true or false |
+---------------------------+----------------+

Wav file is the default voicemail message file type.
MP3 requires mod_shout to be installed and running.

**Not Found Message**

When an extension is unavailable and no voicemail is configured, there is an option to play a message to the caller alerting them to this.

To enable/disable this, change the option for the **not_found_message** setting in **Advanced > Default Settings > Voicemail** category to suit your preference.

Please note that enabling this option means that the call must be answered in order to play the message to the caller and so the call will complete with a 200 OK rather than a 480 Unavailable or 486 Busy. In some jurisdictions this could potentially be illegal as it turns an otherwise toll free call into a chargeable one.



.. _Voicemail Default Settings: /en/latest/advanced/default_settings.html#id32
85 changes: 83 additions & 2 deletions source/contributing/coding_standards.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,87 @@
Coding Standards
****************

- **FusionPBX Best practice coding practices**
**General**
------------

Command (example):
class, method, function and variable names

* intuitive
* lower case
* words separated with an underscore
* do not abbreviate the words unless it makes the name excessively long.
* indentation use tabs instead of spaces
* recommended to code with editor showing invisible characters to prevent trailing spaces and tabs.

**Applications**
-----------------

Apps are stored in fusionpbx/app directory.

**root.php**

* Ensures the document_root server variable is set and then sets the include path from the root of the website.

**app_config.php**

**application**

* app_name
* app_uuid
* app_category
* app_subcategory
* app_description

**Menu**

* defines location in the menu.

**Permissions**

* Defines the permissions the application uses and the default groups assigned to those permissions.

**Data Schema**

* Define the structure of the field names, and types.

**app_defaults.php**

* Is run during the install and when upgrade schema is called.

**app_languages.php**

* Defines a php array of the words, phrases and sentences used in the project.

**Files**

* Names

* Written in lower case.
* Words are seperated by an underscore.
* Use full words when possible.
* Do not prefix with 'v_' files that are currently prefix in this way will be renamed to remove the 'v_'.
* Program showing invisible spaces.
* To eliminate tabs and spaces at the end of a line.
* Line feed only.
* No carriage return and line feed.

**Database**

* tables

* Prefixed with v_ this may be configurable in the future.
* Tables names are plural unless the name is used is an Acronym.
* Use full words not abbreviations.
* uuids used for relational id instead of auto increment identifiers.

* fields

* domain_uuid
* Primary key name is the non plural name of table without the v_ prefix.

* How to create the primary key name
* If the table name is v_users take remove the 'v_', make it non-plural and add '_uuid' to the end of the field name. In this example the primary key would be user_uuid

Code Documentation

http://www.phpdoc.org/
34 changes: 33 additions & 1 deletion source/dialplan/inbound_routes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,11 @@ Route incoming calls to destinations based on one or more conditions. It can sen
* External Number
* Script

Order is important when an anti-action is used or when there are multiple conditions that match.
Directs public inbound calls to an internal destination on the system.
Note that the only difference between the inbound route dial plan and the normal dial plan is that the inbound route dial plan works on all calls that are in the public context whereas the normal dial plan works on the domain context.

Inbound Call Routing is used to route incoming calls to destinations based on one or more conditions and context. It can send incoming calls to an auto attendant, huntgroup, extension, external number, or a script. Order is important when an anti-action is used or when there are multiple conditions that match.


**Inbound routes can be used for advanced reasons**. `Dialplan > Destinations <http://docs.fusionpbx.com/en/latest/dialplan/destinations.html>`_ **will create and configure the Inbound Route for you.**

Expand Down Expand Up @@ -39,3 +43,31 @@ Edit/Add Inbound Routes
* **Continue:** If you want the call to continue through the order of the remaining dialplans. This is usually set as false.
* **Enabled:** If the Inbound Route is enabled or disabled.
* **Description:** A way to organize what the inbound route is used for.


XML example
^^^^^^^^^^^^^

Route based on CallerID Name or Number.

Example used to send unwanted callers. (telemarketers that won't stop)

::

<extension name="gotolennyCIDnumber" >
<condition field="context" expression="public"/>
<condition field="caller_id_number" expression="^1235554321$|^1235551234$">
<action application="answer"/>
<action application="bridge" data="sofia/${use_profile}/lenny@sip.itslenny.com:5060"/>
</condition>
</extension>

<extension name="gotolennyCIDname" >
<condition field="context" expression="public"/>
<condition field="caller_id_name" expression="^.*THE.*ANNOYING.*COMPANY.*$|^.*OTHER.*ANNOYING.*CALLER.*$">
<action application="answer"/>
<action application="bridge" data="sofia/${use_profile}/lenny@sip.itslenny.com:5060"/>
</condition>
</extension>


0 comments on commit 7019772

Please sign in to comment.