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.

01

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.
02

Valeurs ZuteSIP utilisées dans la configuration

ParamètreValeur
Serveur SIP / registrar / domainesip.zutesipdialer.com
Transport et portUDP 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)
AuthentificationDigest (identifiant + mot de passe), par enregistrement
CodecsG.711 loi µ (PCMU) et G.711 loi A (PCMA)
DTMFRFC 2833 (événements RTP) ou SIP INFO
SDA entrant<YOUR_NUMBER> au format E.164
03

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
04

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()
05

Pas à pas : charger et tester

  1. 1Enregistrez les deux fichiers et lancez pjsip reload et dialplan reload dans la CLI Asterisk (asterisk -rvvv).
  2. 2Lancez pjsip show registrations et vérifiez que zutesip est Registered.
  3. 3Lancez pjsip show endpoint zutesip pour vérifier les codecs, le contact de l’aor et la correspondance identify.
  4. 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.
  5. 5Depuis un poste local, composez un numéro international au format +indicatif et vérifiez que le correspondant voit votre numéro ZuteSIP.
06

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.

07

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.
FAQ

Questions fréquentes

Faut-il à la fois les sections registration et identify ?
Oui. La registration indique à ZuteSIP où envoyer vos appels, et identify permet à Asterisk d’associer ces appels entrants à l’endpoint zutesip.
rfc4733 est-il identique au DTMF RFC 2833 ?
Oui. La RFC 4733 a mis à jour la RFC 2833 et décrit la même méthode par événements RTP, celle qu’utilise le réglage rfc4733 d’Asterisk.
Puis-je utiliser chan_sip au lieu de PJSIP ?
chan_sip a été retiré des versions actuelles d’Asterisk : PJSIP est donc la voie prise en charge. Le serveur, les identifiants et les codecs restent les mêmes.
Puis-je utiliser TLS avec Asterisk ?
Oui. Créez un transport TLS, faites pointer la registration et l’aor vers le port 5061 et référencez ce transport. Le chiffrement des médias SRTP n’est pas proposé.
Comment ajouter un deuxième numéro ZuteSIP ?
Dupliquez les sections registration, auth, aor, endpoint et identify sous un nouveau nom avec les identifiants de ce numéro, et ajoutez son SDA au dialplan.
ZuteSIP fournit-il une API pour Asterisk ?
Non. Il n’y a ni API client ni webhooks ; Asterisk se connecte en SIP standard avec les identifiants propres à chaque numéro.
→
SRC
✓

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.

Voir tous les numéros →

L’inscription et le paiement sont disponibles uniquement en anglais.