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.