Nous avons eu un article sur l'installation d'Asterisk 13 sur Ubuntu, mais nous n'avons pas réussi à nous connecter avec un softphone et à passer l'appel. L'article ne concernait que la configuration côté serveur. Nous allons maintenant nous appuyer sur cet article et connecter Linphone à Asterisk 13.
Prérequis
- Deux ordinateurs Ubuntu sur le même réseau (ou un ordinateur et une VM, dans mon cas ce seront deux ordinateurs portables)
- L'un d'eux a un astérisque installé
Installer Linphone et configurer Asterisk
L'installation de linphone est facile, sur vos deux types d'ordinateurs
sudo apt install linphone
Après cela, nous devons configurer Asterisk pour accepter de nouveaux utilisateurs. Sur la machine Asterisk, tapez
cd /etc/asterisk/
Ici, nous nous sommes déplacés vers le répertoire où se trouvent tous les fichiers de configuration d'Asterisk. Nous avons besoin de sip.conf, mais avant de le modifier, nous allons le sauvegarder :
sudo cp sip.conf sip.conf.orig
Si vous regardez dans le dossier, il est énorme. Le défilement prend du temps, nous devrons donc l'élaguer pour exclure toutes les lignes commentées, les espaces blancs et ne laisser que les lignes qui comptent comme configuration.
Nous ouvrons donc le fichier avec vi pendant que nous sommes dans /etc/asterisk/
sudo vi sip.conf
Et dans vi, nous tapons ceci pour supprimer les commentaires
:g/^\s*;/d
Ensuite ceci pour supprimer les espaces blancs.
:g/^$/d
Ce qui reste est la configuration réelle. À la fin de cette configuration, nous devons ajouter deux utilisateurs comme ceci :
[miki]
type=friend
context=phones
allow=ulaw,alaw
secret=12345678
host=dynamic
[bobby]
type=friendcontext=phonesallow=ulaw,alawsecret=87654321host=dynamique
Ensuite, nous entrons dans l'astérisque avec la commande asterisk -rvvv et dans l'invite d'astérisque nous tapons
sip reload
Et ensuite pour montrer aux pairs
sip show peers
Connexion Linphone
Sur les deux ordinateurs, démarrez linphone et entrez dans l'assistant pour ajouter des utilisateurs, avec les mots de passe que vous mettez dans sip.conf
Après cela, nous ne sommes pas encore prêts à appeler. Nous devons écrire un plan de numérotation dans extensions.conf. Commençons par le sauvegarder, puis créons un nouveau fichier vide :
sudo mv extensions.conf extensions.conf.orig
sudo nano extensions.conf
Dans un fichier vide, nous collerons le plan de numérotation.
[phones]
exten => 100,1,NoOp(First Line)
same => n,NoOp(Second Line)
same => n,Dial(SIP/miki)
same => n,Hangup
exten => 200,1,NoOp(First Line)
same => n,NoOp(Second Line)
same => n,Dial(SIP/bobby)
same => n,Hangup
Expliquez ce que tout cela signifie
Dans [] nous mettons le contexte, qui est dans notre cas les téléphones. Nous fonctionnons sur des extensions, 100 pour miki et 200 pour boby. Pour faire des choses à l'intérieur du plan de numérotation, nous utilisons des choses appelées applications. Ce sont ces choses, comme NoOp, Dial et Hangup. Commençons par expliquer la première ligne.
Exten est pour l'extension, suivi de => et ensuite nous disons sur quel numéro de l'extension nous opérons. C'est 100, suivi de 1 pour le numéro de la ligne. NoOp est l'application que nous utilisons pour la première ligne. Dans la deuxième ligne, les choses semblent différentes, mais c'est fondamentalement la même chose. Au lieu d'exten, nous écrivons same, car nous opérons sur la même extension, 100.
Cela signifie que le numéro 100 n'a pas besoin d'être répété en deuxième ligne et nous passons au numéro de ligne mais ici nous avons aussi une torsion. Au lieu d'écrire 2 (ce que nous pourrions aussi faire), nous écrirons n signifiant ensuite. Il y a une raison simple à cela. Si nous écrivions 2 puis insérions une autre ligne entre 1 et 2 avec une nouvelle application, nous aurions besoin de changer tous les numéros de ligne. De cette façon, si nous écrivons n, nous n'avons pas besoin de le faire.
Lorsque nous passons à la deuxième extension, nous sommes à nouveau au carré. La première ligne doit être écrite en entier, et tandis que les cartes peuvent être utilisées pour le repos.
Emettre le premier appel
Après avoir créé un plan de numérotation et l'avoir enregistré, nous sommes prêts à appeler. Avant de faire cela, rechargeons d'abord le plan de numérotation. C'est une étape obligatoire chaque fois que nous ajoutons une nouvelle configuration.
asterisk -rvvv
Après avoir saisi l'invite
dialplan reload
Entrons dans l'astérisque et regardons nos pairs maintenant
ThinkPad-X220T*CLI> sip show peers
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
bobby/bobby 192.168.1.6 D Auto (No) No 5060 Unmonitored
miki/miki 192.168.1.5 D Auto (No) No 5060 Unmonitored
Nous avons deux pairs connectés et nous pouvons passer un appel de l'un à l'autre. Appelons Bobby
== Using SIP RTP CoS mark 5
-- Executing [200@phones:1] NoOp("SIP/miki-0000000a", "First Line") in new stack
-- Executing [200@phones:2] NoOp("SIP/miki-0000000a", "Second Line") in new stack
-- Executing [200@phones:3] Dial("SIP/miki-0000000a", "SIP/bobby") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/bobby
-- SIP/bobby-0000000b is ringing
Comme nous pouvons le voir, l'appel fonctionne.
Comment trouver plus d'applications
Pour écrire des plans de numérotation plus complexes, vous auriez besoin d'utiliser plus d'applications. Vous pouvez parcourir les applications dans l'invite Asterisk de plusieurs manières. Par exemple, vous voulez des applications de numérotation, vous taperez core show applications dial
ThinkPad-X220T*CLI> core show applications like dial
-= Matching Asterisk Applications =-
Dial: Attempt to connect to another device or endpoint and bridge the call.
RetryDial: Place a call, retrying on failure allowing an optional exit extension.
-= 2 Applications Matching =-
Il nous donne deux applications, une que nous utilisions déjà et une nouvelle pour nous, RetryDial. Donc, si vous tapez
core show application RetryDial
(notez pas de s, juste l'application suivie du nom), vous obtiendrez le long fichier d'aide pour l'application que vous avez sélectionnée.
Mais supposons que vous n'aimiez aucune de ces deux applications, vous voulez quelque chose de plus. Vous pouvez élargir votre recherche en ajoutant une définition plus vague comme celle-ci
core show applications describing dial
J'ai obtenu 41 applications par cette recherche.
Conclusion
Ainsi, en nous appuyant sur notre précédent article Asterisk, nous avons montré comment configurer Asterisk pour une utilisation avec Linphone. Nous avons fait un plan de numérotation et effectué le premier appel sur notre serveur Asterisk. Nous avons également expliqué comment trouver les applications dont vous avez besoin pour écrire le plan de numérotation souhaité. Merci d'avoir lu et amusez-vous avec les appels téléphoniques.