Add Yealink phone auto-provisioning server
This commit is contained in:
186
apps/asterisk/yealink-provisioning.yaml
Normal file
186
apps/asterisk/yealink-provisioning.yaml
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
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
|
||||||
Reference in New Issue
Block a user