Skip to content

Commit b2440bd

Browse files
authored
Merge branch 'main' into main
2 parents b9192ed + bd30624 commit b2440bd

File tree

15 files changed

+97
-351
lines changed

15 files changed

+97
-351
lines changed

docs/FreeSWITCH-Explained/Auxiliary-Knowledge-and-Utilities/SBC_Setup_13174198.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ apt-get install debhelper automake1.9 autoconf libtool unixodbc-dev libasound2-d
146146
```
147147

148148

149-
**Download FreeSWITCH latest Git and put them in /opt/sources/freewitch**
149+
**Download FreeSWITCH latest Git and put them in /opt/sources/freeswitch**
150150

151151
```bash
152152
cd /opt/sources/

docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/Embedding-FreeSWITCH/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Note some of the functions mentioned here may be a little bit different dependin
5555

5656
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.
5757

58-
#### Interacting with freeswitch
58+
#### Interacting with FreeSWITCH®
5959

6060
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.
6161

docs/FreeSWITCH-Explained/Client-and-Developer-Interfaces/JavaScript/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If for some reason it's not, do the following:
2222
* Uncomment languages/mod\_v8 in modules.conf in your src directory (make it always build and install v8)
2323
* Run 'make mod\_v8-install' to make and install just the v8 module
2424
* Edit conf/autoload\_configs/modules.conf.xml in your FreeSWITCH™ install directory to load mod\_v8
25-
* Restart freeswitch
25+
* Restart FreeSWITCH
2626

2727
## Execution of a script
2828

0 commit comments

Comments
 (0)