Bandwidth.com SIP trunking with asterisk + FreePBX
Par Yoann le mardi, 6 janvier 2009, 12:54 - VOIP Asterisk & Telephonie - Lien permanent
J'ecrie ce billet en anglais, parce que bandwidth.com est un opérateur américain, et qu'il sera lu par des personnes la plupart américaine ;-)
You can find bellow, a bandwidth.com SIP Trunking configuration running with asterisk + FreePBX.
You can find bellow, a bandwidth.com SIP Trunking configuration running with asterisk + FreePBX.
In FreePBX web interface add 2 SIP trunk (Primary & Secondary)
First SIP Trunk
Outgoing Dial Rules
Outbound Dial Prefix : +
Outgoing Settings
Trunk Name : BW-SIP-A
PEER Details :
canreinvite=yes
dtmfmode=rfc2833
host=216.82.224.202
outboundproxy=216.82.224.202
progressinbound=yes
qualify=300
type=peer
disallow=all
allow=ulaw
Incoming Settings
USER Context : from-bandwidth-A
USER Details :
type=peer
reinvite=yes
port=5060
insecure=invite,port
host=216.82.224.202
fromdomain=216.82.224.202
dtmfmode=rfc2833
disallow=all
context=from-trunk
canreinvite=no
allow=ulaw
qualify=300

Second SIP Trunk
Outgoing Dial Rules
Outbound Dial Prefix : +
Outgoing Settings
Trunk Name : BW-SIP-B
PEER Details :
canreinvite=yes
dtmfmode=rfc2833
host=216.82.225.202
outboundproxy=216.82.225.202
progressinbound=yes
qualify=300
type=peer
disallow=all
allow=ulaw
Incoming Settings
USER Context : from-bandwidth-B
USER Details :
type=peer
reinvite=yes
port=5060
insecure=invite,port
host=216.82.225.202
fromdomain=216.82.225.202
dtmfmode=rfc2833
disallow=all
context=from-trunk
canreinvite=no
allow=ulaw
qualify=300

Now you need to add 1 Outbound Routes
Route Name : US-Canada
Dial patterns :
911
1NXXNXXXXXX
1NXXNXXXXXX
etc ..
Trunk sequence :
SIP/BW-SIP-A
SIP/BW-SIP-B

Description : John Doe
DID Number : +12025081234
Destination : Choose an extension, IVR, Queue, ... (what you want ..)

Commentaires
Je n'ai pas trouvé où changer le pays du Canada, du Brésil?
Pas compris la question ...
Salut yoann,
Je cherche a comprendre les différents paramétres se trouvant dans le trunks
tu as mis:
Outgoing Settings
Trunk Name : BW-SIP-B
PEER Details :
canreinvite=yes
dtmfmode=rfc2833
host=216.82.225.202
outboundproxy=216.82.225.202
progressinbound=yes
qualify=300
type=peer
disallow=all
allow=ulaw
Incoming Settings
USER Context : from-bandwidth-B
USER Details :
type=peer
reinvite=yes
port=5060
insecure=invite,port
host=216.82.225.202
fromdomain=216.82.225.202
dtmfmode=rfc2833
disallow=all
context=from-trunk
canreinvite=no
allow=ulaw
qualify=300
je ne comprends pas ce que cela signifie: dtfmode disallow allow
Moi j'ai mis:
Pour le parametres de sortie:
canreinvite=yes
context=from-trunk
fromuser=33.....
host=xxxxx
insecure=invite,port
nat=yes
qualify=300
type=peer
allow=alaw&ulaw
et pour le parametre d'entrée:
context=from-trunk
fromdomain=sip1.senso-telecom.com
fromuser=33486688151
host=sip1.senso-telecom.com
insecure=invite,port
nat=yes
qualify=300
type=peer
dtfmode=rfc2833
allow=alaw&ulaw
seulement voila de maniere aleatoire g des appels qui se coupe, une qualité saccadé.
Je mets en cause mon trunks, mais comme j'ai du mal a comprendre ce que veulent dire toutes ces lignes, j'aimerais le savoir pourrait tu m'expliquer stp.
hormis, host fromuser et fromdomain, je ne comprend pas tout le reste.
D'avance merci
@ Diablotin
D'une manière générale, je ne trouve pas le service de bandwidth de superbe qualité. Ca marche, mais ca deconne aussi.
Pour ce qui est des parametres que tu ne comprend pas :
dtfmode : indique la norme DTMF a utiliser (c'est quand tu utilises les touches du telephone pour faire un choix)
disallow allow : indique ce que tu authorise comme codec. Par default moi je desactive tout, et apres j'authorise uniquement ce que je souhaite. Ici avec bandwidth.com uniquement le ulaw (alaw etant plus utilisé en europe)
Si tu veux des explications sur d'autre parametres, indique les moi.
Merci pour ces réponses de qualité
ces deux parametres restent encore obscure pour moi
insecure=invite,port
qualify=300
qualify=300 : Ceci sert pour la qualité du service. A partir d'une certaine latence on concidere que la connexion n'est plus correct, et qu'il faut mieux la couper. ICI avec 300 (300 ms) cela signifie que si tu a une latence supérieur a 300ms la connexion sera coupé.
insecure=invite,port : Ceci est plus niveau de sécurité, ici tu authorise tous les appels entrant, sans regarder de quel port la connexion arrive, et sans avoir eu d'INVITE auparavant, sans authentification.
En espérant avoir été assez clair :-) (c'est pas toujours facile)
Super clair, je te remercie, donc si je suis cette logique plus la latence est élevé genre 800 au lieu de 300 y'aura une plus grande tolérance au niveau de la qualité.
Je pense que mon problème pourrait venir de là, dans la mesure au bout d'un certains temps et de manière aléatoire je n'entend plus mon correspondant et lui ne m'entend plus.
Il y'a sans doute un lien avec la qualité de ma bande passante, mais si je raisonne correctement, le fait de passer à 800 me permettra peut être de régler le problème.
Passer à 800 pourra regler ton probleme dans le sens ou tu devrait entendre ton correspond et lui aussi, mais avec un gros decalage.
Ce que tu peux deja faire dans un premier temps c'est un mtr (apt-get install mtr) sur l'adresse ip distance, ce qui te donnera une moyen de la latence. et tu pourra ainsi voir si cela vient bien de la.
Autre solution : asterisk -rcc (pour ouvrir la console asterisk)
et tu fait un "sip show peers" (il y a la latence de chaque host d'indiqué)
ok super merci j'essaye cela et je te tiens au courant
salut yoann
j'ai fais les modifs et pour l'instant les premier appels peuvent aller.
encore quelques questions de compréhension (désolé lol)
dans ton incomming settings, tu spécifie le port 5060 et après tu mets insecure=invite,port (ne sont t'il pas contradictoire) si je ne me trompe pas, port=5060 veut dire que les appels doivent rentrer par le port 5060 et le insecure signifie que l'on autorise les appels entrants sur tout les ports ?
Encore un dernier point, a quoi servent ces parametres ?
progressinbound=yes
canreinvite=yes ou no
type=peer
context=from-trunk
type=peer
Je te remercie par avance de l'aide que tu m'apporte, qui m'aide a comprendre le monde complexe de la voip.
Merci énormément Yoann
et aussi j'ai vu que sur certains forum des personnes mettait dans les parametres:
auth=md5
cela sert a quoi ?
Merci d'avance
un petit up stp :-)