1 |
chainsaw 11/09/02 09:38:44 |
2 |
|
3 |
Added: dahdi-autoconf.conf2 dahdi-autoconf.init2 |
4 |
Log: |
5 |
Version bump. Newly updated autoconfig functionality by Jaco Kroon closes bug #374177. |
6 |
|
7 |
(Portage version: 2.1.10.11/cvs/Linux x86_64) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 net-misc/dahdi-tools/files/dahdi-autoconf.conf2 |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.conf2?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.conf2?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: dahdi-autoconf.conf2 |
16 |
=================================================================== |
17 |
# Global settings |
18 |
# Set this to your country code. |
19 |
DAHDI_ZONE=za |
20 |
DAHDI_ECHOCAN=oslec # mg2,jpah,kb1,sec,sec2 (there may be more, we recommend oslec) |
21 |
|
22 |
# Settings for analog |
23 |
#Analog signal types, one of: |
24 |
# ks - KewlStart (recommended, default) |
25 |
# ls - LoopStart |
26 |
# gs - GroundStart |
27 |
|
28 |
# Signalling to be used on FXO ports |
29 |
DAHDI_FXO_SIGNALLING=ks |
30 |
|
31 |
# Signalling to be used on FXS ports |
32 |
DAHDI_FXS_SIGNALLING=ks |
33 |
|
34 |
# Whether or not to echocan: |
35 |
DAHDI_FXO_ECHOCAN=yes |
36 |
DAHDI_FXS_ECHOCAN=yes |
37 |
|
38 |
# These settings will be used for BRI cards. |
39 |
# Known options: B8ZS,AMI,HDB3 |
40 |
DAHDI_BRI_CODING=AMI |
41 |
|
42 |
# Known options: ESF,D4,CCS,CRC4 |
43 |
DAHDI_BRI_FRAMING=CCS |
44 |
|
45 |
# Our experience is that it's not required (still defaults to yes) |
46 |
DAHDI_BRI_NT_ECHOCAN=yes |
47 |
DAHDI_BRI_TE_ECHOCAN=yes |
48 |
|
49 |
# These settings are for PRI cards. Note that only E1 currently supported. |
50 |
DAHDI_E1_CPE_ECHOCAN=yes |
51 |
DAHDI_E1_NET_ECHOCAN=yes |
52 |
|
53 |
# PRI will default to CPE mode (remote end provides signalling). |
54 |
# If you really want to provide signalling set the appropriate spans |
55 |
# here (eg, set span 1 to NET mode). |
56 |
#PRI_SPAN_1_NET=yes |
57 |
|
58 |
|
59 |
|
60 |
1.1 net-misc/dahdi-tools/files/dahdi-autoconf.init2 |
61 |
|
62 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.init2?rev=1.1&view=markup |
63 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/dahdi-tools/files/dahdi-autoconf.init2?rev=1.1&content-type=text/plain |
64 |
|
65 |
Index: dahdi-autoconf.init2 |
66 |
=================================================================== |
67 |
#!/sbin/runscript |
68 |
# Copyright 1999-2011 Ultimate Linux Solutions CC |
69 |
# Distributed under the terms of the GNU General Public License v2 |
70 |
|
71 |
depend() { |
72 |
before dahdi |
73 |
} |
74 |
|
75 |
dahdi_load_modules() { |
76 |
local hwlist loc status mod mod_vname pciid desc |
77 |
|
78 |
hwlist=$(/usr/sbin/dahdi_hardware) |
79 |
|
80 |
if [ -z "${hwlist}" ]; then |
81 |
einfo "No digium hardware found." |
82 |
ebegin "Loading module dahdi_dummy" |
83 |
/sbin/modprobe dahdi_dummy |
84 |
eend $? |
85 |
return |
86 |
fi |
87 |
|
88 |
echo "${hwlist}" | while read loc mod pciid desc; do |
89 |
status="${mod:${#mod}-1:1}" |
90 |
mod="${mod%[+-]}" |
91 |
mod_vname="mod_${mod}" |
92 |
|
93 |
einfo "Found $desc at $loc (module: $mod)" |
94 |
|
95 |
if [ "${status}" = "-" -a "${!mod_vname-notloaded}" = "notloaded" ]; then |
96 |
ebegin "Loading module $mod" |
97 |
/sbin/modprobe $mod |
98 |
eend |
99 |
|
100 |
[ $? -eq 0 ] && eval "$mod_vname=loaded" |
101 |
fi |
102 |
done |
103 |
} |
104 |
|
105 |
dahdi_module_unload() { |
106 |
local mod=$1 s |
107 |
[ -d /sys/module/${mod} ] || return 0 |
108 |
|
109 |
for s in $(find /sys/module/${mod}/holders -type l); do |
110 |
dahdi_module_unload $(basename $s) |
111 |
done |
112 |
|
113 |
ebegin "Removing dahdi module: $mod" |
114 |
/sbin/rmmod $mod |
115 |
eend $? |
116 |
} |
117 |
|
118 |
dahdi_gen_fxo_config() { |
119 |
local port=$1 |
120 |
|
121 |
echo "fxs${DAHDI_FXO_SIGNALLING-ks}=${port}" |
122 |
[ "${DAHDI_FXO_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" |
123 |
} |
124 |
|
125 |
dahdi_gen_fxs_config() { |
126 |
local port=$1 |
127 |
|
128 |
echo "fxo${DAHDI_FXO_SIGNALLING-ks}=${port}" |
129 |
[ "${DAHDI_FXS_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${port}" |
130 |
} |
131 |
|
132 |
dahdi_gen_bri_te_config() { |
133 |
span=$1 |
134 |
port=$2 |
135 |
basechan=$3 |
136 |
|
137 |
echo "span=${span},${port},0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" |
138 |
echo "bchan=${basechan}-$(( basechan + 1 ))" |
139 |
echo "hardhdlc=$(( basechan + 2 ))" |
140 |
[ "${DAHDI_BRI_TE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" |
141 |
} |
142 |
|
143 |
dahdi_gen_bri_nt_config() { |
144 |
span=$1 |
145 |
port=$2 |
146 |
basechan=$3 |
147 |
|
148 |
echo "span=${span},0,0,${DAHDI_BRI_FRAMING-CSS},${DAHDI_BRI_CODING-AMI}" |
149 |
echo "bchan=${basechan}-$(( basechan + 1 ))" |
150 |
echo "hardhdlc=$(( basechan + 2 ))" |
151 |
[ "${DAHDI_BRI_NT_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${basechan}-$(( basechan + 1 ))" |
152 |
} |
153 |
|
154 |
dahdi_gen_e1_cpe_config() { |
155 |
span=$1 |
156 |
port=$2 |
157 |
basechan=$3 |
158 |
|
159 |
echo "span=${span},${port},0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" |
160 |
bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" |
161 |
echo "bchan=${bchans}" |
162 |
echo "dchan=$(( basechan + 15 ))" |
163 |
[ "${DAHDI_E1_CPE_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" |
164 |
} |
165 |
|
166 |
dahdi_gen_e1_net_config() { |
167 |
span=$1 |
168 |
port=$2 |
169 |
basechan=$3 |
170 |
|
171 |
echo "span=${span},0,0,${DAHDI_E1_FRAMING-CCS},${DAHDI_E1_CODING-HDB3,CRC4}" |
172 |
bchans="${basechan}-$(( basechan + 14 )),$(( basechan + 16 ))-$(( basechan + 30 ))" |
173 |
echo "bchan=${bchans}" |
174 |
echo "dchan=$(( basechan + 15 ))" |
175 |
[ "${DAHDI_E1_NET_ECHOCAN-yes}" = yes ] && echo "echocanceller=${DAHDI_ECHOCAN-mg2},${bchans}" |
176 |
} |
177 |
|
178 |
dahdi_conf_span() { |
179 |
local span=$1 |
180 |
local type=$2 |
181 |
local desc=$3 |
182 |
local port=$4 |
183 |
local basechan=$5 |
184 |
local vname="" |
185 |
|
186 |
# Analog we need to deal with on a port-by-port basis. |
187 |
[ "${type}" = "analog" ] && return 0 |
188 |
|
189 |
echo -e "\n# ${desc}" |
190 |
case "${type}" in |
191 |
digital-TE) |
192 |
dahdi_gen_bri_te_config "${span}" "${port}" "${basechan}" |
193 |
;; |
194 |
digital-NT) |
195 |
dahdi_gen_bri_nt_config "${span}" "${port}" "${basechan}" |
196 |
;; |
197 |
digital-E1) |
198 |
# Use CPE by default. Unfortunately there is no easy |
199 |
# way to detect CPE vs NET as far as I know and specifying |
200 |
# in a config that you want NET mode seems the sanest way. |
201 |
vname="PRI_SPAN_${span}_NET" |
202 |
if [[ "${!vname}" = [Yy][Ee][Ss] ]]; then |
203 |
dahdi_gen_e1_net_config "${span}" "${port}" "${basechan}" |
204 |
else |
205 |
dahdi_gen_e1_cpe_config "${span}" "${port}" "${basechan}" |
206 |
fi |
207 |
;; |
208 |
*) |
209 |
echo "# Don't know how to configure this (type=${type})." |
210 |
echo "# Please file a bug on bugs.gentoo.org and add jaco@××××××.za as CC." |
211 |
;; |
212 |
esac |
213 |
} |
214 |
|
215 |
dahdi_gen_config() { |
216 |
local type manufacturer devicetype basechan aport atype |
217 |
local span= |
218 |
local tfile="$(mktemp)" |
219 |
local sfile="$(mktemp)" |
220 |
local plocation="" |
221 |
local isdnport=0 |
222 |
|
223 |
/usr/sbin/dahdi_scan > "${sfile}" |
224 |
exec 3<"${sfile}" |
225 |
|
226 |
echo "# Automatically dahdi-autoconf generated file ($(date))." >> "${tfile}" |
227 |
echo "# This file WILL get regenerated whenever you restart dahdi-autoconf." >> "${tfile}" |
228 |
|
229 |
while read LINE <&3; do |
230 |
case "$LINE" in |
231 |
[[]*[]]) |
232 |
[ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" |
233 |
span="${LINE%?}" |
234 |
span="${span#?}" |
235 |
;; |
236 |
type=*|manufacturer=*|devicetype=*|basechan=*|name=*) |
237 |
eval "${LINE%%=*}='${LINE#*=}'" |
238 |
;; |
239 |
location=*) |
240 |
eval "${LINE%%=*}='${LINE#*=}'" |
241 |
if [ "${location}" == "${plocation}" ]; then |
242 |
(( ++isdnport )) |
243 |
else |
244 |
plocation="${location}" |
245 |
isdnport=1 |
246 |
fi |
247 |
;; |
248 |
port=*) |
249 |
# For analog cards only. |
250 |
aport="${LINE#*=}"; aport="${aport%,*}" |
251 |
atype="${LINE#*,}" |
252 |
[ "${aport}" -eq "${basechan}" ] && echo -e "\n# ${manufacturer} ${devicetype} (${name})" >> "${tfile}" |
253 |
case "${atype}" in |
254 |
FXO) |
255 |
dahdi_gen_fxo_config $aport >> "${tfile}" |
256 |
;; |
257 |
FXS) |
258 |
dahdi_gen_fxs_config $aport >> "${tfile}" |
259 |
;; |
260 |
esac |
261 |
;; |
262 |
esac |
263 |
done |
264 |
|
265 |
[ -n "${span}" ] && dahdi_conf_span "${span}" "${type}" "${manufacturer} ${devicetype} (${name})" "${isdnport}" "${basechan}" >> "${tfile}" |
266 |
|
267 |
echo -e "\nloadzone = ${DAHDI_ZONE}\ndefaultzone = ${DAHDI_ZONE}\n## END OF AUTOCONFIGURED FILE ##" >> "${tfile}" |
268 |
|
269 |
exec 3<&- |
270 |
|
271 |
rm -f "${sfile}" |
272 |
mv /etc/dahdi/system.conf /etc/dahdi/system.conf.bck |
273 |
mv "${tfile}" /etc/dahdi/system.conf |
274 |
} |
275 |
|
276 |
start() { |
277 |
dahdi_load_modules |
278 |
|
279 |
if [ ! -r /dev/dahdi/ctl ]; then |
280 |
eerror "No DAHDI compatible cards detected." |
281 |
return 1 |
282 |
fi |
283 |
|
284 |
ebegin "Generating DAHDI Configuration" |
285 |
dahdi_gen_config |
286 |
eend $? |
287 |
} |
288 |
|
289 |
stop() { |
290 |
dahdi_module_unload dahdi |
291 |
} |