lct-51: голосовой маршрут ДДС — вышестоящий начальник через WebRTC 6103 с записью
This commit is contained in:
parent
8ff51a8955
commit
bfaadd556c
9 changed files with 63 additions and 12 deletions
|
|
@ -10,6 +10,7 @@ override_6002=${SIP_6002_PASSWORD:-}
|
|||
override_6003=${SIP_6003_PASSWORD:-}
|
||||
override_6101=${SIP_6101_PASSWORD:-}
|
||||
override_6102=${SIP_6102_PASSWORD:-}
|
||||
override_6103=${SIP_6103_PASSWORD:-}
|
||||
if [ -s "$credentials" ]; then
|
||||
# Файл содержит только сгенерированные hex-значения без shell-конструкций.
|
||||
. "$credentials"
|
||||
|
|
@ -19,6 +20,7 @@ SIP_6002_PASSWORD=${override_6002:-${SIP_6002_PASSWORD:-$(openssl rand -hex 16)}
|
|||
SIP_6003_PASSWORD=${override_6003:-${SIP_6003_PASSWORD:-$(openssl rand -hex 16)}}
|
||||
SIP_6101_PASSWORD=${override_6101:-${SIP_6101_PASSWORD:-$(openssl rand -hex 16)}}
|
||||
SIP_6102_PASSWORD=${override_6102:-${SIP_6102_PASSWORD:-$(openssl rand -hex 16)}}
|
||||
SIP_6103_PASSWORD=${override_6103:-${SIP_6103_PASSWORD:-$(openssl rand -hex 16)}}
|
||||
SIP_EXTERNAL_MEDIA_ADDRESS=${SIP_EXTERNAL_MEDIA_ADDRESS:-127.0.0.1}
|
||||
SIP_RTP_START=${SIP_RTP_START:-10000}
|
||||
SIP_RTP_END=${SIP_RTP_END:-10099}
|
||||
|
|
@ -36,12 +38,13 @@ SIP_6002_PASSWORD=$SIP_6002_PASSWORD
|
|||
SIP_6003_PASSWORD=$SIP_6003_PASSWORD
|
||||
SIP_6101_PASSWORD=$SIP_6101_PASSWORD
|
||||
SIP_6102_PASSWORD=$SIP_6102_PASSWORD
|
||||
SIP_6103_PASSWORD=$SIP_6103_PASSWORD
|
||||
EOF
|
||||
chmod 600 "$credentials"
|
||||
|
||||
export SIP_6001_PASSWORD SIP_6002_PASSWORD SIP_6003_PASSWORD SIP_6101_PASSWORD SIP_6102_PASSWORD SIP_EXTERNAL_MEDIA_ADDRESS
|
||||
export SIP_6001_PASSWORD SIP_6002_PASSWORD SIP_6003_PASSWORD SIP_6101_PASSWORD SIP_6102_PASSWORD SIP_6103_PASSWORD SIP_EXTERNAL_MEDIA_ADDRESS
|
||||
export SIP_RTP_START SIP_RTP_END
|
||||
envsubst '${SIP_6001_PASSWORD} ${SIP_6002_PASSWORD} ${SIP_6003_PASSWORD} ${SIP_6101_PASSWORD} ${SIP_6102_PASSWORD} ${SIP_EXTERNAL_MEDIA_ADDRESS}' \
|
||||
envsubst '${SIP_6001_PASSWORD} ${SIP_6002_PASSWORD} ${SIP_6003_PASSWORD} ${SIP_6101_PASSWORD} ${SIP_6102_PASSWORD} ${SIP_6103_PASSWORD} ${SIP_EXTERNAL_MEDIA_ADDRESS}' \
|
||||
< /opt/lct-sip/pjsip.conf.template > /etc/asterisk/pjsip.conf
|
||||
chmod 640 /etc/asterisk/pjsip.conf
|
||||
chown root:asterisk /etc/asterisk/pjsip.conf
|
||||
|
|
|
|||
|
|
@ -12,9 +12,10 @@ exten => _600[1-3],1,NoOp(LCT training call ${CALLERID(num)} -> ${EXTEN})
|
|||
same => n,StopMixMonitor()
|
||||
same => n,Hangup()
|
||||
|
||||
; 6101/6102 — браузерные WebRTC-абоненты. Тот же учебный контекст и запись,
|
||||
; но отдельные endpoints не ломают обычные UDP/TCP-софтфоны 6001–6003.
|
||||
exten => _610[1-2],1,NoOp(LCT WebRTC training call ${CALLERID(num)} -> ${EXTEN})
|
||||
; 6101–6103 — браузерные WebRTC-абоненты: ДДС, старший группы, вышестоящий
|
||||
; начальник. Тот же учебный контекст и запись, но отдельные endpoints не ломают
|
||||
; обычные UDP/TCP-софтфоны 6001–6003.
|
||||
exten => _610[1-3],1,NoOp(LCT WebRTC training call ${CALLERID(num)} -> ${EXTEN})
|
||||
same => n,Set(RECORDING_FILE=${STRFTIME(${EPOCH},UTC,%Y%m%d-%H%M%S)}-${CALLERID(num)}-${EXTEN}-${UNIQUEID})
|
||||
same => n,MixMonitor(/recordings/${RECORDING_FILE}.wav,b)
|
||||
same => n,Dial(PJSIP/${EXTEN},30)
|
||||
|
|
|
|||
|
|
@ -157,3 +157,22 @@ type=aor
|
|||
max_contacts=2
|
||||
remove_existing=yes
|
||||
qualify_frequency=0
|
||||
|
||||
; Вышестоящий начальник ДДС: роль играет преподаватель со страницы
|
||||
; /phone?role=superior. Обязательный голосовой маршрут по ответу заказчика (П.7).
|
||||
[6103](webrtc-endpoint)
|
||||
auth=6103-auth
|
||||
aors=6103
|
||||
callerid=Веб вышестоящий начальник <6103>
|
||||
|
||||
[6103-auth]
|
||||
type=auth
|
||||
auth_type=userpass
|
||||
username=6103
|
||||
password=${SIP_6103_PASSWORD}
|
||||
|
||||
[6103]
|
||||
type=aor
|
||||
max_contacts=2
|
||||
remove_existing=yes
|
||||
qualify_frequency=0
|
||||
|
|
|
|||
Loading…
Reference in a new issue