Difference between revisions of "Information Systems:3CX IP-PBX Administrator's Guide"
m |
|||
| (21 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
| ⚫ | |||
| − | Main page summarizing 3CX configuration. This may evolve into being split into multiple pages/categories. |
||
| + | 3CX Administration Web Portal: |
||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| + | Password: NewTechIS21! |
||
| ⚫ | |||
| − | * Password: NewVisionIT2051 |
||
| + | ==3CX Server Appliance== |
||
| + | Username: root |
||
| + | Password: NewVisionIT |
||
| + | ==License== |
||
| + | Our 3CX license is '''Professional Perpetual''' with 16 simultaneous calls. Simultaneous calls includes internal/extension-to-extension calls, and both parked and queued calls. To date, our real world usage has never come close to reaching this. Nonetheless, the license can always be upgraded at a pro-rated cost. |
||
| + | ::[[File:2021-03-31 11_25_29-3CX Phone System Management Console.png|400px]] |
||
| + | The license is renewed annually through TelData. |
||
| ⚫ | |||
| − | 3CX uses Google Cloud Platform (similar to AWS, Azure) for some of its services. Two that are enabled and in use in our installation are: |
||
| ⚫ | |||
| − | * Voice-to-text transcription services for voicemail |
||
| + | ==Configuration== |
||
| − | ===Email notifications=== |
||
| + | ===Extensions=== |
||
| − | * Switch to on-premise SMTP server |
||
| + | {| class="wikitable" |
||
| ⚫ | |||
| + | !colspan="3"|Noteworthy Extensions |
||
| − | * Fix 1:1 NAT to facilitate proper functioning of auto-blacklist |
||
| + | |- |
||
| + | |Extension |
||
| + | |} |
||
| + | |||
| + | ===SIP Trunks=== |
||
| + | A SIP trunk is what allows a PBX to make and receive outbound calls. A SIP trunk is configured for 1 or more channels (simultaneous calls). 3CX has 2 SIP trunk configurations: |
||
| + | * [[Information Systems: ThinkTel SIP Trunk | ThinkTel SIP Trunk]] |
||
| + | * [[Information Systems: RingOffice SIP Trunk | RingOffice SIP Trunk]] |
||
| + | |||
| + | The ''SIP Trunks'' section in 3CX shows the following configuration: |
||
| + | :[[File:2021-03-31 11_51_37-3CX Phone System Management Console.png|400px]] |
||
| + | * The order is alphabetical and does not imply call routing precedence; that is defined in ''Outbound Rules'' |
||
| + | * As seen in the figure, only RingOffice has Register information. This characteristic differentiates the two SIP trunks: the RingOffice trunk does ''registration-based'' authentication, while ThinkTel is IP-based. [https://www.3cx.com/docs/sip-trunk-registration-authentication/ Read more about this here.] There is a slight benefit to Register-based authentication in that you can tell when the connection goes down (Register failed). |
||
| + | * The number of Sim calls is defined manually. It should match the number of channels of the SIP trunk service, but can be used to control usage (e.g. putting a max of 3 when there are really 6 usable channels will cause 3CX to use the next available trunk for the 4th sim call). |
||
| + | * The WebMeeting bridge is an internal and automatically configured trunk (can be ignored). |
||
| + | |||
| + | ===External Call Routing=== |
||
| + | Calls to and from external numbers are routed according to the rules defined in the ''Inbound Rules'' and ''Outbound Rules'' sections. There are two main concepts: |
||
| + | |||
| + | * DID mapping in ''Inbound Rules'' |
||
| + | * Call routes in ''Outbound Rules'' |
||
| + | |||
| + | ====Inbound Rules==== |
||
| + | * DIDs (Direct Inward Dialing) are what we know as phone numbers (604-123-4567). They can be mapped in ''Inbound Rules'', either to local extensions, call queues, ring groups etc. Several DIDs can be mapped to the same internal target. For example, the toll-free and main company phone number map to the Customer Service call queue (technically the digital receptionist extension, but eventually routed there). |
||
| + | Part of the Inbound Rules page is shown here: |
||
| + | :[[File:2021-03-31 12_37_13-3CX Phone System Management Console.png|400px]] |
||
| + | ====Outbound Rules==== |
||
| + | :[[File:2021-03-31 12_19_44-3CX Phone System Management Console.png|400px]] |
||
| + | * Outbound rules specify the routes that outbound calls take. Notice that there is no 1:1 mapping of extensions to outbound routes. This is possible but absolutely unnecessary. Instead, the rules are catch-alls for other criteria (prefix, extension range). |
||
| + | * The prefix routes (9) are there to match the old phone system (where dialing 9 was necessary to "call out"). This is also still a common practice in many phone implementations, presumably as an extra validation measure for users i.e. to have users confirm their intent in dialing an external number. |
||
| + | * These rules are evaluated in order, from top down. This is why the 911 rule is at the top. |
||
| + | |||
| + | ===Call flow=== |
||
| + | Call flow refers to the path a call takes through the system. The settings in Inbound and Outbound Rules define part of the flow, but it can be |
||
| + | |||
| + | Most call flows are straightforward e.g. DID to local extension, voicemail if not available. |
||
| + | |||
| + | ===Voicemail=== |
||
| + | Voicemail works as it does in other phone systems - there is a message center that users access to listen and otherwise manage their messages. This extension is 999. There are however, serveral additional enhancements related to voicemail: |
||
| + | |||
| + | * Email notifications: Voicemails can be emailed, with a transcription of the text, an attached wav file of the audio message, or both. This is set per extension and is disabled by default. |
||
| + | * Voicemail transcription: Voicemail transcription transcribes voice messages to text so users can read instead of listen to the audio message. The functionality is set up system-wide in the 3CX settings, however, it needs to be enabled per-extension (for those that want it). It uses the Voice-to-Text service within Google Cloud Platform, and is billable monthly past the first 60 minutes (every month) of transcribed audio. |
||
| + | |||
| + | ====Customer Service Voicemail==== |
||
| + | Extension ''501'' is used solely for |
||
| + | |||
| ⚫ | |||
| + | 3CX uses the following Google Cloud Platform services to provide special features: |
||
| ⚫ | |||
| + | * Cloud Speech API: Voicemail transcription (voice-to-text) |
||
| + | |||
| + | GCP Web Portal access: |
||
| + | |||
| + | URL: https://console.cloud.google.com/ |
||
| + | Username: root@unipharm.com (uniPHARM Google account) |
||
| + | Password: NewVisionIT |
||
| + | Project name: UWD 3CX (use dropdown to select project) |
||
| + | |||
| + | See the Billing section for Cloud Speech API billing. GCP gives a $400 credit for the first year, therefore during this first year, when looking at the billing, "One-time credits" may need to be toggled to see the actual billed usage that we would have paid. |
||
| + | |||
| + | Firebase can be viewed in the section of the same name. However, integration with 3CX is just an API token to use the PUSH notification service, so this doesn't need regular maintenance unless changing the token. |
||
| + | |||
| + | ===Other Notes=== |
||
| ⚫ | |||
| + | *( 3CX is being backed up to: <code>smb://superserver.unipharm.local/Tech/common/ConfigBackups/3CX</code>. It should be here <code>\\superserver.unipharm.local\Tech\Logs And Backups</code>, but spaces in the backup location path are not allowed (at least for SMB backups). This should be tweaked in the future. The last 20 backups are kept (auto-rotated). |
||
| + | * Because 3CX is both a virtual appliance and a fairly easy/small installation, there is no system image backup (would waste a Veeam license). A disaster recovery situation would then entail reinstallation of the 3CX virtual appliance and restoration of the backup config. |
||
[[Category: Phone System]] |
[[Category: Phone System]] |
||
Latest revision as of 16:02, 29 November 2023
Administration Portal
3CX Administration Web Portal:
URL: https://3cx.unipharm.local:5001 Username: Administrator Password: NewTechIS21!
3CX Server Appliance
Username: root Password: NewVisionIT
License
Our 3CX license is Professional Perpetual with 16 simultaneous calls. Simultaneous calls includes internal/extension-to-extension calls, and both parked and queued calls. To date, our real world usage has never come close to reaching this. Nonetheless, the license can always be upgraded at a pro-rated cost.
The license is renewed annually through TelData.
Configuration
Extensions
| Noteworthy Extensions | ||
|---|---|---|
| Extension | ||
SIP Trunks
A SIP trunk is what allows a PBX to make and receive outbound calls. A SIP trunk is configured for 1 or more channels (simultaneous calls). 3CX has 2 SIP trunk configurations:
The SIP Trunks section in 3CX shows the following configuration:
- The order is alphabetical and does not imply call routing precedence; that is defined in Outbound Rules
- As seen in the figure, only RingOffice has Register information. This characteristic differentiates the two SIP trunks: the RingOffice trunk does registration-based authentication, while ThinkTel is IP-based. Read more about this here. There is a slight benefit to Register-based authentication in that you can tell when the connection goes down (Register failed).
- The number of Sim calls is defined manually. It should match the number of channels of the SIP trunk service, but can be used to control usage (e.g. putting a max of 3 when there are really 6 usable channels will cause 3CX to use the next available trunk for the 4th sim call).
- The WebMeeting bridge is an internal and automatically configured trunk (can be ignored).
External Call Routing
Calls to and from external numbers are routed according to the rules defined in the Inbound Rules and Outbound Rules sections. There are two main concepts:
- DID mapping in Inbound Rules
- Call routes in Outbound Rules
Inbound Rules
- DIDs (Direct Inward Dialing) are what we know as phone numbers (604-123-4567). They can be mapped in Inbound Rules, either to local extensions, call queues, ring groups etc. Several DIDs can be mapped to the same internal target. For example, the toll-free and main company phone number map to the Customer Service call queue (technically the digital receptionist extension, but eventually routed there).
Part of the Inbound Rules page is shown here:
Outbound Rules
- Outbound rules specify the routes that outbound calls take. Notice that there is no 1:1 mapping of extensions to outbound routes. This is possible but absolutely unnecessary. Instead, the rules are catch-alls for other criteria (prefix, extension range).
- The prefix routes (9) are there to match the old phone system (where dialing 9 was necessary to "call out"). This is also still a common practice in many phone implementations, presumably as an extra validation measure for users i.e. to have users confirm their intent in dialing an external number.
- These rules are evaluated in order, from top down. This is why the 911 rule is at the top.
Call flow
Call flow refers to the path a call takes through the system. The settings in Inbound and Outbound Rules define part of the flow, but it can be
Most call flows are straightforward e.g. DID to local extension, voicemail if not available.
Voicemail
Voicemail works as it does in other phone systems - there is a message center that users access to listen and otherwise manage their messages. This extension is 999. There are however, serveral additional enhancements related to voicemail:
- Email notifications: Voicemails can be emailed, with a transcription of the text, an attached wav file of the audio message, or both. This is set per extension and is disabled by default.
- Voicemail transcription: Voicemail transcription transcribes voice messages to text so users can read instead of listen to the audio message. The functionality is set up system-wide in the 3CX settings, however, it needs to be enabled per-extension (for those that want it). It uses the Voice-to-Text service within Google Cloud Platform, and is billable monthly past the first 60 minutes (every month) of transcribed audio.
Customer Service Voicemail
Extension 501 is used solely for
Google cloud services (GCP) integration
3CX uses the following Google Cloud Platform services to provide special features:
- Firebase: Push notifications for 3CX mobile app (Android app only, Apple uses its own APNS)
- Cloud Speech API: Voicemail transcription (voice-to-text)
GCP Web Portal access: URL: https://console.cloud.google.com/ Username: root@unipharm.com (uniPHARM Google account) Password: NewVisionIT Project name: UWD 3CX (use dropdown to select project) See the Billing section for Cloud Speech API billing. GCP gives a $400 credit for the first year, therefore during this first year, when looking at the billing, "One-time credits" may need to be toggled to see the actual billed usage that we would have paid. Firebase can be viewed in the section of the same name. However, integration with 3CX is just an API token to use the PUSH notification service, so this doesn't need regular maintenance unless changing the token.
Other Notes
Backup
- ( 3CX is being backed up to:
smb://superserver.unipharm.local/Tech/common/ConfigBackups/3CX. It should be here\\superserver.unipharm.local\Tech\Logs And Backups, but spaces in the backup location path are not allowed (at least for SMB backups). This should be tweaked in the future. The last 20 backups are kept (auto-rotated). - Because 3CX is both a virtual appliance and a fairly easy/small installation, there is no system image backup (would waste a Veeam license). A disaster recovery situation would then entail reinstallation of the 3CX virtual appliance and restoration of the backup config.