Personal tools
You are here: Home Members gma Some scripts to manage via ssh a NORTEL PBX in an easy way
Document Actions

Some scripts to manage via ssh a NORTEL PBX in an easy way

by gma last modified 2011-09-21 07:28

For automatisation and easy and quick management of NORTEL PBX.

Having problems with the management computer for a NORTEL PBX, I installed a PC under Linux to manage the NORTEL PBX with a few scripts

Here are some examples...

Sorry it is written in french!


/usr/local/bin/aide

La petite organisation des scripts...

#!/bin/bash
echo "
NORTEL : liste des commandes

aide: donne ce fichier d'aide
Attention: pour quitter minicom : ALT+Z
****: pour sortir en mode intéractif

I. On se connecte et on se déconnecte
nortel.connect : regarde l'état de la connection et se connecte si nécessaire
nortel.deconnect : déconnecte

( nortel.1 : script de connection
nortel : pour être en mode interactif
( nortel.0 : déconnection

II. Une fois connecté, on passe les commandes

II.A. Lecture des infos

nortel.info.tel 141 : donne les infos du tél 141
nortel.info.carte 12 : donne les infos sur la carte 12 - les cartes vont de 9 à 16.
nortel.info.carte.broche 12 2 : donne les infos sur la carte 12 pour la broche 2.

II.B. Modification de noms

nortel.nom.supprimer 141 : supprime le nom associé au numéro 141
nortel.nom.creer 141 "Nathalie K." : créé le nom associé au numéro 141 mais il faut supprimer le nom avant.

II.C. Création de poste de téléphone

III Gestion de la date
nortel.date: pour lire la date du nortel
nortel.date.autoset: pour synchroniser la date du nortel

PS: si on n'est pas loggué on lit OVL013 après un ld 20
si on est loggué on lit OVL000 après un return.

"


/usr/local/bin/nortel

Pour passer en mode interactif

#!/usr/bin/expect
set temps 0.1
spawn minicom
interact


/usr/local/bin/nortel.0

Pour se déconnecter

#!/usr/bin/expect
set temps 0.1
spawn minicom




sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "logo\r"


/usr/local/bin/nortel.1

Pour se connecter

#!/usr/bin/expect
set temps 0.1
spawn minicom

sleep $temps
send "\r"

expect ">"
sleep $temps
send "logi THE_LOGIN\r"

expect "PASS?"
sleep $temps
send "THE_PASSWORD\r"

expect ">"
#interact


/usr/local/bin/nortel.date

Pour lire l'heure du NORTEL

#!/bin/bash
log="/home/NORTEL/nortel/nortel_$(date +%Y%m%d_%a_%Hh%Mm%Ss)_date.log"
n1="$1"
#nortel.connect
date
/usr/local/bin/nortel.date.exp >> "$log"
cat "$log" | sed "s/\x0D//g" | perl -ne 'print if /ttad/.../EOF/' | sed "s/.ttad.//g" | grep "20[0-9][0-9]"
date
echo
chown NORTEL:NORTEL "$log"


/usr/local/bin/nortel.date.autoset

Pour synchroniser la date

#!/bin/bash
log="/home/NORTEL/nortel/nortel_$(date +%Y%m%d_%a_%Hh%Mm%Ss)_date_set.log"
#nortel.connect
echo
echo "Synchronise automatiquement la date du central avec le serveur nortel"

date
echo start
/usr/local/bin/nortel.date.set.exp  $( date --date='2 second' +'%d %m %Y %H %M %S' )  > "$log"
echo end
date
echo
chown NORTEL:NORTEL "$log"
echo
echo "Date Actuelle :"
/usr/local/bin/nortel.date

exit 0


/usr/local/bin/nortel.date.exp

Le script de dialogue pour lire la date du NORTEL

#!/usr/bin/expect
set n1 [lindex $argv 0]
set n2 [lindex $argv 1]
set temps 0.2
spawn minicom -m

sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "ld 02\r"

# consultation date

expect "."
sleep $temps
send "ttad\r"

expect "."
sleep $temps
send "****\r"

expect "."
sleep $temps
send "****\r"


expect "."
sleep $temps
send "****\r"


/usr/local/bin/nortel.date.set.exp

Le script de dialogue pour changer la date du NORTEL

#!/usr/bin/expect
set n1 [lindex $argv 0]
set n2 [lindex $argv 1]
set n3 [lindex $argv 2]
set n4 [lindex $argv 3]
set n5 [lindex $argv 4]
set n6 [lindex $argv 5]

set temps 0.2
spawn minicom -m

sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "ld 02\r"

# consultation date

expect "."
sleep $temps
send "stad $n1 $n2 $n3 $n4 $n5 $n6 \r"
sleep $temps
sleep $temps

expect "."
sleep $temps
send "****\r"

expect "OVL000"
sleep $temps
send "****\r"


/usr/local/bin/nortel.info.tel

Un script pour fournir les informations relatives à un téléphone y compris la position et le numéro du patch

#!/bin/bash
numero="$1"
log=/home/NORTEL/nortel/nortel_$(date +%Y%m%d_%a_%Hh%Mm%Ss)_T$(printf %04d $numero).log
#echo $log
#read kk

#nortel.connect
nortel.info.tel.exp $numero | sed "s/\[1;6[12]r//g" | sed "s/\[61;1H//g" | sed "s/\x1B/\n/g" | sed "s/\x0D/\n/g" | uniq > $log
chown NORTEL:NORTEL $log
#val="TN   012 0 00 01 KEY 00   MARP  DES 3902      14 MAY 2008"
carte=$( grep TN $log | awk '{print $2 }' )
broche=$( grep TN $log | awk '{print $5 }' )
position=$(( $(echo "($carte-5)*16+$broche+1" | bc )  ))
ligne=$(( $(echo "($position-1)/24+1" | bc ) ))
type=$( grep TN $log )
#| awk '{print $9 " " $10 " " $11 }' )
nom=$( grep NAME $log | sed "s/.*NAME//" | sed "s/\x0D.*//" )
echo "============================================================"
echo "Informations pour le numéro : $numero"
echo "============================================================"
echo "Carte: $carte"
echo "Broche: $broche"
echo
echo "Patch: $ligne"
echo "Position : $position"
echo
echo "Tél de type : $type"
echo
echo "Nom : $nom"
echo
echo "------------------------------------------------------------"
#echo "============================================================"



/usr/local/bin/nortel.info.tel.exp

Le script de dialogue pour obtenir les informations d'un téléphone

#!/usr/bin/expect
set temps 0.2
set numero [lindex $argv 0]
spawn minicom -m

sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "LD 20\r"

expect "PT0000"
sleep $temps
send "\r"

expect "REQ:"
sleep $temps
send "PRT\r"

expect "TYPE:"
sleep $temps
send "DNB\r"

expect "CUST"
sleep $temps
send "0\r"

expect "DN"
sleep $temps
send "$numero \r"

expect "DATE"
sleep $temps
send "\r"

expect "PAGE"
sleep $temps
send "\r"

expect "DES"
sleep $temps
send "\r"

#interact

expect "NACT"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"

expect ">"
sleep $temps
send "****\r"


Exemple d'utilisation : nortel.info.tel 107

On se connecte.

17:08:52[NORTEL@nortel^~]$nortel.1
Bienvenue avec minicom 2.3

OPTIONS: I18n
Compilé le Feb 24 2008, 16:35:15.
Port /dev/ttyS0

Tapez ESC,Z pour voir l'aide concernant les touches spéciales

TTY 01 SCH MTC   17:08
OVL111 IDLE   0
>logi user0
PASS?
.
TTY #01 LOGGED IN USER0 17:08  20/9/2011


On passe la commande

17:08:54[NORTEL@nortel^~]nortel.info.tel 107
============================================================
Informations pour le numéro : 107
============================================================
Carte: 011
Broche: 08

Patch: 5
Position : 105

Tél de type : TN   011 0 00 08 KEY 00   MARP  DES 3902      14 MAY 2008

Nom :  Nathalie K.
------------------------------------------------------------


On se déconnecte si nécessaire

17:09:12[NORTEL@nortel^~]$nortel.0

Bienvenue avec minicom 2.3

OPTIONS: I18n
Compilé le Feb 24 2008, 16:35:15.
Port /dev/ttyS0

               Tapez ESC,Z pour voir l'aide concernant les touches spéciales

****

OVL000
>****
OVL000
17:09:20[NORTEL@nortel^~]

En ssh, il faut moins de 30 secondes pour connaître la position et le numéro de patch alors qu'on peut se trouver à 300 km du site.


This site conforms to the following standards: