« Asterisk Faisceau SIP » : différence entre les versions
(8 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ Autocommutateur Téléphonique Privé sur IP }} | |||
__TOC__ | |||
* 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'''. | * 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'''. | ||
{{ Box Information | objet=Le terme faisceau peut s'employer aussi par le terme trunk qui est son équivalent anglais. }} | {{ Box Information | objet=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. | * 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 : | * 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 :''' | ** '''Login SIP :''' 0033512345678 | ||
** '''Mot de passe :''' motdepassesip | ** '''Mot de passe :''' motdepassesip | ||
** '''Proxy SIP :''' proxy.operateur-sip.com | ** '''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'''. | * 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 => <span style="color:red"> | register => <span style="color:red">0033512345678</span>:<span style="color:green">motdepassesip</span>@<span style="color:blue">proxy.operateur-sip.com</span>/<span style="color:purple">7122</span> | ||
* Avec : | * Avec : | ||
*# <span style="color:red"> | *# <span style="color:red">0033512345678 :</span> le login du compte SIP. | ||
*# <span style="color:green">motdepassesip :</span> le mot de passe associé au compte SIP. | *# <span style="color:green">motdepassesip :</span> le mot de passe associé au compte SIP. | ||
*# <span style="color:blue">proxy.operateur-sip.com :</span> le serveur SIP de l'opérateur VoIP qui fournit l'enregistrement. | *# <span style="color:blue">proxy.operateur-sip.com :</span> le serveur SIP de l'opérateur VoIP qui fournit l'enregistrement. | ||
Ligne 43 : | Ligne 45 : | ||
tournesol*CLI> sip show registry<br /> | tournesol*CLI> sip show registry<br /> | ||
Host dnsmgr Username Refresh State Reg.Time <br /> | Host dnsmgr Username Refresh State Reg.Time <br /> | ||
proxy.operateur-sip.com:5060 N | proxy.operateur-sip.com:5060 N 0033512345678 105 Registered Wed, 11 Nov 2015 14:40:10<br /> | ||
1 SIP registrations. }} | 1 SIP registrations. }} | ||
* A cette étape, '''Asterisk''' réceptionne bien les appels reçus via le '''faisceau SIP''' qui est à l'état '''Registered'''. | * 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] | [general] | ||
Ligne 82 : | Ligne 84 : | ||
* 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'''. | * 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. | * 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. | ||
Ligne 93 : | Ligne 95 : | ||
language=fr | language=fr | ||
insecure=invite,port | insecure=invite,port | ||
username= | username=0033512345678 | ||
secret=motdepassesip | secret=motdepassesip | ||
nat=yes | nat=yes | ||
Ligne 107 : | 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 : | ||
*# <span style="color:orange">0[0-7,9]XXXXXXXX :</span> | *# <span style="color:orange">0[0-7,9]XXXXXXXX :</span> 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. | ||
*# <span style="color:pink">${EXTEN} :</span> variable contenant le numéro composé par l'appelant. | *# <span style="color:pink">${EXTEN} :</span> variable contenant le numéro composé par l'appelant. | ||
Ligne 122 : | Ligne 124 : | ||
{{ Box Console | objet=sudo service asterisk reload }} | {{ Box Console | objet=sudo service asterisk reload }} | ||
* 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''' : | ||
exten => 0123456789,1,Answer() | |||
exten => 0123456789,2,Wait(1) | |||
exten => 0123456789,2,Dial(SIP/0123456789@OUT-7122) | |||
exten => 0123456789,2,Hangup() | |||
[[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()