Guide Trunk

Le guide du TRUNK

Configurer un Asterisk softswitch

Asterisk Softswitch

La plate-forme de Trunk SIP Axialys est totalement compatible avec le softswitch Asterisk.

Attention : les informations de configuration ci-après ne sont fournies qu’à titre indicatif, et ne sauraient constituer une garantie de la part d’Axialys en terme de conformité, de fonctionnalité ou de sécurité.

1 - Configurer des peers

Les peers sont configurés dans le fichier sip.conf et indiquent à Asterisk les informations à propos des serveurs avec lesquels communiquer.

Axialys fournit 2 SBCs, l’un primaire, l’autre de backup, dont les adresses sont visibles dans l’extranet sur la page de configuration des comptes SIP. L’exemple indiqué est à dupliquer pour le serveur secondaire.

La configuration indiquée si après est minimale : elle n’inclut pas par exemple d’information sur le choix du codec, qui devront être néanmoins configurés de façon analogue côté Axialys (extranet de configuration) et côté Asterisk.

Il est vivement conseillé de ne pas configurer plus d’un compte SIP Axialys sur un serveur Asterisk afin d’éviter tout risque de confusion lors de l’authentification ou du comptage des appels.

1.1 Peers configurés par adresse IP

Il s’agit de la configuration recommandée : Axialys authentifie le client suivant l’adresse IP d’origine. Cela nécessite de disposer d’une adresse IP fixe et évite tout problème lié à l’authentification.

Exemple de configuration

[axialys_primary]
type=peer
context=axialys
host=<IP address Axialys primary>
deny=0.0.0.0/0.0.0.0
permit=<IP address Axialys primary>/255.255.255.255
…
1.2 Peers configurés avec login / password
Cette configuration n’est pas recommandée. Elle est en effet :

 

  • moins sécurisée : les logins/passwords, s’ils sont découverts, peuvent être utilisés par des tiers pour passer du trafic
  • plus complexe : nécessité de configurer l’authentification par mot de passe, incluant notamment les REGISTERS
  • plus délicate : il est impératif qu’un délai de 10 minutes environ soit respecté entre la configuration du compte SIP sur l’interface Axialys et l’équipement du client. Ce délai est nécessaire au déploiement de la configuration SIP dans les équipements Axialys, et son non respect entraine le risque de voir des échecs d’authentifications qui peuvent très rapidement conduire au blocage (temporaire) de l’adresse IP de connexion du client.
[axialys_primary]
type=peer
username=<Axialys SIP account #>
secret=<Axialys SIP account password>
context=axialys
host=<IP address Axialys primary>
deny=0.0.0.0/0.0.0.0
permit=<IP address Axialys primary>/255.255.255.255
; Axialys ne présente pas d'invite authentifié donc insecure invite
insecure=invite
…

Il convient également, pour pouvoir recevoir des appels entrants, de configurer Asterisk pour effectuer un REGISTER SIP.

[general]
register => <Axialys SIP account #>:<Axialys SIP account password>@<IP address Axialys primary>:5060/<Axialys SIP account #>

2 - Configuration du routage des appels

Cette configuration est effectuée dans le fichier extensions.conf.

Les informations ci-après sont par nature des exemples à adapter, dans la mesure où l’acheminement des appels dans un IPBX Asterisk dépend de nombreux autres paramètres que le seul fournisseur de services telecom (configuration des postes, plan de numérotation, fonctionnalités…)

2.1 Gestion des appels entrants

Exemple d’envoi direct sur le poste SIP local “1000”:

[axialys]
exten => _+X.,1,Goto(${EXTEN:1},1)
exten => _X.,1,NoOp("Collecte axialys")
exten => _X.,n,Dial(SIP/1000)
2.2 Gestion des appels sortants

L’appel doit être acheminé dans un contexte dédié, par exemple ici “axialys_out”.

[axialys_out]
exten => _X.,1,NoOp("Terminaison axialys")
; numéro présenté ici xxxxxxxxx. Voir avec la configuration du compte SIP dans l'extranet Axialys
; merci de remplacer cust-domain.fqdn par votre nom de domaine ou votre ip publique
exten => _X.,n,SIPRemoveHeader(P-Asserted-Identity)
exten => _X.,n,SipAddHeader(P-Asserted-Identity:<sip:[email protected]>)
; appel vers trunk axialys 
exten => _X.,n,Dial(SIP/axialys_primary/${EXTEN})
exten => _X.,n,Dial(SIP/axialys_secondary/${EXTEN})