-
Notifications
You must be signed in to change notification settings - Fork 15
Quick VoIP roll-out #8
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
base: main
Are you sure you want to change the base?
Conversation
|
|
compose.voip.yml
Outdated
| EXTENSION_PASSWORD: ${EXTENSION_PASSWORD:-} | ||
| EXTENSIONS: ${EXTENSIONS:-} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| EXTENSION_PASSWORD: ${EXTENSION_PASSWORD:-} | |
| EXTENSIONS: ${EXTENSIONS:-} |
From RC 7.12 forward, the extensions no longer need to exist on FreeSwitch. FreeSwitch will accept any extension number that matches the regex on the dialplan and forward that to Drachtio, who then notifies Rocket.Chat and so it's up to Rocket.Chat to determine if a number is valid or not.
RC admins are free to use any string value as an extension number when assigning it to an user. When a call comes in, Rocket.Chat will accept any value that is associated with an user.
compose.voip.yml
Outdated
| INTERNAL_INBOUND_MEDIA: "relay" | ||
| INTERNAL_OUTBOUND_TO_INTERNAL_MEDIA: "relay" | ||
| INTERNAL_OUTBOUND_TO_EXTERNAL_MEDIA: "relay" | ||
| EXTERNAL_INBOUND_MEDIA: "relay" | ||
| EXTERNAL_OUTBOUND_TO_INTERNAL_MEDIA: "relay" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| INTERNAL_INBOUND_MEDIA: "relay" | |
| INTERNAL_OUTBOUND_TO_INTERNAL_MEDIA: "relay" | |
| INTERNAL_OUTBOUND_TO_EXTERNAL_MEDIA: "relay" | |
| EXTERNAL_INBOUND_MEDIA: "relay" | |
| EXTERNAL_OUTBOUND_TO_INTERNAL_MEDIA: "relay" |
Those are probably never gonna be changed by anyone on the new architecture so we can stop including them on the compose file (relay is already their default value).
compose.voip.yml
Outdated
| EXTERNAL_OUTBOUND_TO_INTERNAL_MEDIA: "relay" | ||
| ACCEPT_EXTERNAL_CALLS: false | ||
| USE_LEGACY_ARCH: false | ||
| DRACHTIO_DOMAIN: ${VOIP_DRACHTIO_DOMAIN} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| DRACHTIO_DOMAIN: ${VOIP_DRACHTIO_DOMAIN} | |
| DRACHTIO_DOMAIN: ${VOIP_DRACHTIO_DOMAIN:-drachtio} |
Setting this to Drachtio's container name by default, as it needs to have a value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed.
compose.voip.yml
Outdated
| USE_LEGACY_ARCH: false | ||
| DRACHTIO_DOMAIN: ${VOIP_DRACHTIO_DOMAIN} | ||
| expose: | ||
| - 8021 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - 8021 |
8021 is not used anymore (RC 7.12+)
compose.voip.yml
Outdated
| - 8021 | ||
| - 5060 | ||
| ports: | ||
| - 8021:8021 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - 8021:8021 |
8021 is not used anymore
| RTP_START_PORT: 20000 | ||
| RTP_END_PORT: 20046 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should allow customizing these ports via envvars on the .env file as well? Though we would need to set the same values on the port list as well.
I'm also not 100% sure if those should be the default values for those ports. This default list limits FS to 23 concurrent calls, which might be too small a number for production envs. We were using those values up to now because EKS has a limit of 50 open ports.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. Could we do this in the next iteration when we have a basic stack building repo ready? Ideally I dont want to compose this file here but instead, link it to the one from here i.e the VoiP server image repo. Please let me know once you push your PR #52. Then I can work on adding a reference instead of copying the file.
| <drachtio> | ||
|
|
||
| <!-- udp port to listen on for client connections (default 9022), and shared secret used to authenticate clients --> | ||
| <admin port="9022" secret="set a strong secret here">0.0.0.0</admin> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be best if we could configure drachtio without needing to change this file directly.
I'll check what our options are and try to make something to avoid this.
| <cdrs>false</cdrs> | ||
|
|
||
| <monitoring> | ||
| <prometheus port="8088">127.0.0.1</prometheus> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should also be configured to work with the prometheus configured on the existing compose.monitoring.yaml
…tensions. 2. Removing extension details from docker compose as well as from the environment variables.
Description
Initial draft for defining VoIP network statically. This workspace does following
compose.voip.ymlcompose.network.yml.Testing
TODO