05 feb 2007 @ 10:22 PM 

Una delle funzioni più utili in un centralino è sicuramente quella del call pickup, ovvero “prendere” una chiamata diretta verso altre estenzioni.
Ma non voglio parlare delle funzione in se, per la quale vi rimando qui, ma su come implementare questa funzione con i tasti BLF dei telefoni Thomson ST2030 e Snom 3X0.
Innanzittutto aggiornate entrambi i telefoni alle ultime versioni del firmware, la 1.52.1 per lo ST2030 e la 6.5.2 per i vari Snom 300, 320 e 360.
Per monitorare le linee tramite i BLF dovrete configurare come Supervised Line i tasti nel Thomson e come Extension sugli Snom.
In questo modo vedrete i led lampeggiare quando le linee ricevono una telefonata e fissi se sono occupati.
Ma mentre lampeggiano, se cliccate sul tasto non succederà niente, anzi magari partirà un altra chiamata verso quella estenzione.
A questo punto in features.conf dovrete scrivere pickupexten => *8 nel contesto general e poi in extensions_custom.conf create questo contesto

[app-pickup-custom]
exten => _*8.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
exten => _*8.,n,Pickup(${EXTEN:2})

A patto di avere

[app-pickup]
include => app-pickup-custom
exten => _**.,1,Noop(Attempt to Pickup ${EXTEN:2} by ${CALLERID(num)})
exten => _**.,n,Pickup(${EXTEN:2})

in extensions_additional.conf (lo è di default, quindi nessun problema! Le ultime due righe sono utili per il GXP 2000 della Grandstream).
Per sicurezza dalla console eseguite show features e dovrete avere una riga così

Builtin Feature Default Current
————— ——- ——-
Pickup *8 *8

Adesso effettuate il reload di features e di estensions.
A questo punto provate a fare una chiamata verso un estensione, e quando squillerà da un altro telefono chiamate il *8xxx dove xxx è il numero dell’estensione.
Se tutto è ok, dovreste essere in grado di prendere la chiamata.
Bene, siamo a metà strada! :-D
Adesso sarà necessaria una modifica ad asterisk, ma niente paura, sostituiremo per comodità solo un file.
Prima di tutto aggiornare Trixbox, ed al momento in cui scrivo avrete Asterisk alla versione 1.2.14.
Una volta fatto ciò scaricate il sorgente di Asterisk e limitatevi alla scompattazione, poi nella stessa directory del sorgente, scompattate questo file.
Fatto ciò, eseguite questo comando patch -p0 < patch_chan_sip_pickup che andrà a modificare il file chan_sip.c e poi compilate Asterisk normalmente. (potreste anche compilare solo tale file, ma non complichiamoci la vita!)
NON LANCIATE make install ma copiamo il file chan_sip.so dalla directory channels in /usr/lib/asterisk/modules, ovviamente prima stoppate Asterisk.
Riavviate tutto con amportal start ed adesso proviamolo!
Facendo come prima, adesso quando vediamo lampeggiare l’estensione chiamata, premendo il tasto BLF dovremmo “prendere” la telefonata.
Testato con entrambi i modelli, funziona perfettamente!
Ringrazio vocesuip.com per le dritte :-)

Tags Tags: , , , , , , ,
Categories: Asterisk, Telefonia, Trixbox
Posted By: marco
Last Edit: 05 feb 2007 @ 10 30 PM

EmailPermalinkComments (0)
 30 nov 2006 @ 11:01 PM 

Non sapevo come intitolare questo post, sono andato sulla banalità! :-)
Per un progetto che stiamo portando avanti con un’Università, sto facendo varie prove, tra cui “interconessione” tra 2 PBX, utilizzo pratico di ENUM, fallback delle linee e tante amenità simili.
Alla base della mia demo ci sono 2 server Asterisk, uno di front-end puramente IP, un altro di back-end con una scheda Zaptel a cui è collegato un gateway gsm.
Il sistema riceve telefonate sia SIP che IAX, telefonando direttamente via questi indirizzi al PBX, oppure facendo risolvere questi servizi da ENUM (vedi qualche mio post precedente).
Innanzittutto il context di default in sip.conf e iax.conf sarà from-internet, intercettando così tutto il traffico che proviene “dall’esterno”.
In extensions.conf avremo:

[from-internet]
exten=>390577xxxxxx,1,Dial(SIP/xlite,30)
exten=>390577xxxxxx,2,GotoIf(($[${DIALSTATUS}=CHANNELUNAVAIL]?3:4)
exten=>390577xxxxxx,3,Goto(switch_to_backend,MIOCELLULARE,1)
exten=>390577xxxxxx,4,Goto(102)
exten=>390577xxxxxx,102,Hangup

Nella prima linea abbiamo che tutte le telefonate a quel numero telefonico saranno indirizzate verso l’estenzione xlite, il mio softphone.
Se questo non è collegato, la variabile DIALSTATUS assumerà valore CHANNELUNAVAIL e la chiamata (alla linea 3) sarà switchata verso il server di back-end.
La funzione switch permette di effettuare il forwarding delle chiamate verso un altro server , loggandosi con un utente di quel server e “dirottando” la chiamata in un contesto del dialplan del server remoto.
In generale switch ha questa sintassi

switch => IAX2/user:[key]@server/context

Quindi nell’extensions.conf del server di front-end avremo:

[switch_to_backend]
switch => IAX2/user:password@ip_server_backend/from-internal

Nel contesto from-internal del server di back-end ovviamente c’è un pattern che “intercetta” le chiamate verso i cellulari, quindi la chiamata sarà dirottata verso i gateway GSM (sono due porte FXO, gruppo 3, a ricerca ciclica)

exten=>_3XXX.,1,Dial(ZAP/r3/${EXTEN})

Complesso? ;-)
Non troppo!!In vostro soccorso può giungere il grandissimo voip-info.org, sia per extensions.conf che per la connessione tra due server Asterisk (e mi ci metto anche io)

Tags Tags: , , , , ,
Categories: Asterisk, Enum, Telefonia
Posted By: marco
Last Edit: 03 dic 2006 @ 04 47 PM

EmailPermalinkComments (0)
 23 nov 2006 @ 10:24 PM 

…di usare ENUM! :-)
Qualche giorno fa parlai di ENUM, ovvero la convergenza tra la classica telefonia ed il mondo IP (ma non solo!!). Date un occhio qua.
Adesso è il momento di usarlo, magari con Asterisk!
Prima di tutto c’è da registrarsi ad un tree e164, quello che conosco io è e164.org, gratis ovviamente.
Una volta registrato il nostro numero telefonico ed associato il vari servizi (SIP,IAX2,TEL,MAIL etc..etc..) possiamo configurare un Asterisk e provare a chiamarci (va benissimo X-lite che ha due linee).
Prima di tutto dovrete prendere un pò di dimestichezza con la funzione ENUMLOOKUP (qui).
Cosa fa in breve questa funzione? Praticamente risolve un numero telefonico, con il prefisso internazionale nella dicitura DNS di e164 ed i servizi associati.
Uno degli usi più classici di questa funzione è quello di risolvere il primo servizio sip e usarlo per chiamare il corrispondente. (X è nel formato 39xxxxxxxxxxx)

[prova-enum]
exten=>_X.,1,Set(ENUMMY=${ENUMLOOKUP(+${EXTEN},sip,1,e164.org)}
exten=>_X.,2,Dial(SIP/${ENUMMY},30)

Ci sono però varie macro che permettono di automatizzare “l’estrapolazione” dei vari servizi censiti con e164 ed effetture una Dial. Una buona macro è disponibile qui.  

Tags Tags: , , ,
Categories: Asterisk, Enum, Telefonia
Posted By: marco
Last Edit: 03 dic 2006 @ 04 52 PM

EmailPermalinkComments (0)
 13 nov 2006 @ 1:21 PM 

…questa è la frase che presto potremo dire ai nostri corrispondenti!
ENUM è un protocollo che permetterà la convergenza di due mondo attualmente separati, ovvero il mondo del DNS (risoluzioni dei nomi “Internet” in indirizzi IP) e la numerazione telefonica globale (E.164 ITU).
In altre parole con ENUM consentirà di associare ad un numero di telefono E.164 indirizzi relativi a diversi servizi di comunicazione, che potranno essere posta elettronica, telefonia fissa, mobile, navigazione internet ed ovviamente telefonia IP.
Alla base di tutto ci sarà la rappresentazione di un numero telefonico come fosse un indirizzo DNS, usando questa convezione

TEL. es +39.0577.xxxxxx
Prefisso DNS scelto per ENUM e164.arpaindirizzo enum completo x.x.x.x.x.x.7.7.5.0.9.3.e614.arpa

Semplice no? ;-)
Chi ha dimestichezza con indirizzi inversi IPv6 toterà una rassomiglianza nella rappresentazione.
E in una ipotetica interrograzione al DNS avremo ad esempio 

$ORIGIN x.x.x.x.x.x.7.7.5.0.9.3.e164.arpa.
IN NAPTR 100 10 “u” “SIP+E2U” “!^.*$!sip:pippo@pluto.it” .
IN NAPTR 102 10 “u” “MAILTO+E2U” “!^.*$!mailto:pippo@pluto.it”

Dove 100 e 102 è l’ordine di indirizzamento (preferenza), prima si teneterà di raggiungere l’utente via SIP e secondariamente attraverso al posta elettronica.
Mentre con E2U si intende E.164 to URI, inoltre in NAPTR sono i cosiddetti Naming Authority Pointer Resource Record (vedi RFC 2915)
Quindi riassumendo avremo che l’indirizzo ENUM sarà [NN].[CC].e614.arpa, dove NN sarà il nostro numero telefonico, CC il country code, e614 il tier-0 (dominio Enum) e arpa il top level domain (non è comune ai più, ma ha le stesse funzioni di .com .net .org .it e così via)
Per maggiori info su ENUM qui
Inoltre a breve avremo un incontro dove saranno conosceremo i risultati della sperimentazione ENUM nella Rete GARR.
Stay tuned!

Tags Tags: , ,
Categories: Enum, Internet, Telefonia, Varie
Posted By: marco
Last Edit: 03 dic 2006 @ 05 21 PM

EmailPermalinkComments (0)
\/ More Options ...
Cambia sfondo...
  • Users » 67
  • Posts/Pages » 299
  • Comments » 70
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

Chi Sono?



    No Child Pages.

Consulenze



    No Child Pages.

Note Legali



    No Child Pages.

CV



    No Child Pages.