Configuration de trunk PJSIP Asterisk : enregistrer un numéro ZuteSIP
Mis à jour le 2026-09-30 · Par l’équipe ZuteSIP (ZuteSIP Inc.)
En bref: Pour connecter Asterisk à ZuteSIP, ajoutez cinq sections pjsip.conf pour un trunk : une registration pointant vers sip.zutesipdialer.com, un auth avec votre identifiant et votre mot de passe SIP, un aor, un endpoint limité à ulaw et alaw, et un identify correspondant à notre serveur. Routez ensuite le SDA dans extensions.conf et appelez vers l’extérieur via l’endpoint.
Voici la version Asterisk pur, pour ceux qui gèrent directement les fichiers de configuration. Elle reprend la structure de trunk des exemples officiels de res_pjsip, avec les valeurs ZuteSIP déjà renseignées.
Ce qu’il vous faut
- ✓ Un numéro ZuteSIP, avec son identifiant et son mot de passe SIP (sur la page du numéro dans le tableau de bord).
- ✓ Asterisk avec res_pjsip chargé (n’importe quelle version actuellement maintenue).
- ✓ Un accès shell pour modifier /etc/asterisk/pjsip.conf et extensions.conf, et la CLI Asterisk pour les tests.
Valeurs ZuteSIP utilisées dans la configuration
| Paramètre | Valeur |
|---|---|
| Serveur SIP / registrar / domaine | sip.zutesipdialer.com |
| Transport et port | UDP ou TCP 5060 ; TLS 5061 |
| Nom d’utilisateur | <SIP_USERNAME> (sur la page du numéro dans le tableau de bord) |
| Mot de passe | <SIP_PASSWORD> (sur la même page) |
| Authentification | Digest (identifiant + mot de passe), par enregistrement |
| Codecs | G.711 loi µ (PCMU) et G.711 loi A (PCMA) |
| DTMF | RFC 2833 (événements RTP) ou SIP INFO |
| SDA entrant | <YOUR_NUMBER> au format E.164 |
pjsip.conf : transport et trunk
Collez ceci dans pjsip.conf et remplacez les placeholders. Ignorez le bloc transport si vous avez déjà un transport UDP. Pour TCP ou TLS, créez le transport correspondant et utilisez le port 5061 avec TLS.
Identify reconnaît les appels par l’adresse source de notre trafic SIP ; Asterisk résout le nom d’hôte au chargement de la configuration.
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
; behind NAT also set:
; external_media_address=<PUBLIC_IP>
; external_signaling_address=<PUBLIC_IP>
; local_net=192.168.0.0/16
[zutesip]
type=registration
transport=transport-udp
outbound_auth=zutesip-auth
server_uri=sip:sip.zutesipdialer.com:5060
client_uri=sip:<SIP_USERNAME>@sip.zutesipdialer.com
contact_user=<YOUR_NUMBER>
retry_interval=60
[zutesip-auth]
type=auth
auth_type=userpass
username=<SIP_USERNAME>
password=<SIP_PASSWORD>
[zutesip]
type=aor
contact=sip:sip.zutesipdialer.com:5060
qualify_frequency=60
[zutesip]
type=endpoint
transport=transport-udp
context=from-zutesip
disallow=all
allow=ulaw,alaw
dtmf_mode=rfc4733
outbound_auth=zutesip-auth
aors=zutesip
from_user=<SIP_USERNAME>
from_domain=sip.zutesipdialer.com
callerid=<YOUR_NUMBER>
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
[zutesip]
type=identify
endpoint=zutesip
match=sip.zutesipdialer.com
extensions.conf : dialplan entrant et sortant
Les appels entrants arrivent dans le contexte from-zutesip, avec votre numéro comme extension composée. Le motif sortant envoie via le trunk les numéros composés avec un plus initial.
Dans la ligne sortante, ${EXTEN} est la variable de canal d’Asterisk contenant le numéro composé. Remplacez 1001 par votre propre poste ou groupe de sonnerie.
[from-zutesip]
; inbound: DID = your ZuteSIP number
exten => <YOUR_NUMBER>,1,NoOp(Inbound call on ZuteSIP DID)
same => n,Dial(PJSIP/1001,30)
same => n,Hangup()
; catch other DID formats (with or without +)
exten => _X.,1,Goto(from-zutesip,<YOUR_NUMBER>,1)
[from-internal]
; outbound: dial +<country code><number>
exten => _+X.,1,Set(CALLERID(num)=<YOUR_NUMBER>)
same => n,Dial(PJSIP/${EXTEN}@zutesip,60)
same => n,Hangup()
Pas à pas : charger et tester
- 1Enregistrez les deux fichiers et lancez pjsip reload et dialplan reload dans la CLI Asterisk (asterisk -rvvv).
- 2Lancez pjsip show registrations et vérifiez que zutesip est Registered.
- 3Lancez pjsip show endpoint zutesip pour vérifier les codecs, le contact de l’aor et la correspondance identify.
- 4Appelez votre numéro ZuteSIP depuis un autre téléphone et surveillez la CLI : l’appel doit entrer dans from-zutesip et faire sonner le poste 1001.
- 5Depuis un poste local, composez un numéro international au format +indicatif et vérifiez que le correspondant voit votre numéro ZuteSIP.
Identifiant d’appelant sortant
Définissez comme identifiant d’appelant le numéro auquel appartient le compte SIP, soit avec callerid sur l’endpoint, soit avec CALLERID(num) dans le dialplan comme indiqué. Gardez-le cohérent avec les identifiants du trunk. Les appels sortants puisent dans les 1 000 minutes incluses chaque mois avec le numéro.
Dépannage
- ✓ Enregistrement 401/403 : identifiant ou mot de passe incorrect, ou section auth non liée via outbound_auth. Lancez pjsip set logger on et lisez l’échange REGISTER.
- ✓ Appels entrants rejetés comme anonymes ou avec « No matching endpoint found » : la section identify est absente ou l’adresse source ne correspond pas. Vérifiez que le nom d’hôte se résout bien sur votre serveur, puis rechargez.
- ✓ Audio dans un seul sens : renseignez external_media_address, external_signaling_address et local_net sur le transport, gardez rtp_symmetric et force_rport activés, et ouvrez dans le pare-feu la plage de ports définie dans rtp.conf.
- ✓ 488 Not Acceptable Here : incompatibilité de codecs. Gardez allow=ulaw,alaw.
- ✓ DTMF non détecté : gardez dtmf_mode=rfc4733 (la méthode par événements RTP définie dans la RFC 2833) ; n’utilisez info que si l’autre côté exige SIP INFO.
Questions fréquentes
Faut-il à la fois les sections registration et identify ?
rfc4733 est-il identique au DTMF RFC 2833 ?
Puis-je utiliser chan_sip au lieu de PJSIP ?
Puis-je utiliser TLS avec Asterisk ?
Comment ajouter un deuxième numéro ZuteSIP ?
ZuteSIP fournit-il une API pour Asterisk ?
Pages associées
- intégrations PBX et softphone
- configuration de FreePBX avec interface web
- configuration du carrier VICIdial
- qu’est-ce que le SIP
- le DTMF expliqué
- codec G.711
- format de numéro E.164
- guide de dépannage SIP
- qu’est-ce qu’un numéro SIP
- Trunk SIP 3CX : ajoutez un numéro ZuteSIP comme trunk SIP générique
- Configurer un compte SIP Bria avec un numéro ZuteSIP
Sources
- Asterisk Documentation: res_pjsip Configuration Examples (au mois de septembre 2026)
- Asterisk Documentation: Configuring Outbound Registrations (au mois de septembre 2026)
- Asterisk Documentation: Asterisk PJSIP Troubleshooting Guide (au mois de septembre 2026)
Tout est inclus avec chaque numéro
- ✓ SMS entrants illimités
- ✓ Appels entrants illimités
- ✓ 500 SMS sortants par mois
- ✓ 1 000 minutes sortantes par mois
- ✓ Identifiants SIP pour tout softphone ou standard
- ✓ Renvoi d’appels vers n’importe quel téléphone
- ✓ Composeur web dans votre espace
- ✓ Le numéro reste à vous aussi longtemps que vous voulez
- ✓ Garantie de remplacement de 7 jours — nouveau numéro offert
À partir de $1.80/mois · facturé annuellement ($21.60).
Garantie de remplacement de 7 jours
Si votre numéro ne fonctionne pas pour vous dans les 7 jours suivant l'achat — par exemple si une application ne l'accepte pas ou si les codes n'arrivent pas — nous le remplaçons gratuitement par un nouveau numéro du même pays, en un clic depuis le tableau de bord. Vous pouvez le faire jusqu'à 2 fois, que le numéro ait été utilisé ou non. Et s'il n'a servi à aucun appel ni SMS, vous pouvez aussi obtenir un remboursement intégral.
L’inscription et le paiement sont disponibles uniquement en anglais.