Bonjour
Déjà, il faut maitriser un langage, du genre php. Si tu veux faire comme allopass, j'imagine que tu a un site web, donc ça devrais aller. Pour l'explication détaillée d'agi, tu peux chercher sur internet, je vais cependant te montrer un exemple minimal pour voir le principe
Dans mon dialplan asterisk j'ai
Code:
[ext-did-custom]
exten => 0524573708,1,Macro(user-callerid,)
exten => 0524573708,n,AGI(random.php) ;
Quand quelqu'un appelle le 0524573708 ( tu peux appeler si tu veux voir ), ça va exécuter mon code php random.php.
Si tu regarde mon exemple,
- Ligne 37/38 on déclare l'agi est on décroche.
- Ligne 41 on récupère le numéro de l’appelant.
- Ligne 18/19 on prononce des numéros.
- Ligne 46 on lit un fichier audio
- Ligne 54 ça raccroche
Le reste c'est du php classique
Code:
1 #!/usr/bin/php -q
2 <?php
3
4 function lire_numero( $agi, $numero ) {
5 $longeur_numero=strlen( $numero ) ;
6 $i = 0 ;
7
8 while ( $i < $longeur_numero )
9 {
10 // si numero les deux chiffres sont 05, l'asterisk doit dire zero cinq
11 $sub2chiffres=substr( $numero, $i , 2 ) ;
12 $sub1chiffre=substr( $numero, $i , 1 ) ;
13 $sub1chiffresuivant=substr( $numero, $i + 1 , 1 ) ;
14
15 if ( $sub1chiffre == "0" )
16 {
17 $agi->say_number(intval($sub1chiffre));
18 $agi->say_number(intval($sub1chiffresuivant));
19 }
20 else {
21 $agi->say_number(intval($sub2chiffres));
22 }
23
24 $i = $i + 2 ;
25
26 usleep(600000);
27
28 }
29
30 }
31
32
33 // fin des fonctions
34
35 require("phpagi.php" );
36
37 $agi = new AGI() ;
38 $agi->answer();
39
40
41 $numero = $agi->request[agi_callerid];
42 $code = rand(100000,999999);
43
44 sleep(1);
45
46 $agi -> stream_file('welcome' );
47 lire_numero( $agi, $numero ) ;
48
49 $agi -> stream_file('vm-password');
50 lire_numero( $agi, $code ) ;
51
52
53 $agi -> stream_file('goodbye') ;
54 $agi->hangup();
55 ?>
Pour les fonctions ( identique en php qu'en perl ) http://search.cpan.org/~jamesgol/ast...sterisk/AGI.pm