« Asterisk Faisceau SIP » : différence entre les versions
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 109 : | Ligne 109 : | ||
* Dans le fichier '''extension.conf''' nous allons créer l'extension qui permettra l'acheminement de ce type d'appels : | * Dans le fichier '''extension.conf''' nous allons créer l'extension qui permettra l'acheminement de ce type d'appels : | ||
<span style="color:orange">0[0-7,9]XXXXXXXX</span>,1,Answer() | exten => <span style="color:orange">0[0-7,9]XXXXXXXX</span>,1,Answer() | ||
<span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Wait(1) | exten => <span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Wait(1) | ||
<span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Dial(SIP/<span style="color:pink">${EXTEN}</span>@OUT-7122) | exten => <span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Dial(SIP/<span style="color:pink">${EXTEN}</span>@OUT-7122) | ||
<span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Hangup() | exten => <span style="color:orange">0[0-7,9]XXXXXXXX</span>,n,Hangup() | ||
* Avec : | * Avec : | ||
Ligne 126 : | Ligne 126 : | ||
* Pour illustrer l'utilisation de l'extension nouvellement créée, voici comment elle sera interprétée, si nous souhaitons appeler le numéro de téléphone '''01 23 45 67 89''' : | * Pour illustrer l'utilisation de l'extension nouvellement créée, voici comment elle sera interprétée, si nous souhaitons appeler le numéro de téléphone '''01 23 45 67 89''' : | ||
0123456789,1,Answer() | exten => 0123456789,1,Answer() | ||
0123456789,2,Wait(1) | exten => 0123456789,2,Wait(1) | ||
0123456789,2,Dial(SIP/0123456789@OUT-7122) | exten => 0123456789,2,Dial(SIP/0123456789@OUT-7122) | ||
0123456789,2,Hangup() | exten => 0123456789,2,Hangup() | ||
[[Category:Asterisk]] | [[Category:Asterisk]] |
Dernière version du 11 novembre 2015 à 17:25
- Pour connecter l'IPBX privé à un opérateur de téléphonie sur IP, il est nécessaire de définir un faisceau SIP dans la configuration d'Asterisk. Cette déclaration s'effectue au niveau du fichier de configuration sip.conf.
|
Le terme faisceau peut s'employer aussi par le terme trunk qui est son équivalent anglais. |
Prérequis
- Vous devez disposez d'un compte SIP auprès d'un fournisseur de téléphonie sur IP.
- Dans notre cas, nous disposons d'un compte SIP auprès d'un opérateur de téléphonie avec les paramètres suivants :
- Login SIP : 0033512345678
- Mot de passe : motdepassesip
- Proxy SIP : proxy.operateur-sip.com
Réception des appels
- Pour récupérer les appels reçus depuis le faisceau SIP, il est nécessaire de procéder à un enregistrement d'Asterisk auprès de l'opérateur. Cette enregistrement SIP s'effectue via la ligne register.
register => 0033512345678:motdepassesip@proxy.operateur-sip.com/7122
- Avec :
- 0033512345678 : le login du compte SIP.
- motdepassesip : le mot de passe associé au compte SIP.
- proxy.operateur-sip.com : le serveur SIP de l'opérateur VoIP qui fournit l'enregistrement.
- 7122 : l'extension locale sur laquelle devront être acheminés les appels entrant en provenance de ce compte.
- Pour appliquer les paramètres il faut rafraîchir la configuration d'Asterisk.
|
|
- Ensuite, pour vérifier qu'Asterisk s'enregistre bien auprès du fournisseur VoIP, on ouvre un CLI Asterisk via la commande asterisk -r puis on exécute la commande sip show registry qui retournera l'état des faisceaux SIP.
|
|
- A cette étape, Asterisk réceptionne bien les appels reçus via le faisceau SIP qui est à l'état Registered. A la ligne register, nous avions définit l'extension 7122. Si nous reprenons le contenu du fichier extensions.conf d'Asterisk, voici ce qui avait été définit :
[general] static=yes writeprotect=no autofallthrough=yes clearglobalvars=no priorityjumping=no language=fr [globals] CONSOLE=Console/dsp IAXINFO=guest TRUNK=Zap/g2 TRUNKMSD=1 [glx] ; Appels locaux exten => _7XXX,1,Answer() exten => _7XXX,n,Ringing() exten => _7XXX,n,Wait(1) exten => _7XXX,n,Dial(SIP/${EXTEN}) exten => _7XXX,n,Hangup()
- Ainsi, lorsque l'appel entrant sera acheminé sur l'extension 7122, cette extension sera en réalité interprétée comme ceci :
exten => _7122,1,Answer() exten => _7122,2,Ringing() exten => _7122,3,Wait(1) exten => _7122,4,Dial(SIP/7122) exten => _7122,5,Hangup()
- Tous les appels entrant en provenance de notre faisceau SIP feront sonner le poste 7122. En résumé, notre numéro 05 12 34 56 78 est attribué au poste interne 7122.
Acheminer des appels sur le réseau publique
- Dans le fichier de configuration sip.conf, il sera nécessaire de définir un nouveau compte SIP (comme pour la création d'un compte SIP local pour le poste interne 7122). Cependant, ce compte SIP sera de type peer dans la mesure où ce compte fera office de passerelle sortante vers le réseau téléphonique publique.
[OUT-7112] disallow=all type=peer host=proxy.operateur-sip.com context=glx language=fr insecure=invite,port username=0033512345678 secret=motdepassesip nat=yes canreinvite=no dtmfmode=inband video=no restrictcid=no amaflags=default allow=alaw
- Maintenant, il faudra identifier les appels qui seront acheminés via ce compte SIP. Dans notre cas, nous souhaitons y acheminer tous les appels nationaux avec pour préfixes : 01 - 02 - 03 - 04 - 05 - 06 - 07 et 09. Nous n'achemineront pas les numéros courts, les numéros spéciaux, les numéros d'urgence et les numéros internationaux dans cet exemple.
- Dans le fichier extension.conf nous allons créer l'extension qui permettra l'acheminement de ce type d'appels :
exten => 0[0-7,9]XXXXXXXX,1,Answer() exten => 0[0-7,9]XXXXXXXX,n,Wait(1) exten => 0[0-7,9]XXXXXXXX,n,Dial(SIP/${EXTEN}@OUT-7122) exten => 0[0-7,9]XXXXXXXX,n,Hangup()
- Avec :
- 0[0-7,9]XXXXXXXX : expression régulière qui inclut tout les numéros commençant par 01 - 02 - 03 - 04 - 05 - 06 - 07 et 09 et suivit de 8 chiffres.
- ${EXTEN} : variable contenant le numéro composé par l'appelant.
|
Pour un équipement en production, n'oubliez pas d'intégrer les appels vers les numéros d'urgence. Ces appels doivent être acheminés depuis un numéros fixe rattaché à l'adresse du foyer ou de la société où est installé l'équipement. |
- Pour appliquer ces changements, il est nécessaire de rafraîchir la configuration d'Asterisk.
|
|
- Pour illustrer l'utilisation de l'extension nouvellement créée, voici comment elle sera interprétée, si nous souhaitons appeler le numéro de téléphone 01 23 45 67 89 :
exten => 0123456789,1,Answer() exten => 0123456789,2,Wait(1) exten => 0123456789,2,Dial(SIP/0123456789@OUT-7122) exten => 0123456789,2,Hangup()