187 lines
5.1 KiB
YAML
187 lines
5.1 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: yealink-provisioning
|
|
namespace: telephony
|
|
data:
|
|
# Common configuration for all Yealink phones
|
|
y000000000000.cfg: |
|
|
#!version:1.0.0.1
|
|
## Yealink Global Auto-Provisioning Config
|
|
## Applied to all Yealink phones that contact this server
|
|
|
|
## SIP Account 1
|
|
account.1.enable = 1
|
|
account.1.label = BlueJay
|
|
account.1.display_name = $MAC
|
|
account.1.sip_server.1.address = 10.0.56.207
|
|
account.1.sip_server.1.port = 5060
|
|
account.1.sip_server.1.transport_type = 0
|
|
account.1.sip_server.1.expires = 3600
|
|
account.1.codec.1.enable = 1
|
|
account.1.codec.1.payload_type = g722
|
|
account.1.codec.1.priority = 0
|
|
account.1.codec.2.enable = 1
|
|
account.1.codec.2.payload_type = PCMU
|
|
account.1.codec.2.priority = 1
|
|
account.1.codec.3.enable = 1
|
|
account.1.codec.3.payload_type = PCMA
|
|
account.1.codec.3.priority = 2
|
|
account.1.codec.4.enable = 1
|
|
account.1.codec.4.payload_type = opus
|
|
account.1.codec.4.priority = 3
|
|
|
|
## Network
|
|
network.dhcp_host_name =
|
|
network.vlan.internet_port_enable = 0
|
|
|
|
## Time
|
|
local_time.time_zone = -6
|
|
local_time.time_zone_name = United States-Central Time
|
|
local_time.ntp_server1 = 10.0.56.1
|
|
local_time.date_format = 1
|
|
local_time.time_format = 1
|
|
local_time.manual_ntp_srv_prior = 1
|
|
|
|
## Phone Settings
|
|
phone_setting.ring_type = Ring1.wav
|
|
features.power_saving.enable = 0
|
|
|
|
## Provisioning
|
|
auto_provision.server.url = https://10.0.56.207:8089/provision
|
|
auto_provision.repeat.enable = 1
|
|
auto_provision.repeat.minutes = 1440
|
|
|
|
# Per-phone configs (by MAC address)
|
|
# Extension 100 - Reception
|
|
ext100.cfg: |
|
|
#!version:1.0.0.1
|
|
account.1.enable = 1
|
|
account.1.label = Reception
|
|
account.1.display_name = Reception
|
|
account.1.auth_name = 100
|
|
account.1.user_name = 100
|
|
account.1.password = bluejay-ext-100
|
|
account.1.sip_server.1.address = 10.0.56.207
|
|
account.1.sip_server.1.port = 5060
|
|
account.1.sip_server.1.transport_type = 0
|
|
|
|
# Extension 101 - Office 1
|
|
ext101.cfg: |
|
|
#!version:1.0.0.1
|
|
account.1.enable = 1
|
|
account.1.label = Office 1
|
|
account.1.display_name = Office 1
|
|
account.1.auth_name = 101
|
|
account.1.user_name = 101
|
|
account.1.password = bluejay-ext-101
|
|
account.1.sip_server.1.address = 10.0.56.207
|
|
account.1.sip_server.1.port = 5060
|
|
account.1.sip_server.1.transport_type = 0
|
|
|
|
# Extension 102 - Office 2
|
|
ext102.cfg: |
|
|
#!version:1.0.0.1
|
|
account.1.enable = 1
|
|
account.1.label = Office 2
|
|
account.1.display_name = Office 2
|
|
account.1.auth_name = 102
|
|
account.1.user_name = 102
|
|
account.1.password = bluejay-ext-102
|
|
account.1.sip_server.1.address = 10.0.56.207
|
|
account.1.sip_server.1.port = 5060
|
|
account.1.sip_server.1.transport_type = 0
|
|
|
|
# Extension 103 - Office 3
|
|
ext103.cfg: |
|
|
#!version:1.0.0.1
|
|
account.1.enable = 1
|
|
account.1.label = Office 3
|
|
account.1.display_name = Office 3
|
|
account.1.auth_name = 103
|
|
account.1.user_name = 103
|
|
account.1.password = bluejay-ext-103
|
|
account.1.sip_server.1.address = 10.0.56.207
|
|
account.1.sip_server.1.port = 5060
|
|
account.1.sip_server.1.transport_type = 0
|
|
|
|
# nginx config for provisioning server
|
|
nginx.conf: |
|
|
server {
|
|
listen 8089 ssl;
|
|
ssl_certificate /etc/nginx/ssl/tls.crt;
|
|
ssl_certificate_key /etc/nginx/ssl/tls.key;
|
|
|
|
root /usr/share/nginx/html/provision;
|
|
autoindex off;
|
|
|
|
location /provision/ {
|
|
alias /usr/share/nginx/html/provision/;
|
|
default_type application/octet-stream;
|
|
}
|
|
}
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: yealink-provision
|
|
namespace: telephony
|
|
labels:
|
|
app: yealink-provision
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: yealink-provision
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: yealink-provision
|
|
spec:
|
|
containers:
|
|
- name: nginx
|
|
image: nginx:alpine
|
|
ports:
|
|
- containerPort: 8089
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- name: configs
|
|
mountPath: /usr/share/nginx/html/provision
|
|
- name: nginx-conf
|
|
mountPath: /etc/nginx/conf.d/default.conf
|
|
subPath: nginx.conf
|
|
resources:
|
|
requests:
|
|
cpu: 10m
|
|
memory: 16Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 64Mi
|
|
volumes:
|
|
- name: configs
|
|
configMap:
|
|
name: yealink-provisioning
|
|
- name: nginx-conf
|
|
configMap:
|
|
name: yealink-provisioning
|
|
items:
|
|
- key: nginx.conf
|
|
path: nginx.conf
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: yealink-provision
|
|
namespace: telephony
|
|
labels:
|
|
app: yealink-provision
|
|
spec:
|
|
type: ClusterIP
|
|
selector:
|
|
app: yealink-provision
|
|
ports:
|
|
- name: https
|
|
port: 8089
|
|
targetPort: 8089
|
|
protocol: TCP
|