11 mag 2007 @ 1:27 PM 

Vi propongo qui un piccolo sistema, un banale “proof-of-concept”, ovvero come farsi chiamare da Asterisk attraverso una pagina web e una volta risposto sentire il menù di un IVR.
Tutto chiaro no? :-D
Questo potrebbe essere usato da un azienda per non far pagare i propri clienti, magari sprovvisti di banda larga o telefonia ip in genere.
Con un qualsiasi editor creiamo una pagina php, ad esempio chiamami.php

<html>
<head>
<title> Silog ti chiama!</title>
</head>
<body>
<?

$strHost = “127.0.0.1″;
$strUser = “admin”;
$strSecret = “amp111″;
$strContext = “from-internal”;
$strWaitTime = “30″;
$strPriority = “1″;
$strMaxRetry = “2″;
$strExten = $_POST['txtphonenumber'];
$callNumber = $strExten;
$strCallerId = “Web Call <$callNumber> “;
$length = strlen($strExten);
if ($length == 10 && is_numeric($strExten))
{
$oSocket = fsockopen($strHost, 5038, $errnum, $errdesc) or die(”Connection to host failed”);
fputs($oSocket, “Action: login\r\n”);
fputs($oSocket, “Events: off\r\n”);
fputs($oSocket, “Username: $strUser\r\n”);
fputs($oSocket, “Secret: $strSecret\r\n\r\n”);
fputs($oSocket, “Action: originate\r\n”);
fputs($oSocket, “Channel: Local/$callNumber@from-internal\r\n”);
fputs($oSocket, “WaitTime: $strWaitTime\r\n”);
fputs($oSocket, “CallerId: $strCallerId\r\n”);
fputs($oSocket, “Exten: 699\r\n”);
fputs($oSocket, “Context: $strContext\r\n”);
fputs($oSocket, “Priority: 1\r\n\r\n”);
fputs($oSocket, “Action: Logoff\r\n\r\n”);
sleep(3);
fclose($oSocket);
?>
<p>
<table width=”300″ border=”1″ bordercolor=”#0f0f0f” cellpadding=”3″ cellspacing=”0″>

<tr>
<td> <p> <font color=”#000000″ size=”2″ face=”verdana,georgia”> Stiamo processando
la tua chiamata, entro pochi secondi squillerà il telefono al numero
che hai inserito.<br>
Sarai messo in contatto con il nostro call center gratuitamente!</font> </p>
<p> <font color=”#000000″ size=”2″ face=”verdana,georgia”> Silog Srl. – Divisione
VoIP <br>
<a xhref=”javascript:history.go(-1)” mce_href=”javascript:history.go(-1)” > riprova.</a> </font> </p> </td>
</tr>
</table>
<p>
<h3> <a xhref=”javascript:history.go(-1)” mce_href=”javascript:history.go(-1)” > Indietro</a> </h3>
</p>

<?
}
else
{
?>
<p>
<table width=”300″ border=”1″ bordercolor=”#0f0f0f” cellpadding=”3″ cellspacing=”0″>
<tr>
<td> <font size=”2″ face=”verdana,arial,georgia”
color=”#000000″> Inserisci il tuo numero di telefono, comprensivo di prefisso (es.
0577XXXXXX) sul quale vuoi ricevere la chiamata dal nostro sistema automatico.</font>
<form action=”<? echo $_SERVER['PHP_SELF'] ?> ” method=”post”>

<input type=”text” size=”20″ maxlength=”10″ name=”txtphonenumber”> <br>
<input type=”submit”
value=”Telefonami”>
</form>
</td> </tr>
</table>
</p>
<?
}
?>
</body>
</html>

Il codice praticamente si spiega da solo, andranno customizzati i parametri per il manager.conf, in questo caso admin ed amp111 (una classica Trixbox) e la voce Extension, che nel mio caso 669 rappresenta il numero, nel contesto from-internal, dell’IVR.
Direi di una semplicità estrema!
PS. Silog è l’azienda dove attualmente lavoro, un pò pubblicità gratis ci vuole!

Tags Tags: , , , ,
Categories: Asterisk, Trixbox
Posted By: marco
Last Edit: 11 mag 2007 @ 02 38 PM

EmailPermalinkComments (0)
 12 dic 2006 @ 11:14 PM 

I toni dtmf sono molto importanti nella telefonia, sia classica che ip, basti pensare che sono indispensabili per i menù dei vari IVR (che personalemente odio :-P )
Nella stragrande maggioranza dei telefoni IP, per impostazione predefinita abbiamo toni dtmf in-band (oppure in-audio), ma questa modalità può dar problemi con la voicemail.
Inoltre questa modalità funziona se c’è abilitato il codec ulaw (o alaw), altrimenti la compressione potrebbe “danneggiare” il tono distorcendolo.
Per funzionare con le voicemail i toni dovranno essere rfc2833 o SIP info.
Altresì potete impostare auto, così facendo Asterisk se un dispositivo non sarà in grado di gestire un tono rfc2833, sarà usato inband.
Dimenticavo, dtmfmode= auto, rfc2833 o inband in sip.conf o iax.conf o in ogni singola estensione.

Tags Tags: , , , ,
Categories: Asterisk
Posted By: marco
Last Edit: 12 dic 2006 @ 11 24 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 » 66
  • Posts/Pages » 298
  • 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.