Skip to content

Sentence case titles remove gerunds (part 1) #263

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Generating TLS certificates (win32)
# Generate TLS certificates (win32)



Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Load_testing
# Load testing



Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Message_broadcasting
# Message broadcasting



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ fxo-channel => 4
</extension>
```

## See Also
## See also

X. These pages are also mentioned and informative: [OpenZAP](../Interoperability/OpenZap/index.mdx) and [Zaptel\_Tutorial](../Interoperability/OpenZap/Zapata-zaptel/Zaptel-Tutorial_13173122.mdx)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Multi Homed Dual NIC How To
# How To for multi homed dual NIC



Expand All @@ -8,7 +8,7 @@
This tutorial was created from an install of Freeswitch 1.0.6 on Centos 5.5 using the sample configuration files. The system has eth0 on the public network using dhcp and eth1 was on the private network using a static ip address. Depending on your setup some changes to this configuration may be necessary. This tutorial assumes you have a sip phone connected to the system and using extension number 1000 for inbound and outbound dialing. The default install location for conf directory was used, /usr/local/freeswitch/conf.


## Multi Homed Dual NIC How To
## How To for multi homed dual NIC

1\. Open vars.xml with your favorite text editor located in the conf directory and make the following changes and additions to the file.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Multiple Companies
# Multiple companies



Expand All @@ -11,7 +11,7 @@ This is HOWTO to make one FreeSWITCH server act as a multi-tenant system for two

Basically, we want to have one FS server provide phone services to several separate companies, as if we are a VoIP provider. Let's start with two companies and give both companies the same two users (1000 for company-a and 1000 for company-b). These companies should be completely independent of each other, their identically-numbered extensions should not overlap or have anything to do with each other, and each company (and all of it's users/extensions) should have independent dialplans.

## Enabling Multiple Domains
## Enable multiple domains

This is from the SIP Profiles section of [Multi-tenant](../../Examples/Multi-tenant_13173521.mdx#about):

Expand Down Expand Up @@ -42,7 +42,7 @@ File conf/sip\_profiles/internal.xml should have its newest option, "force-subsc
<!--<param name="force-register-db-domain" value="$${domain}"/>-->
```

## Creating the Files and Directories
## Create the files and directories

Assuming FreeSWITCH is installed in `/usr/local/freeswitch/`, cd there and create the files and directories:

Expand Down Expand Up @@ -134,7 +134,7 @@ Notice the lines into which "company-a.org" has been inserted. Do the same for c
</include>
```

### Adding Users to the Directories
### Add users to the directories

Now let's create the users in the newly created directories: For example, add two users, one in `conf/directory/company-a.org` and another one in `conf/directory/company-b.org`, something like this:

Expand Down Expand Up @@ -186,7 +186,7 @@ Now let's create the users in the newly created directories: For example, add tw

* **NOTE:** Delete or comment-out the `user_context` option line inside all the extension (user) `*.xml` files and instead put that option line inside the master XML file for each domain (i.e., the `conf/directory/company-a.org.xml` file and also the `conf/directory/company-b.org.xml`file), as doing so will save time by obviating specification of `user_context` inside every extension (user) file subsequently created under `conf/directory/company-a.org/` or `conf/directory/company-b.org/`.

## Setting Up the SIP Profile
## Set up the SIP profile

Comment `force-register-domain` and `force-register-db-domain`from the profile, it should look like this:

Expand All @@ -198,7 +198,7 @@ Comment `force-register-domain` and `force-register-db-domain`from the profile,
<!--<param name="force-subscription-domain" value="$${domain}"/>-->
```

## Creating a Dialplan for Each Domain
## Create a dialplan for each domain

You could copy `conf/dialplan/default.xml` to `conf/dialplan/company-a.org.xml` and `conf/dialplan/company-b.org.xml` and edit the context on each to match the context from the users/directories.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Multiple Servers in Irssi
# Multiple servers in Irssi



Expand Down Expand Up @@ -52,7 +52,7 @@ channels = (
);
```

## See Also
## See also

* [IRC](../Community/IRC_1970341.mdx#pb)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Mumble Conference With ALSA
# Mumble conference With ALSA



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ Save the following PHP code as mailer\_app.php. Requires PHPMailer class files c
?>
```

### See Also
### See also

* [mod\_voicemail](../Modules/mod_voicemail_6587070.mdx)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# SBC_Setup
# SBC setup



Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# SIP Message Logging
# SIP message logging



Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Auxiliary Knowledge and Utilities
# Auxiliary knowledge and utilities



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,15 +94,15 @@ fs_cli

`fs_cli` which connects to local machine using default username, password, and debug level.

#### 3.2.2 Using profiles
#### 3.2.2 Use profiles

```xml
fs_cli my_profile
```

Launches `fs_cli` using profile named "my\_profile" found in `.fs_cli_conf` file (see **section 5.3** below).

#### 3.2.3 Sending a command and then logging off
#### 3.2.3 Send a command and then log off

```xml
fs_cli -x "sofia status profile internal"
Expand Down Expand Up @@ -272,13 +272,13 @@ loglevel => info
| no-color => true \| false | Disable color | | | | | | | |
| key\_f\<n> | Set F1 - F12 keys for a certain functionality.Default key-bindingsF1 = help F2 = status F3 = show channels F4 = show calls F5 = sofia status F6 = reloadxml F7 = console loglevel 0 F8 = console loglevel 7 F9 = sofia status profile internal F10 = sofia profile internal siptrace on F11 = sofia profile internal siptrace off F12 = version | See example at **5.3.1 Format** above. | | | | | | |

## 6\. Wish List
## 6\. Wish list

* Option to see all output to include FS console output.
* Option to see all output from all fs\_cli instances connected to the FS box, plus the console.
* Option to connect to more than one FS box.

## 7\. See Also
## 7\. See also

* [mod\_event\_socket](../Modules/mod_event_socket_1048924.mdx#11-acl)
* [Event Socket Library](./Event-Socket-Library/index.mdx)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ About text.

Click here to expand Table of Contents

* 1 [For C# ESL you might check this project.](#for-c-esl-you-might-check-this-project)
* [For C# ESL see this project.](#for-c-esl-you-might-check-this-project)

## For C# ESL you might check this project.
## For C# ESL see this project:

[Click Here](https://github.com/traviscross/freeswitch/blob/master/libs/esl/managed/ManagedEslTest/Program.cs)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Developer Documentation
# Developer documentation



Expand All @@ -21,7 +21,7 @@ FreeSWITCH maintains a Team City Continuous Integration (CI) server at [build.fr
* [freeswitch-dev](http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev) \- Developer mailing list.
* [freeswitch-users](http://lists.freeswitch.org/mailman/listinfo/freeswitch-users) \- User mailing list.

### Nuts and Bolts
### Nuts and bolts

* [API Documentation](http://docs.freeswitch.org/) \- Generated by Doxygen.
TODO Outdated? Page footer says "_Generated on Mon Apr 18 2016 13:05:11 for FreeSWITCH API Documentation by Doxygen[ ](http://www.doxygen.org/index.html)_ _1.8.8_".
Expand All @@ -35,7 +35,7 @@ TODO Outdated? Page footer says "_Generated on Mon Apr 18 2016 13:05:11 for Free
* [Authoring FreeSWITCH™ Modules](../Modules/index.mdx#about)
* [Creating a new Abstraction Interface](../Community/Contributing-Code/Creating-New-Modules/Abstraction-Interface_9634475.mdx#about)

### Architecture and Design
### Architecture and design

* [FreeSWITCH™ Dependencies](https://freeswitch.org/confluence/display/FAH/FreeSWITCH+Dependencies)
* [Core Outline of FreeSWITCH](../Miscellaneous/Core-Outline_1048880.mdx#about)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ Most of the work on this page on the old wiki was prior to March of 2010\. Some

See [mod\_portaudio](https://wiki.freeswitch.org/wiki/Mod%5Fportaudio "Mod portaudio") for initial setup information.

### Originating Calls
### Originate calls

This example API will dial the FreeSWITCH conference bridge from portaudio. One advantage of this method vs. using "pa call" is that a dialplan is not necessary.

originate `{effective_caller_id_name=FreeSWITCH,effective_caller_id_number=9193869900}portaudio/auto_answer &bridge({originate_timeout=60}sofia/external/[email protected])`

### Receiving Calls
### Receive calls

Create the following dialplan entry

**Port Audio Dialplan Example**
**Port audio dialplan example**

```xml
<extension name="test">
Expand All @@ -40,7 +40,7 @@ On the console you will see **BRRRINNGGG** and then type

pa answer

### Music on Hold
### Music on hold

Some config will need to be done to specify a default MOH file.

Expand All @@ -63,7 +63,7 @@ Some config will need to be done to specify a default MOH file.
...
```

## FreeSWITCH as a Dedicated Soft Phone
## FreeSWITCH as a dedicated soft phone

The following example configuration assumes an extension of 1000, area code of 208, and that `freeswitch.local` domain is pointed to the internal IP of FreeSWITCH.

Expand Down Expand Up @@ -153,7 +153,7 @@ The example below assumes that the gateway is `freeswitch.local` which is the lo

Remove all local extensions .xml files or rename them with .noload

### SIP Profiles
### SIP profiles

`/conf/sip_profiles/outbound.xml`

Expand Down Expand Up @@ -188,7 +188,7 @@ If FreeSWITCH is behind the same NAT then comment out ext-rtp-ip, and ext-sip-ip
</include>
```

### See Also
### See also

* [Mod\_portaudio](https://wiki.freeswitch.org/wiki/Mod%5Fportaudio "Mod portaudio")
* [Examples](https://wiki.freeswitch.org/wiki/Examples "Examples")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Embedding FreeSWITCH
# Embedded FreeSWITCH



Expand Down Expand Up @@ -27,15 +27,15 @@ null
* Documentation
* Cross protocol/network communication

### Downsides of Embedded FreeSWITCH
### Downsides of embedded FreeSWITCH

* You have to include the core of freeswitch which is several megabytes (4-8mb or so)
* Load time is not great if you need embedded SQL/UPNP NAT detection. Most likely optimization here could be made but you are looking at 10-15 seconds on startup by default (although this can be done in the background but must be done before you can make calls with FS).
* No g729 support in windows yet

### Using Embedded FreeSWITCH
### How to use embedded FreeSWITCH

#### Environment Setup
#### Environment setup

The first thing you need to do once you have freeswitch compiling (or the binary installed) is setup your working environment. For any platform you will want to make a mod folder and copy and modules you want from freeswitch's mod folder to yours. You will also want to move your languages runtime from the mod folder to your working environment (for .net this is mod\_managed.dll). Generally when you are using the bindings for your language it will try to load the dll/lib from the working directory rather than mod/. Finally there are a few language specific changes:

Expand All @@ -47,11 +47,11 @@ For Linux this means you want the copy of the contents of the lib folder in to y

In windows this means lib\*.dll, ssleay\*.dll, Freeswitch.dll from the build folder to your working directory

#### FreeSWITCH Config
#### FreeSWITCH config

FreeSWITCH must have a conf folder and that must contain a freeswitch.xml file in it that tells freeswitch its initial config. You may be able to embed this (or provide it internally) but it does need to have a config of some sort. You can start with all the configs in the freeswitch build conf folder, but it may be easier to start with the simple example under the resources part of this page.

#### Starting Up FreeSWITCH
#### Start up FreeSWITCH

Note some of the functions mentioned here may be a little bit different depending on the language (the swig binding call should be similar though). Theoretically all you would have to do is call switch\_core\_init\_and\_modload it would do everything needed. switch\_core\_init\_and\_modload takes 3 params, flags which specifies things like SQL or NAT support, if a console is present (only use this if using c++ generally and even still you probably don't want the console spew) and a reference to an error string for an error if one happens. Of course it isn't actually quite that easy. The proper way to spin it up is:

Expand All @@ -61,19 +61,19 @@ Note some of the functions mentioned here may be a little bit different dependin

Now the switch\_core\_init call is not needed unless you want to tie into the initial loading. The most likely reason to be involved in the initial loading is for tying into the xml\_search binding to be able to return custom XML during load from code. Why must the call pattern follow that? Technically switch\_core\_init calls switch\_core\_set\_globals, however switch\_core\_set\_globals must be called independently as switch\_core\_set\_globals is not called high enough in the function for it to work properly.

#### Interacting with freeswitch
#### Interact with FreeSWITCH

Now you could tie your own app into also handling sessions (much like traditional dialplan calls) from your app. Depending on the application however it may be better to do as a traditional module/script just for code cleanness / separation. You of course do want to have some interaction with the core directly from your application most likely. The event module you can still use and then communicate over the event socket like external applications. You can also rely on the swig calls and interact with freeswitch through the native functions themselves. Swig allows you to call just about any native code, code with callbacks can be a bit more complex but in general you can call most native methods without issue. A best practice may be to instead use the API interface for dealing with freeswitch. Using the API most tasks can be accomplished and has the added safety of making it much harder to decrease the stability of freeswitch itself. There is also a large amount of documentation for the public API for freeswitch vs all the internal functions themselves. There are a few situations however where direct swig calls can be useful, most of the time it has to do with complex callbacks or function ties. There are two examples that frequently come up. The first is the switch\_xml\_bind\_search function, this allows you to return XML configuration during loading. There is a .net binding that the managed dll has to make it easier to add a callback (other bindings may or may not provide this). This allows you to return the config for any module directly. The second example is for events. Now you can tie into events several ways, for example through the event socket, but you can also tie into the main event loop (switch\_event\_bind) . Now doing this is risky, as its part of the main event loops events are not fully processed until you are done with them, so its suggested you duplicate events if you aren't handling them very quickly. The managed dll binding for this has a parameter for that.

## Language Examples
## Language examples

Note the below examples use the SQL and AUTO\_NAT flags. If you do not need these (and many softphones using embedded FS do not) do not turn them on (instead pass 0). Turning them on delays FS loading by 5-15 seconds each.

### .NET / C#

You must add a reference to the FreeSWITCH.Managed.dll to your .net project. The two lines that start with `search_bind` and `event_bind` are not needed, they are only used if you want to bind to the XML search path or the internal event loop; otherwise they can be completely skipped.

**.Net C# Embedded Example**
**.Net C# embedded example**

```csharp
String err = "";
Expand All @@ -90,7 +90,7 @@ freeswitch.switch_core_init_and_modload(flags, switch_bool_t.SWITCH_FALSE, ref e

### C/C++

**Embedded C Example**
**Embedded C example**

```cpp
#include <switch.h>
Expand All @@ -108,7 +108,7 @@ int main(int argc, char** argv)

### PHP

**Embedded PHP Example**
**Embedded PHP example**

```php
<?php
Expand All @@ -122,7 +122,7 @@ int main(int argc, char** argv)
```


## Projects that use Embedded FreeSWITCH
## Projects that use embedded FreeSWITCH

* [Softphones](https://wiki.freeswitch.org/wiki/Softphones "Softphones") \- There are SIP Clients/Softphones that use Embedded FreeSWITCH, see that page for which

Expand All @@ -131,7 +131,7 @@ int main(int argc, char** argv)
* .NET Example project that starts up and performs a simple phone call - [http://fisheye.freeswitch.org/browse/\~raw,r=HEAD/freeswitch-contrib/mitchcapper/SampleClient/FSSampleEmbeddedClient.zip](http://fisheye.freeswitch.org/browse/%7Eraw,r=HEAD/freeswitch-contrib/mitchcapper/SampleClient/FSSampleEmbeddedClient.zip)
* Check out some of the projects using embedded freeswitch many are open source

## See Also
## See also

* [Developer Documentation](https://wiki.freeswitch.org/wiki/Documentation/Developer%5FDocumentation "Documentation/Developer Documentation")

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

# Event Socket Outbound
# Event socket outbound



Expand Down
Loading