Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,154,008 members, 7,821,534 topics. Date: Wednesday, 08 May 2024 at 02:29 PM

VOIP With Freeswitch: My Learning Journey - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / VOIP With Freeswitch: My Learning Journey (1773 Views)

I'm About To Start My Programming Learning Journey / How My Learning Path Would Look Like When Im Ready To Start Learning To Code / How I Switched To Data Science From A Non IT Background - My Learning Experience (2) (3) (4)

(1) (2) (Reply) (Go Down)

VOIP With Freeswitch: My Learning Journey by airsaylongcome: 3:16pm On Dec 12, 2022
So I’m making this thread mostly to document my learning process of FreeSWITCH after gaining competence in Asterisk & FreePBX. My employers are migrating out Telephony platform to FusionPBX which runs on FreeSWITCH. While I have some experience with FusionPBX, my knowledge of both FusionPBX and the underlying software of FreeSWITCH is very limited. Most of my Asterisk/FreePBX is transferable so my starting of should be super quick. However the more intricate stuff of dial plan configuration are slightly different on FS. I will be using a combination of Omid Mojehrani’s YT material and the Packtpub book, Mastering FreeSWITCH 1.6.

I aim to attain competence deploying and supporting FS on Debian/Ubuntu and CentOS (maybe Redhat and Oracle Linux).

I will be deploying two new VMs and two new Containers on Proxmox 7.3.3 and possibly acquiring one SIP Trunk with one number for use on all 4.

Endgame is to attain intermediate to expert knowledge by the end of January 2023 and successfully deploy at least one fully functional production PBX by end of February 2023.

Let’s go….

4 Likes

Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 3:32pm On Dec 12, 2022
One of the key drivers for migrating to FusionPBX and FS is simplicity. Currently, we have to deploy a fresh instance of FreePBX for each new customer we have. This means managing multiple local IP addresses, having the SBC configured to map each SIP endpoint to register to the proper server and having our Support Engineers keep track of all requests and what server the requests are related to. With FusionPBX, all of that seats on one PBX server. FS has a concept called domains allowing (in theory) multiple “independent” entities to use the same server. So requests for dial plan changes just require the Support Techs to go to that domain on the singular server to make changes. In practice though, FusionPBX will be hosted as a High Availability server meaning we will have two or more servers with one as the primary server and the others as backup servers to eliminate the risk of a single-point of failure. So one of the biggest learnings will be how to configure multiple servers in HA using floating IP. Stuff I’ve never done before, not even in a home lb

1 Like

Re: VOIP With Freeswitch: My Learning Journey by ZiiVentures: 7:05pm On Dec 12, 2022
I'm following, boss.

1 Like

Re: VOIP With Freeswitch: My Learning Journey by BRATISLAVA: 10:56pm On Dec 12, 2022
Following the follower.
Re: VOIP With Freeswitch: My Learning Journey by tollyboy5(m): 1:22am On Dec 13, 2022
Following the above follower to follow.
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 4:29pm On Dec 13, 2022
So eventually getting around to updating. I successfully installed FS on Debian 11 and Ubuntu 22.04 (I only use the latest LTS versions for Ubuntu).

In order to download the FreeSWITCH package, I needed to register at https://signalwire.com/ create a new token under Profile—>Personal Access Token. Then I created a bash script to download, compile and install FS from source. Below is my bash script which I named fs_install.sh


TOKEN=pat_myPersonalAccessTokenHere
apt-get update && apt-get install -yq gnupg2 wget lsb-release
wget --http-user=signalwire --http-password=$TOKEN -O /usr/share/keyrings/signalwire-freeswitch-repo.gpg https://freeswitch.signalwire.com/repo/deb/debian-release/signalwire-freeswitch-repo.gpg
echo "machine freeswitch.signalwire.com login signalwire password $TOKEN" > /etc/apt/auth.conf
echo "deb [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" > /etc/apt/sources.list.d/freeswitch.list
echo "deb-src [signed-by=/usr/share/keyrings/signalwire-freeswitch-repo.gpg] https://freeswitch.signalwire.com/repo/deb/debian-release/ `lsb_release -sc` main" >> /etc/apt/sources.list.d/freeswitch.list
apt-get -y update
apt-get -y build-dep freeswitch
cd /usr/src
git clone https://github.com/signalwire/freeswitch.git -bv1.10 freeswitch
cd freeswitch
git config pull.rebase true
./bootstrap.sh -j
./configure
make
make install
make cd-sounds-install cd-moh-install


Then I ran


chmod +x fs_install.sh


to make it an executable before running


./fs_install.sh


to run the entire process. The install process took about 45 mins to complete.

Next was to configure systemd for FS. systemd is the service management system on Debian/Ubuntu. Its purpose is to start FreeSWITCH at boot time, monitor the application, restart it if it fails, and perform other needed actions when required.

Created the systemd file with


nano /etc/systemd/system/freeswitch.service


(I am not a fan of
vi
or
vim
and will personally like to shoot whoever created them)

Content of
freeswitch.service



[Service]
; service
Type=forking
PIDFile=/usr/local/freeswitch/run/freeswitch.pid
PermissionsStartOnly=true
ExecStartPre=/bin/mkdir -p /usr/local/freeswitch/run
ExecStartPre=/bin/chown freeswitch:daemon /usr/local/freeswitch/run
ExecStart=/usr/local/freeswitch/bin/freeswitch -ncwait -nonat
TimeoutSec=45s
Restart=always
; exec
WorkingDirectory=/usr/local/freeswitch/run
User=freeswitch
Group=daemon
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=60000
;LimitSTACK=240
LimitRTPRIO=infinity
LimitRTTIME=7000000
IOSchedulingClass=realtime
IOSchedulingPriority=2
CPUSchedulingPolicy=rr
CPUSchedulingPriority=89
UMask=0007

[Install]
WantedBy=multi-user.target


Then enabled and started the service using


systemctl daemon-reload
systemctl start freeswitch
systemctl enable freeswitch


To be continued….

3 Likes

Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 4:36pm On Dec 13, 2022
Reference materials:
https://freeswitch.org/confluence/plugins/servlet/mobile?contentId=67240088#content/view/67240088

I have chosen the “Install from source route” to get a better understanding of the process and to ensure that my knowledge is transferable across different Linux distros

2 Likes 1 Share

Re: VOIP With Freeswitch: My Learning Journey by ahmedpbx: 11:36pm On Dec 13, 2022
Keep the work up...
Re: VOIP With Freeswitch: My Learning Journey by ahmedpbx: 11:38pm On Dec 13, 2022
@airsaylongcome
I will give you a free SIP Trunk and DID for your test.

https://my.connectsip.com
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 7:59am On Dec 14, 2022
ahmedpbx:
@airsaylong.come
I will give you a free SIP Trunk and DID for your test.

https://my.connectsip.com

Oh Waoh!!! This is totally unexpected and completely appreciated. I did not even know we had other VOIP folks on here. Always felt very “lonely” on these NL “programming” streets. Thank you very much for the SIP Trunk and DID offer. I will reach out when I get to that point in my “training”
Re: VOIP With Freeswitch: My Learning Journey by ahmedpbx: 5:46pm On Dec 14, 2022
We have a Fully Functional Voice lab with various types of Gateways e1| Pri cards, Analog converters etc for stimulations of various use cases
as well as an STM 1 Fiber link
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 6:23pm On Dec 16, 2022
Sorry I have not gotten around to update this thread. Will do so over the weekend when I get some respite from work. At work, I’ve been inundated with loads of requests to configure “Holiday messages” for several businesses in preparation for the upcoming Christmas holidays. Trivial stuff but a bit involving as I’ve had to generate several audio files for use on different customers

3 Likes 1 Share

Re: VOIP With Freeswitch: My Learning Journey by All4good: 11:01pm On Jan 23, 2023
ahmedpbx:
@airsaylongcome
I will give you a free SIP Trunk and DID for your test.

https://my.connectsip.com
Awesome, such a lovely gesture. God bless you sir.
Op too is a cheerful giver, so he deserves every support.
Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 2:52pm On Jan 25, 2023
I love this trend and i will love to join you in this struggle, I dont no how to connect with you, This my number kindly hi me on whatsapp 08094791965.
Re: VOIP With Freeswitch: My Learning Journey by bassdow: 11:45am On Jan 26, 2023
airsaylongcome:


Oh Waoh!!! This is totally unexpected and completely appreciated. I did not even know we had other VOIP folks on here. Always felt very “lonely” on these NL “programming” streets. Thank you very much for the SIP Trunk and DID offer. I will reach out when I get to that point in my “training”

Most of us keep mute because Most Nigerians online are after Tonto Dike and BBNaija and it's likes. So difficult having like minds. Been long I last touched anything self hosted VOIP though.

Gone are the good old days when matured intelligent people full here. The few left are either too busy to comment or rarely comes by

1 Like 1 Share

Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 8:16am On Jan 30, 2023
airsaylongcome:
So I’m making this thread mostly to document my learning process of FreeSWITCH after gaining competence in Asterisk & FreePBX. My employers are migrating out Telephony platform to FusionPBX which runs on FreeSWITCH. While I have some experience with FusionPBX, my knowledge of both FusionPBX and the underlying software of FreeSWITCH is very limited. Most of my Asterisk/FreePBX is transferable so my starting of should be super quick. However the more intricate stuff of dial plan configuration are slightly different on FS. I will be using a combination of Omid Mojehrani’s YT material and the Packtpub book, Mastering FreeSWITCH 1.6.

I aim to attain competence deploying and supporting FS on Debian/Ubuntu and CentOS (maybe Redhat and Oracle Linux).

I will be deploying two new VMs and two new Containers on Proxmox 7.3.3 and possibly acquiring one SIP Trunk with one number for use on all 4.

Endgame is to attain intermediate to expert knowledge by the end of January 2023 and successfully deploy at least one fully functional production PBX by end of February 2023.

Let’s go….

I NEED SUPPORT ON HOW TO INSTALL VICIDIAL ON AWS LIGHTSAIL OR EC2.
PLEASE SOMEONE SHOULD HELP ME OUT
THANKS
Re: VOIP With Freeswitch: My Learning Journey by HappyPagan: 9:35am On Jan 30, 2023
Lol. I love Vim/Vi. Can't stand eMacs. tongue

Nice work. This was a fun read. Make I follow you.
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 10:19am On Jan 30, 2023
kush4king:


I NEED SUPPORT ON HOW TO INSTALL VICIDIAL ON AWS LIGHTSAIL OR EC2.
PLEASE SOMEONE SHOULD HELP ME OUT
THANKS

Can you upload a custom iso on those?

Just came across these
https://aws.amazon.com/marketplace/pp/prodview-wrosidzvd2k7o

https://s3.amazonaws.com/zapsocket.io/aws-market-guides/Vicibox+9.0.3+Setup+Guide.pdf

https://s3.amazonaws.com/zapsocket.io/aws-market-guides/Vicibox+8.1.2+Quick+Setup+Guide.pdf

1 Like

Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 1:33pm On Jan 30, 2023
Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 3:02pm On Jan 30, 2023
airsaylongcome:


Can you upload a custom iso on those?

Just came across these
https://aws.amazon.com/marketplace/pp/prodview-wrosidzvd2k7o

https://s3.amazonaws.com/zapsocket.io/aws-market-guides/Vicibox+9.0.3+Setup+Guide.pdf

https://s3.amazonaws.com/zapsocket.io/aws-market-guides/Vicibox+8.1.2+Quick+Setup+Guide.pdf

Please i dont mind if u can walk me through on the setting, expecially the begining because i download the pair key then try to lunch it on cmd but not working also the elastic ip i was not able to asign it.
please help out my Number is 08094791965.
Thanks.
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 3:04pm On Jan 30, 2023
kush4king:


Please i dont mind if u can walk me through on the setting, expecially the begining because i download the pair key then try to lunch it on cmd but not working also the elastic ip i was not able to asign it.
please help out my Number is 08094791965.
Thanks.

Have you worked with AWS servers before? Or is this your first attempt? Your easiest bet would be to use Putty and your key to ssh into your server.
Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 4:20pm On Jan 30, 2023
airsaylongcome:


Have you worked with AWS servers before? Or is this your first attempt? Your easiest bet would be to use Putty and your key to ssh into your server.


Yes . I have my fusionPBX hosted presently all security settings done.
But this Vicidial it's war for the installation.
On premises I don't have issues with installation.
Have trying lunch my pair key into putty but given permanent denied.
Thanks
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 5:26pm On Jan 30, 2023
kush4king:



Yes . I have my fusionPBX hosted presently all security settings done.
But this Vicidial it's war for the installation.
On premises I don't have issues with installation.
Have trying lunch my pair key into putty but given permanent denied.
Thanks

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Have you followed the instructions here?
Re: VOIP With Freeswitch: My Learning Journey by kush4king(m): 6:19pm On Jan 30, 2023
airsaylongcome:


http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

Have you followed the instructions here?

I will do that.
Thanks
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 4:20pm On Feb 01, 2023
For those interested in VOIP, there’s a webinar holding at 5pm (WAT) today. It introduces version 4 of VitalPBX one of the tools I mess around with in honing my VoIP skills. 10 likes and I will go ahead to share the zoom link.

Edit: only got two likes when Webinar went live. Maybe next time

7 Likes

Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 4:45pm On Feb 14, 2023
ahmedpbx:
@airsaylongcome
I will give you a free SIP Trunk and DID for your test.

https://my.connectsip.com

Bro, I wanted to follow up on this. I’m trying to setup a Trunk for what I have setup so far. I’ve got an Open Source SBC (dsiprouter) setup to proxy connections to my PBX. How do I go about getting the trunk? I’ve already created an account on connectsip. Thanks once again for the offer
Re: VOIP With Freeswitch: My Learning Journey by ahmedpbx: 5:13pm On Apr 06, 2023
airsaylongcome:


Bro, I wanted to follow up on this. I’m trying to setup a Trunk for what I have setup so far. I’ve got an Open Source SBC (dsiprouter) setup to proxy connections to my PBX. How do I go about getting the trunk? I’ve already created an account on connectsip. Thanks once again for the offer
Call

0700 066 0066

Ask For Ahmed
Re: VOIP With Freeswitch: My Learning Journey by jabata(m): 12:20pm On Jul 23, 2023
Hi, thanks for putting up this documentation, this is going to help a lot of people. I just started with Voip , implementation using freeswitch. And I would like to ask a question which is: is it possible to have my freeswitch server accessible online, like can users with soft-phone that are not on the same local network can connect through the internet ?
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 12:25pm On Jul 23, 2023
jabata:
Hi, thanks for putting up this documentation, this is going to help a lot of people. I just started with Voip , implementation using freeswitch. And I would like to ask a question which is: is it possible to have my freeswitch server accessible online, like can users with soft-phone that are not on the same local network can connect through the internet ?

Yes. But you are looking for big trouble if you put it directly on the Internet. You will be under regular attack from bits looking to hack into your phone system. You need to put it behind what is call a Session border controller which is like a SIP router for added security

1 Like

Re: VOIP With Freeswitch: My Learning Journey by jabata(m): 12:53pm On Jul 23, 2023
thanks for your response, i will check it out and also would like to seek your opinion on the project i am currently working on, i am a software engineer and i am working on a mobile app that can make an outbound call to pstn number, so while i am researching on which technology i can use, i stumbled across freeswitch & signalwire, and since the app is going to be used by users from different location, that is the reason why i am trying to make the server accessible via the internet. please i would like to know your thought about this. thank you.
Re: VOIP With Freeswitch: My Learning Journey by airsaylongcome: 1:36pm On Jul 23, 2023
jabata:
thanks for your response, i will check it out and also would like to seek your opinion on the project i am currently working on, i am a software engineer and i am working on a mobile app that can make an outbound call to pstn number, so while i am researching on which technology i can use, i stumbled across freeswitch & signalwire, and since the app is going to be used by users from different location, that is the reason why i am trying to make the server accessible via the internet. please i would like to know your thought about this. thank you.

It's do able and wouldn't be the first of such to be implemented. You have to specialise though. Is your job to build out the entire solution? From mobile app through to the Softswitch (Freeswitch/Asterisk) to PSTN?

1 Like

Re: VOIP With Freeswitch: My Learning Journey by jabata(m): 3:06pm On Jul 23, 2023
yes, its my job to that, the sip enabled-mobile app is already done, whats is left is the sever side

(1) (2) (Reply)

Which Is The Best And Budget-friendly Laptop For Coding? / C++ Programmers Please HELP! / Need Help On Bot On Telegram

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 73
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.