Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Skrypt http://forum.freesco.pl/viewtopic.php?f=28&t=17111 |
Strona 1 z 1 |
Autor: | marcin w [ czwartek, 7 sierpnia 2008, 15:08 ] |
Tytuł: | Skrypt |
Witam. Czy mógłby mi ktoś pomów w wykonaniu skryptu generującego dialplan dla potrzeb asteriska ? Ma to działać na tej zasadzie: podaję plik tekstowy z wykazem mumeracji danego operatora, na przykład: Cytuj: 022310 032311 041312 . . . po uruchomieniu skryptu wygenerowany zostanie plik z dialplanem dla asteriska w postaci: Cytuj: exten => _022310X.,1,Dial(SIP/${EXTEN}@out-oper1)
exten => _022310X.,2,Hangup exten => _032311X.,1,Dial(SIP/${EXTEN}@out-oper1) exten => _032311X.,2,Hangup exten => _041312X.,1,Dial(SIP/${EXTEN}@out-oper1) exten => _041312X.,2,Hangup . . . |
Autor: | Mis' [ czwartek, 7 sierpnia 2008, 15:41 ] |
Tytuł: | |
# !/bin/sh if [ $# -lt 2 ]; then echo "Nieprawidłowa liczba argumentów." echo "Sposób użycia: " echo "$0 /sciezka/plik_z_numeracją /sciezka/dialplan" echo "Kończę." exit 1 fi [ -f $1 ] || echo "Plik $1 nie istnieje. Kończę" && exit 1 [ -f $2 ] && mv $2 $2.old while read line; do echo "exten => _${line}X.,1,Dial(SIP/\${EXTEN}@out-oper1)" >> /sciezka/dialplan echo "exten => _${line}X.,2,Hangup" >> /sciezka/dialplan done < $1 Nie testowane! Zwróć uwagę na ${EXTEN} - znak dolara musi być poprzedzony backslashem aby zapobiec interpretowaniu tego wyrażenia jako zmiennej. Może być konieczne (choć nie sądzę), że inne znaki trzeba będzie poprzedzić backslashem. Script wymaga dwóch parametrów w określonej kolejności - ścieżka do pliku z numeracją i ścieżka do pliku dialplanu. Jesli plik dialplanu istnieje jego nazwa zostaje zmieniona na dialplan.old i nowy plik dialplan jest generowany. W pliku z numeracją niedopuszczalne są komentarze, a każdy numer musi być w osobnej linii, bez spacji/tabulatorów na początku i końcu numeru. Plik ten powinien kończyć się pustą linią. |
Autor: | marcin w [ czwartek, 7 sierpnia 2008, 16:10 ] |
Tytuł: | |
Dzięki Mis' za szybką reakcję. Uruchomiłem skrypt poleceniem ./generator /home/kat_dom/numeracja /home/kat_dom/dialplan generator - plik ze skryptem numeracja - wykaz numeracji dialplan - wynikowy plik z dialplanem Nic nie tworzy w pliku o nazwie dialplan, plik jest czysty. Możesz pomóc mi ?? Edit. Troszeczkę czasu poświęciłem i udało mi się coś wymyśleć. Dzięki za wsparcie kodem skryptu. Pozdrwiam Marcin |
Autor: | Mis' [ czwartek, 7 sierpnia 2008, 21:13 ] |
Tytuł: | |
marcin w pisze: Uruchomiłem skrypt poleceniem
./generator /home/kat_dom/numeracja /home/kat_dom/dialplan Nic nie tworzy w pliku o nazwie dialplan, plik jest czysty. Jesli sobie poradziłeś to napisz gdzie był błąd. Jak mówię, nie testowałem tego... |
Autor: | Mis' [ czwartek, 7 sierpnia 2008, 21:26 ] |
Tytuł: | |
Zmień linię: [ -f $1 ] || echo "Plik $1 nie istnieje. Kończę" && exit 1 na if [ ! -f $1 ]; then echo "Plik $1 nie istnieje. Kończę" exit 1 fi i powinno być dobrze. Przynajmniej na Twoich przykładach działa. |
Autor: | marcin w [ czwartek, 7 sierpnia 2008, 22:13 ] |
Tytuł: | |
Pozostawiłem tylko Cytuj: # !/bin/sh
while read line; do echo "exten => _${line}X.,1,Dial(SIP/\${EXTEN}@out-oper1)" >> /sciezka/dialplan echo "exten => _${line}X.,2,Hangup" >> /sciezka/dialplan done < $1 Dzięki za wsparcie. Skrypt zaoszczędził mi około 2 dni pracy. Wygenerowanie dialplanu dla kilku operatorów VOIP (łącznie około 400 linii kodu) zajęło mi tylko 1 godzinę. |
Autor: | pectosol [ czwartek, 7 sierpnia 2008, 23:33 ] |
Tytuł: | |
ciekawe rozwiązanie w/w problemu. Ja najczęściej takie konwersje realizowałem przy pomocy excela i makr. Muszę to zacząć stosować |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |