Étape 5: Configuration de poste
Chaque fois que nous éditons le fichier /etc/asterisk/extensions.conf , il faut redémarrer l’astérisque. Les lignes suivantes dans ce fichier déterminent comment astérisque gère un appel entrant, où le numéro DID nous est donné par Vitelity.net
Contextes de configuration dans Extensions.conf
Il y a trois contextes qui devront être précisées crochets – par défaut, entrants, et de-interne. Le contexte par défaut sont des extensions qui peuvent être composées sans aller sur un tronc de SF. Il est également référencé dans le fichier /etc/asterisk/sip.conf comme "contexte par défaut pour les appels entrants." Ce contexte est utilisé uniquement si un contexte spécifique n’est pas spécifié dans l’entrée du périphérique/fournisseur sip.conf. Seulement les numéros dans le contexte par défaut peuvent être composés directement par l’intermédiaire de la DISA n’a.
Entrant est dans ce contexte que nous utilisons pour un nombre de Vitelity.net entrant. C’est le contexte utilisé lorsque les troncs 25-48 de recevoir un appel de troncs 1-24 ("g1") par exemple,
est une instance unique dans le contexte entrant qui répondra aux appels entrants pour DID. DISA dans cet exemple, est «Direct Inward System Access» et répondra à l’appel avec une tonalité à laquelle le code comme spécifié ci-dessus "1234" donnera une nouvelle tonalité de numérotation. Si nous créons une extension 999 comme,
Nous pouvons alors créer une connexion à un canal Zaptel, en utilisant la fonction Dial() , comme,
Il relierait au canal Zaptel dans extension 999. Nous pouvons définir cette fonction à exécuter lorsqu’une extension spécifique est composée de notre connexion DISA, quelque chose comme l’extension 2600 comme,
Lorsque 2600 est notre numéro de poste qui répond, crée une connexion de Zaptel pour le groupe 1 avec la paire suivante disponible sur notre réseau. Cette extension doit être dans le contexte par défaut que la commande de DISA pour les points d’entrée DID à cet égard. Avec notre nouvelle connexion de canal Zaptel, nous pouvons maintenant composer des numéros de-interne à l’aide de notre boîte bleue. Les deux le "de-interne" et "par défaut" contextes sont définis aussi dans le fichier Zapata.conf comme nous l’avons vu à l’étape 3 - Configuration.
Lecture Audio
Si nous voulons jouer des sons ou des clips audio, nous devons tout d’abord les créer. Sons en astérisque sont mieux joués sous forme de fichiers GSM, que nous pouvons faire facilement à convertir des fichiers WAV à l’aide de sox.
Fichiers MP3 peuvent également être codés au format WAV en utilisant l’utilitaire LINUX boiteux-mp3 qui devra être installé à partir des sources externes, comme
ou, encore une fois nous pouvons script ce processus comme suit,
Puis nous suffit de placer les nouveaux fichiers GSM/WAV dans le répertoire/var/lib/asterisk/sounds / . Nous pouvons maintenant utiliser les fonctions de ControlPlayback() ou de Playback() dans le fichier /etc/asterisk/extensions.conf pour les jouer. Par exemple, nous pouvons mettre en place extension 112 pour jouer un son vibrant et puis fichier classtrack1HQ.gsm avec le code suivant comme,
Nous pouvons modifier tous les fichiers .wav dans le répertoire courant avec cette simple One-Liner de Bash :
Ensuite il suffit de faire,
Pour les copier dans le répertoire de ressources sonores Asterisk.
If - Else logique
Si / Else logique est possible en utilisant le fichier extensions.conf ternaire-comme dans la. Par exemple, nous pouvons recueillir les commentaires du clavier de l’utilisateur, le vérifie, et si c’est ce que nous veulent aller à une ligne marquée exten. Examinons un exemple.
Le code ci-dessus pour extensions.conf simule une Unité de Test d’accès Direct. Notez comment les nombres habituellement utilisées pour le classement des lignes d’exten sont maintenant « n » également, nous avons maintenant des étiquettes après la ' n s comme "anneau", "commencer", "getnum" et "readnum." Ces étiquettes sont désignés par les fonctions GoTo() et GoToIf() . Nous utilisons la fonction Read() pour émettre un signal sonore et écouter les entrées d’utilisateur. L’entrée d’utilisateur est ensuite stockée dans la variable nom spécifié. Une définition générale du read() peut être aussi,
Où "nom_fichier" est le fichier audio GSM pour être joué. Dans notre cas, nous jouer le diapason 440Hz et attendez que l’entrée d’utilisateur. Nous allons jeter un coup d’oeil à GoToIf().
Si expression est true, GoToIf() ira à l’étiquette de "somelabel" et exécute cette nouvelle ligne. S’il n’est pas vrai, il va à l’étiquette otherlabel et exécute la nouvelle ligne. Si otherlabel n’est pas défini, astérisque aurait juste continué jusqu'à la prochaine ligne. C’est comment de simples if/else logica peut être utilisé en astérisque pour ProjectMF.