System Security and Call Quality

Status
Not open for further replies.

jamesnb

Free User
Joined
Apr 9, 2021
Messages
46
Reaction score
4
Hello everyone,
I can't find a specific sub-forum for this topic so I just post this here. Please remove if not appropriate

I am first time installer of 3CX. We have the 3CX PBX server installed on our test server via ESXi 7.0 hypervisor. We have 1Gb fiber-optic Internet line with static IP addresses
All is in good working environmental so far. Firewall passes all tests. iOS apps calling each other OK
We plan to do some more testing before moving this build to production server, serving about 10 users with Android and iPhone app only and no IP desk phone for now
Since we plan to host the 3CX in-house, I would be appreciated your recommendations to check for:

1/ System security: How safe is the 3CX self-hosted server? In term of the contents of chats feature (photos, messages, etc...) and recording of voice mails? The FDQN which has the "xxx.3cx.xx" is it safe to be passed through or it's better to replace it with our static IP address?

2/ Call Quality: What to check to optimize the call quality in term of voice and video call? Any relationship between the thoughput of the Router/Firewall and the Call quality?

3/ Any tweaks recommended for the Router (EdgeRouter) to ensure the optimized traffic for 3CX PBX? We have already disabled the SIP-ALG by the way. Other than this, what esle we should look out for?

Thank you
 
Last edited:
2/ Call Quality: What to check to optimize the call quality in term of voice and video call? Any relationship between the thoughput of the Router/Firewall and the Call quality?
Well, what i do is to align everywhere in PBX ,codec order, on SIP trunk provider preferred codecs.
With a 1 Gb fiber line it seems to me not necessary to worry about quality improvment, a G711 call use nearly 100kb both way real time , so if your install is for 10 users you probably never use more than 500k bandwith so it's nearly nothing on your spec line.
3/ Any tweaks recommended for the Router (EdgeRouter) to ensure the optimized traffic for 3CX PBX? We have already disabled the SIP-ALG by the way. Other than this, what esle we should look out for?
If you followed prerequisite from 3CX docs, open all necessary ports, use supported phones and sip provider and firewall checker passes green then you're good to go.
 
  • Like
Reactions: jamesnb
Hi aws2p,
Thank you for your advices on the codec.
Since we are currently not using any SIP trunk yet, just mainly internally communicate with each other, the codec G711 would be best to be "move-up" in the extension setting, correct?
In my config, it is currently like this:
GSM-FR
G729
G.711 U-law
G.711 A-law
G722

And I also did not see any video codecs for video calls, is there one that affect the video quality?
Thank you
 
The FQDN isn't really relevant to security. The security of any system is dependent on using secure passwords and good user behavior...who hosts the server I don't think is particularly relevant to that either.

Look for "Automatic Global 3CX IP Blacklist" in the security settings, and other items on that page.

Ideally, one should use the same codec order for everything...set the codec order in all 3 locations:
  • SIP trunks
  • Settings/General (internal and external)
  • Each extension (for each phone on the extension)
By using the same codec one avoids transcoding the audio.
 
  • Like
Reactions: jamesnb
The FQDN isn't really relevant to security. The security of any system is dependent on using secure passwords and good user behavior...who hosts the server I don't think is particularly relevant to that either.

Look for "Automatic Global 3CX IP Blacklist" in the security settings, and other items on that page.

Ideally, one should use the same codec order for everything...set the codec order in all 3 locations:
  • SIP trunks
  • Settings/General (internal and external)
  • Each extension (for each phone on the extension)
By using the same codec one avoids transcoding the audio.
What would you recommend for the order of the codes?

Thank you again for your helps
 
What would you recommend for the order of the codes?

Thank you again for your helps
Ordering from best quality to lower quality, the list would be:
G722
G.711 U-law
G.711 A-law
G729
GSM-FR

I agree with the comments above though, if you start using SIP Trunks or Gateways at some point, maybe move G711u/a to first/second position and G722 to third.
 
  • Like
Reactions: jamesnb and AWS2P
Hey Nick you took me words off mouth:p
 
  • Like
Reactions: NickD_3CX
Very much appreciated your instruction.

To better reconfirm, in the Server > Settings > General (both Internal/External), I also re-order it to below, in order to match with the Extension codec's order:

G722
PCMU
PCMA
G729
GSM
OPUS

Is that correct?

And finally, once it is all adjusted, do I have to re-provision on each of the iOS 3CX app and also, restart the server for this to take effect?

Thank you
 
Exactly, so you set in "General" and in the Extension Settings of each extension like this.
For Mobile Apps, you don't need to do anything, just kill the app, then re-launch it. Every time the app loads, it updates it's settings from the PBX.
 
  • Like
Reactions: jamesnb
Exactly, so you set in "General" and in the Extension Settings of each extension like this.
For Mobile Apps, you don't need to do anything, just kill the app, then re-launch it. Every time the app loads, it updates it's settings from the PBX.
Hi NickD_3CX,
I keep the order of the Codecs above, being G722 in the top. I notice that there is a significant "buzz" noise/sound being heard in both callers during the calls. One caller is in our company LAN network call to another one in a private house with private Internet.
They are both using 3CX app for iOS with latest iOS firmware and all.
And I read somewhere in the forum that G729 is better and use less bandwith so I make it top the list
G729
G722
What about those PCMU and PCMA, where should it be on the top-down list?
Thank you
James
 
So you were giving a codec order and you later changed it because of the perceived sound quality. Since that is the case, you should ignore any recommendations and just play with the order to see what sounds good to you.
 
So you were giving a codec order and you later changed it because of the perceived sound quality. Since that is the case, you should ignore any recommendations and just play with the order to see what sounds good to you.
Yeah, I am still watching out for the sound issues as we just changed it over the weekend... It is subjective on networks I know...
I am trying to see what's settings other people are using and/or having better luck with...
But thank you for your advice, as I am totally new to the 3CX so I will just take anything!
 
Basically, you want to avoid transcoding when possible. You want to pick the best codec that your provider supports. Generally this will be G.711u/a. Some providers will support G.722 or OPUS for on-net calls (calls to other customers using the same provider) but typically calls that hit the PSTN only use one of the G.711 variants. So using whichever G.711 variant your provider supports across the board is the best standard recommendation. Once you've run like that for a while, you can play with some other codecs for specific use cases but you can't go wrong with sticking with G.711u/a
 
  • Like
Reactions: jamesnb
Basically, you want to avoid transcoding when possible. You want to pick the best codec that your provider supports. Generally this will be G.711u/a. Some providers will support G.722 or OPUS for on-net calls (calls to other customers using the same provider) but typically calls that hit the PSTN only use one of the G.711 variants. So using whichever G.711 variant your provider supports across the board is the best standard recommendation. Once you've run like that for a while, you can play with some other codecs for specific use cases but you can't go wrong with sticking with G.711u/a
Thank you for your advices, it is really useful
Just another question, how about the calls between the 3CX apps for iOS and Android? Would it still be better with G711 or some other protocols? What would affect the quality of the Video/Audio calls between those phone app?
The reason I am asking is that, we currently do not use any provider just yet..
Thanks again
 
Thank you for your advices, it is really useful
Just another question, how about the calls between the 3CX apps for iOS and Android? Would it still be better with G711 or some other protocols? What would affect the quality of the Video/Audio calls between those phone app?
The reason I am asking is that, we currently do not use any provider just yet..
Thanks again
Assuming that both sides of the phone call are using the same codec priority, the only other things would be bandwidth.

Ultimately, I think the advice of @cobaltit is the best, start with G711a/u (or PCMA/PCMU, same thing, different name). If you hear jitter and cut outs, go to a lower bandwidth codec like, G729. If both sides have badwidth to spare, go G722/Opus.

Try the combinations and see what works best for you.

And very important, don't forget this:
Ideally, one should use the same codec order for everything...set the codec order in all 3 locations:
  • SIP trunks
  • Settings/General (internal and external)
  • Each extension (for each phone on the extension)
By using the same codec one avoids transcoding the audio.
 
Status
Not open for further replies.