-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathissabel-change-sip
executable file
·101 lines (96 loc) · 2.34 KB
/
issabel-change-sip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/bin/bash
function check_dialog()
{
if ! dialog &> /dev/null
then
echo "ERROR: dialog binary not found."
exit 1
fi
}
function check_astVer()
{
astVersion=$(asterisk -V | cut -d"." -f1)
if [ "$astVersion" = "Asterisk 11" ] || [ -z "$astVersion" ]
then
exit 0
fi
if [ "$astVersion" = "Asterisk 13" ]
then
optSIP="on"
optPJSIP="off"
else
optSIP="off"
optPJSIP="on"
fi
}
function check_database()
{
if ! mysql -uroot -p$mysqlrootpwd asterisk -e "show tables" &> /dev/null
then
echo "ERROR: Cannot connect to Database."
exit 1
fi
}
function logo()
{
dialog --stdout --sleep 1 --backtitle "$BACKTITLE" \
--infobox " O @ @\n @ @ O\n @ O O\n O\nIssabel" \
7 11
}
BACKTITLE=Issabel
check_astVer
check_dialog
source /etc/issabel.conf
if [ -z $mysqlrootpwd ]
then
echo "ERROR: Cannot load /etc/issabel.conf"
exit 1
fi
check_database
selSIP=$((dialog --backtitle "Issabel" --no-tags \
--radiolist "Select default SIP channel driver(default port 5060, secondary 5066):" 10 60 10 \
sip "chan_sip" $optSIP \
pjsip "chan_pjsip" $optPJSIP \
> /dev/tty) 2>&1)
if [ -z $selSIP ]
then
#No channel selected
exit 2
fi
#Set ports
case $selSIP in
sip)
sipPort="5060"
sipTLS="5061"
sipWS="yes"
pjsipPort="5066"
pjsipTLS="5067"
;;
pjsip)
sipPort="5066"
sipTLS="5067"
sipWS="no"
pjsipPort="5060"
pjsipTLS="5061"
;;
*)
echo "Error settings ports"
exit 1
;;
esac
(
mysql -uroot -p$mysqlrootpwd asterisk -e "REPLACE INTO sipsettings(keyword,data,seq) VALUES('bindport','$sipPort',1);"
mysql -uroot -p$mysqlrootpwd asterisk -e "REPLACE INTO pjsipsettings(keyword,data,seq) VALUES('bindport','$pjsipPort',1);"
mysql -uroot -p$mysqlrootpwd asterisk -e "REPLACE INTO sipsettings(keyword,data,seq) VALUES('tlsbindport','$sipTLS',1);"
mysql -uroot -p$mysqlrootpwd asterisk -e "REPLACE INTO pjsipsettings(keyword,data,seq) VALUES('tlsbindport','$pjsipTLS',1);"
mysql -uroot -p$mysqlrootpwd asterisk -e "REPLACE INTO sipsettings(keyword,data,seq) VALUES('websocket_enabled','$sipWS',1);"
) &> /dev/null
logo
if ! amportal a r &> /dev/null
then
clear
echo "ERROR: Cannot apply changes."
exit 3
else
clear
fi