ソースを参照

Next SIP extension

Bob Mottram 9 年 前
コミット
31316c3bf5
共有1 個のファイルを変更した14 個の追加26 個の削除を含む
  1. 14
    26
      src/freedombone-sipfreeext

+ 14
- 26
src/freedombone-sipfreeext ファイルの表示

@@ -35,35 +35,23 @@ extensions=()
35 35
 
36 36
 # get the used extensions
37 37
 IFS=''
38
-while read line; do
39
-    if [[ "$line" == *"<extension>"* ]]; then
40
-        ext=$(echo "$line" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}')
41
-        extensions+=($ext)
42
-    fi
43
-    if [[ "$line" == *'</provision>' ]]; then
44
-        break
45
-    fi
46
-done < $CONFIG_FILE
47
-
48
-#echo "used extensions:"
49
-#echo $extensions
50
-#echo " "
38
+for line in $(cat $CONFIG_FILE | grep "extension"); do
39
+    extnum=$(echo "$line" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}')
40
+    extensions+=($extnum)
41
+done
51 42
 
52
-# which is the first available unused extension ?
53
-for ext in $(seq 201 299);
54
-do
55
-    is_used=
56
-    for i in "${extensions[@]}"
57
-    do
58
-        if [[ "$i" == "$ext" ]]; then
59
-            is_used=1
60
-            break
61
-        fi
62
-    done
63
-    if [ ! $is_used ]; then
64
-        echo $ext;
43
+# find the max extension number
44
+maxnum=201
45
+for i in ${extensions[@]}; do
46
+    if [ $i -gt $maxnum ]; then
47
+        maxnum=$i
65 48
         break
66 49
     fi
67 50
 done
68 51
 
52
+if [ $maxnum -gt 299 ]; then
53
+	exit 1
54
+fi
55
+
56
+echo $(($maxnum + 1))
69 57
 exit 0