



Un saluto a tutti (e sempre più numerosi) i frequentatori del mio piccolo blog, che vuol dare una mano a tutti quelli che fanno un lavoro simile al mio.
Sono in meritate (spero!) ferie, e saltuariamente scriverò qualche novità nei giorni in cui tornerò al lavoro durante l’estate….ho qualcosa in cantiere di interessante sia per il mondo Linux che Trixbox…stay tuned!




Ho provato e configurato per un cliente un buon gateway GSM VoIP, il Portech MV-372.
Ha gli slot per due schede GSM ed in linea di massima si usa come un qualsiasi altro gateway, ovvero con utenti registrati su Asterisk/Trixbox quanti sono i canali disponibili, in questo caso due, e con una dial rule del tipo IP/USER/${EXTEN}
Inoltre è possibile sia il LAN to MOBILE, che il MOBILE to LAN, in questo ultimo caso le applicazioni sono molteplici, dalla chiamata automatica verso certe destinazioni, al DISA, al callback.
Inoltre supporta sia lo one stage che il two stage dialing.
Ho impiegato un pò a creare uno user funzionante, ma documentandomi un pò ecco il risultato
[1004]
type=friend
username=1004
fromuser=1004
regexten=1004
secret=1004
context=from-pstn
dtmfmode=inband
call-limit=1
host=dynamic
nat=no
canreinvite=no
insecure=very
qualify=yes
disallow=all
allow=ulaw
allow=alaw
Se vi interesserà qualcosa di più in particolare, postate qualche commento.
Inoltre credo che ho trovato un bug, anche se vi è l’opzione per inserire il codice pin, mi sa che non funziona, inserite le sim senza pin.




Ancora Windows, in questi giorni ho una palestra offerta dal pc di un cliente.
Adesso era IExplorer che non partiva, pensa pensa come mai, poi alla fine ho scoperto che rinominandolo mi partiva, altrimenti mi veniva restituito da windows un errore, di tipo “file non trovato”, ma il file c’era eccome.
Bene ho trovato il motivo, nel registro di windows c’è questa chiave
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe
che in ogni caso non dovrebbe esistere, sia per iexplore.exe che per explorer.exe.
In questo caso puntava ad un virus, il cui nome del file era iexpl_32.exe..
Il motivo per il quale mi veniva detto file non trovato, che quel file li era stato cancellato dall’antivirus!
Cancellata la chiave, ed iexplore.exe è ripartito senza problemi!




Mi è capitato una macchina con un problema strano, ovvero alla partenza di windows il desktop si presentava senza icone, inoltre non vi era la barra delle applicazioni.
Inoltre premendo CTRL+ALT+CANC non potevo avviare explorer.exe manualmente, mi restituiva il classico errore che l’applicazione non esiste, ma il file c’era.
Ho provato anche a copiare l’explorer.exe dal CD di windows espandelo con EXPAND appunto, ma nulla.
Ho avuto il leggero sentore che si trattasse di un rootkit, quindi documentandomi un pò su Google ho trovato un programma interessante, chiamato Combofix e recuperabile qui.
Una volta portato al termine il suo compito, magicamente explorer dovrebbe partire!




Con questo post voglio dare spunto a chi deve usare il Patton e Asterisk/Trixbox per creare applicazioni complesse.
Nel mio caso Trixbox sarà usato come frontend di un centralino 4 BRI privo di IVR, compito che sarà svolto da Asterisk.
Non entrerò nel merito della configurazione dell’IVR, tenuto solo come esempio.
La configurazione prevede 4 BRI Telecom Italia pmp, collegate a Trixbox tramite un Patton 4638 ed un classico PBX collegato ad un altro Patton 4638, porte pmp e in modalità net(NT).
La cosa più complessa sono le configurazioni degli SmartNode, riportate qui di seguito
Lato Telecom
#----------------------------------------------------------------# # # # SN4638/5BIS/UI # # R3.20 2006-11-17 H323 SIP BRI # # 2007-06-11T19:30:45 # # Generated configuration file # # # #----------------------------------------------------------------# cli version 3.20 dns-relay webserver port 80 language en sntp-client sntp-client server primary 129.132.2.21 port 123 version 4 system ic voice 0 low-bitrate-codec g729 profile napt NAPT_WAN profile ppp default profile call-progress-tone IT_Dialtone play 1 200 425 -12 pause 2 200 play 3 600 425 -12 pause 4 1000 profile call-progress-tone IT_Alertingtone play 1 1000 425 -12 pause 2 4000 profile call-progress-tone IT_Busytone play 1 500 425 -12 pause 2 500 profile tone-set default profile tone-set IT map call-progress-tone dial-tone IT_Dialtone map call-progress-tone ringback-tone IT_Alertingtone map call-progress-tone busy-tone IT_Busytone map call-progress-tone release-tone IT_Busytone map call-progress-tone congestion-tone IT_Busytone profile voip default codec 1 g711alaw64k rx-length 20 tx-length 20 codec 2 g711ulaw64k rx-length 20 tx-length 20 profile voip VOIP-ASTERISK codec 1 g729 rx-length 20 tx-length 20 codec 2 g711ulaw64k rx-length 20 tx-length 20 codec 3 g711alaw64k rx-length 20 tx-length 20 codec 4 g723-6k3 rx-length 30 tx-length 30 dejitter-max-delay 200 profile pstn default profile sip default profile aaa default method 1 local method 2 none context ip router interface WAN ipaddress dhcp use profile napt NAPT_WAN tcp adjust-mss rx mtu tcp adjust-mss tx mtu interface LAN ipaddress 192.168.1.1 255.255.255.0 tcp adjust-mss rx mtu tcp adjust-mss tx mtu context cs switch national-prefix 0 international-prefix 00 interface isdn IF-PBX route call dest-interface IF-ASTERISK use profile tone-set IT interface isdn IF-PBX-2 route call dest-interface IF-ASTERISK-2 use profile tone-set IT interface isdn IF-PBX-3 route call dest-interface IF-ASTERISK-3 use profile tone-set IT interface isdn IF-PBX-4 route call dest-interface IF-ASTERISK-4 use profile tone-set IT interface sip IF-ASTERISK bind gateway ASTERISK service default route call dest-interface IF-PBX early-disconnect privacy interface sip IF-ASTERISK-2 bind gateway ASTERISK-2 service default route call dest-interface IF-PBX-2 early-disconnect privacy interface sip IF-ASTERISK-3 bind gateway ASTERISK-3 service default route call dest-interface IF-PBX-3 early-disconnect privacy interface sip IF-ASTERISK-4 bind gateway ASTERISK-4 service default route call dest-interface IF-PBX-4 early-disconnect privacy context cs switch no shutdown gateway sip ASTERISK bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton session-timer 1800 gateway sip ASTERISK no shutdown gateway sip ASTERISK-2 call-signaling-port 5062 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-2 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-2 session-timer 1800 gateway sip ASTERISK-2 no shutdown gateway sip ASTERISK-3 call-signaling-port 5064 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-3 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-3 session-timer 1800 gateway sip ASTERISK-3 no shutdown gateway sip ASTERISK-4 call-signaling-port 5066 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-4 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-4 session-timer 1800 gateway sip ASTERISK-4 no shutdown port ethernet 0 0 medium auto encapsulation ip bind interface WAN router no shutdown port ethernet 0 1 medium auto encapsulation ip bind interface LAN router no shutdown port bri 0 0 clock auto encapsulation q921 q921 protocol pp uni-side user encapsulation q931 q931 protocol dss1 uni-side user encapsulation cc-isdn bind interface IF-PBX switch port bri 0 0 no shutdown port bri 0 1 clock auto encapsulation q921 q921 protocol pp uni-side user encapsulation q931 q931 protocol dss1 uni-side user encapsulation cc-isdn bind interface IF-PBX-2 switch port bri 0 1 no shutdown port bri 0 2 clock auto encapsulation q921 q921 protocol pp uni-side user encapsulation q931 q931 protocol dss1 uni-side user encapsulation cc-isdn bind interface IF-PBX-3 switch port bri 0 2 no shutdown port bri 0 3 clock auto encapsulation q921 q921 protocol pp uni-side user encapsulation q931 q931 protocol dss1 uni-side user encapsulation cc-isdn bind interface IF-PBX-4 switch port bri 0 3 no shutdown port bri 0 4 clock auto encapsulation q921 q921 protocol pp uni-side user encapsulation q931 q931 protocol dss1 uni-side user port bri 0 4 shutdownLato PBX
#----------------------------------------------------------------# # # # SN4638/5BIS/UI # # R3.20 2006-11-17 H323 SIP BRI # # 2007-06-11T19:32:41 # # Generated configuration file # # # #----------------------------------------------------------------# cli version 3.20 dns-relay webserver port 80 language en sntp-client sntp-client server primary 129.132.2.21 port 123 version 4 system ic voice 0 low-bitrate-codec g729 profile napt NAPT_WAN profile ppp default profile call-progress-tone IT_Dialtone play 1 200 425 -12 pause 2 200 play 3 600 425 -12 pause 4 1000 profile call-progress-tone IT_Alertingtone play 1 1000 425 -12 pause 2 4000 profile call-progress-tone IT_Busytone play 1 500 425 -12 pause 2 500 profile tone-set default profile tone-set IT map call-progress-tone dial-tone IT_Dialtone map call-progress-tone ringback-tone IT_Alertingtone map call-progress-tone busy-tone IT_Busytone map call-progress-tone release-tone IT_Busytone map call-progress-tone congestion-tone IT_Busytone profile voip default codec 1 g711alaw64k rx-length 20 tx-length 20 codec 2 g711ulaw64k rx-length 20 tx-length 20 profile voip VOIP-ASTERISK codec 1 g729 rx-length 20 tx-length 20 codec 2 g711ulaw64k rx-length 20 tx-length 20 codec 3 g711alaw64k rx-length 20 tx-length 20 codec 4 g723-6k3 rx-length 30 tx-length 30 dejitter-max-delay 200 profile pstn default profile sip default profile aaa default method 1 local method 2 none context ip router interface WAN ipaddress dhcp use profile napt NAPT_WAN tcp adjust-mss rx mtu tcp adjust-mss tx mtu interface LAN ipaddress 192.168.1.1 255.255.255.0 tcp adjust-mss rx mtu tcp adjust-mss tx mtu context cs switch national-prefix 0 international-prefix 00 interface isdn IF-PBX route call dest-interface IF-ASTERISK use profile tone-set IT interface isdn IF-PBX-2 route call dest-interface IF-ASTERISK-2 use profile tone-set IT interface isdn IF-PBX-3 route call dest-interface IF-ASTERISK-3 use profile tone-set IT interface isdn IF-PBX-4 route call dest-interface IF-ASTERISK-4 use profile tone-set IT interface sip IF-ASTERISK bind gateway ASTERISK service default route call dest-interface IF-PBX early-disconnect privacy interface sip IF-ASTERISK-2 bind gateway ASTERISK-2 service default route call dest-interface IF-PBX-2 early-disconnect privacy interface sip IF-ASTERISK-3 bind gateway ASTERISK-3 service default route call dest-interface IF-PBX-3 early-disconnect privacy interface sip IF-ASTERISK-4 bind gateway ASTERISK-4 service default route call dest-interface IF-PBX-4 early-disconnect privacy context cs switch no shutdown gateway sip ASTERISK bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-5 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-5 session-timer 1800 gateway sip ASTERISK no shutdown gateway sip ASTERISK-2 call-signaling-port 5062 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-6 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-6 session-timer 1800 gateway sip ASTERISK-2 no shutdown gateway sip ASTERISK-3 call-signaling-port 5064 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-7 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-7 session-timer 1800 gateway sip ASTERISK-3 no shutdown gateway sip ASTERISK-4 call-signaling-port 5066 bind interface WAN router service default domain 192.168.0.153 realm 192.168.0.153 authentication patton-8 password 36ocYTYpKxk= encrypted default default-server 192.168.0.153 loose-router registrar 192.168.0.153 5060 user patton-8 session-timer 1800 gateway sip ASTERISK-4 no shutdown port ethernet 0 0 medium auto encapsulation ip bind interface WAN router no shutdown port ethernet 0 1 medium auto encapsulation ip bind interface LAN router no shutdown port bri 0 0 clock auto encapsulation q921 power-feed q921 protocol pmp uni-side net encapsulation q931 q931 protocol dss1 uni-side net encapsulation cc-isdn bind interface IF-PBX switch port bri 0 0 no shutdown port bri 0 1 clock auto encapsulation q921 power-feed q921 protocol pmp uni-side net encapsulation q931 q931 protocol dss1 uni-side net encapsulation cc-isdn bind interface IF-PBX-2 switch port bri 0 1 no shutdown port bri 0 2 clock auto encapsulation q921 power-feed q921 protocol pmp uni-side net encapsulation q931 q931 protocol dss1 uni-side net encapsulation cc-isdn bind interface IF-PBX-3 switch port bri 0 2 no shutdown port bri 0 3 clock auto encapsulation q921 power-feed q921 protocol pmp uni-side net encapsulation q931 q931 protocol dss1 uni-side net encapsulation cc-isdn bind interface IF-PBX-4 switch port bri 0 3 no shutdown port bri 0 4 clock auto encapsulation q921 q921 protocol pmp uni-side net encapsulation q931 q931 protocol dss1 uni-side net port bri 0 4 shutdown
Questo per tutto quello che riguarda i Patton, mentre su Trixbox, in sip_custom.conf creeremo 4 utenti nel contesto from-internal e 4 from-pstn (per ricevere telefonate dal Patton)
[patton]
type=friend
user=patton
username=patton
secret=1234
port=5060
host=dynamic
context=from-pstn[patton-2]
type=friend
user=patton
username=patton-2
secret=1234
port=5060
host=dynamic
context=from-pstn[patton-3]
type=friend
user=patton
username=patton-3
secret=1234
port=5060
host=dynamic
context=from-pstn[patton-4]
type=friend
user=patton
username=patton-4
secret=1234
port=5060
host=dynamic
context=from-pstn[patton-5]
type=friend
user=patton
username=patton-5
secret=1234
port=5060
host=dynamic
context=from-internal[patton-6]
type=friend
user=patton
username=patton-6
secret=1234
port=5060
host=dynamic
context=from-internal[patton-7]
type=friend
user=patton
username=patton-7
secret=1234
port=5060
host=dynamic
context=from-internal[patton-8]
type=friend
user=patton
username=patton-8
secret=1234
port=5060
host=dynamic
context=from-internal
Adesso dovremmo creare i trunk opportuni per instradare le chiamate verso il pbx e evrso telecom, ovvero creeremo 8 trunk custom, che avranno una dial nella forma
SIP/patton/$OUTNUM$
ovvero l’account sarà utilizzato come vero e proprio canale sip.
Dovrete mettere i vari patton, patton-1,patton-2 e patton-3 in sequenza, in modo che chi tenta di chiamare in uscita userà il primo cnale libero, la stessa cosa va fatta per le chiamate da instradare in automatico verso il centralino.
Potremo fare uso delle Misc. Destination in modo da avere una sequenza automatica del tipo TELECOM–>PATTON–>TRIXBOX–>PATTON–>PBX, ovviamente la outgoing route lato pbx dovrà avere una dial rule del tipo 0577XXX. che avrà come trunks i vari utenti patton del contesto from-internal, mentre le varie inbound route saranno “servite” dagli users nel contesto from-pstn, così come la route verso tutti le destinazioni che vorremmo.
Non è così complesso come sembra!!!




Molte volte erroneamente quanto viene calcolata la banda necessaria per effettuare chiamate VoIP, viene tenuto conto solo del codec utilizzato ed un numero molto empirico di chiamate contemporanee.
Mi spiego meglio, se utilizziamo il codec G.729 per la voce vengono utilizzati 8k, ma il pacchetto complessivo tcp/ip sarà quanto meno 28k, comprensivi di overhead del pacchetto, flags ed altro.
Inoltre è importante tenere conto anche del “mezzo” dove passa la chiamata, ovvero rete Ethernet, Frame relay, ATM..
Come fare allora?
Per prima cosa dobbiamo calcolare l’Erlang!
Cosa si nasconde dietro questo strano nome? Bhe semplicemente un valore che rappresenta il numero complessivo (in minuti) di chiamate in un ora, che passano dal nostro sistema.
Un Erlang si misura in ore, quindi divideremo i minuti di chiamata per 60 ed otterremmo i minuti di chiamate in Erlang.
Per esempio se 4 dipendenti fanno 30 minuti durante la stessa ora, avremo 120 minuti complessivi, che corrispondono a 2 Erlang.
Però un calcolo più fino deve tenere conto che le giornate lavorative sono grossomodo 22 giorni, ed il 15 percento delle telefonate si concentra nell’ora di punta.
Quindi per vedere il valore di Erlang del nostro sistema nell’ora di punta sarà calcolato dividendo il numero di minuti effettuati in un mese (MM), diviso per 22 giorni e moltiplicati per 0,15 (15%), infine diviso 60 per ottenere l’Erlang.
Mettiamo che il nostro sistema effettuti 50.000 minuti al mese, il valore di in Erlang sarà 5,7.
Cosa ci facciamo con questo valore? Bhe lo utilizzeremo per calcolare il numero di trunks, quindi di canali occupabili contemporaneamente, cosa che in VoIP ci permetterà poi di calcolare la banda necessaria.
C’è da tenere conto di un altro fattore, ovvero il GoS, Grade of Services, ovvero una percentuale accettabile di quante chiamate possono essere “rifiutate” nell’ora di intenso traffico. Un valore accettabile è sicuramente 0,01, ovvero l’un per cento di possibilità che una chiamata venga rifiutata.
Per calcolare il numero di linee (trunks) utilizzando Erlang andiamo sul sito http://erlang.com/calculator/erlb/
Ad esempio nel mio caso, nel mese di Maggio abbiamo avuto 31977 minuti di chiamate, quindi un valore Erlang di 3.64 corrisponderà a 9 linee (trunks)
Ad esempio, noi abbiamo per default un flusso E1 Telecom, quindi siamo molto al di sopra dell’effettivo bisogno…
Ma se volessimo far passare tutto da voip, quanta banda sarebbe necessaria? Collegandosi a http://erlang.com/calculator/eipb, oltre a scrivere il valore di GoS, di Erlang ed il codec utilizzato, ci verrà riportata il valore della banda necessaria. Un altro calcolatore è quello Cisco al sito http://tools.cisco.com/Support/VBC/do/CodecCalc1.do
Che è più specifico, in quanto ha molti più valori, come ad esempio il protocollo di Layer 2, se è un tunnel, se ci sono algoritmi di cifratura e così via..
Tornando al mio valore, 9 linee corrispondono a 216 kbps con il G.729A, mentre ad esempio 720kbps in PCM G.711.
Ovviamente qui ci riferiamo all’orario di punta, quindi non necessariamente dovremmo disporre SEMPRE di tutta questa banda, sarà quella massima utilizzata dal nostro sistema, ina base a quei calcoli di minuti mensili; è opportuno magari fare una media fra 3 o 4 mesi per avere un valore più vicino alla realtà!




QUante volte vi capita di dover installare dei drivers per alcune periferiche, ma non riuscite a capire di che cosa si tratta perchè non è un componente “visibile” ad occhio nudo.
Infatti spesso sono controller speciali presenti in schede madri di portatili e/o server, magari che per installazione di fabbrica sono installati, ma non attraverso un’installazione manuale.
Per “scoprire” queste periferiche cosa sono, una soluzione che per ora ho trovato estremamente utile è quella di cliccare con il tasto destro su tale periferica, cercare la tab Dettagli e come valore ID Hardware.
Segnatevi questo valore e pastatelo su Google…al 90% troverete cosa è e se siete fortunati direttamente anche i drivers da scaricare!


More Options ...
Categorie
Tag Cloud
Blog RSS
Comments RSS

Void « Default
Life
Earth
Wind
Water
Fire
Light 