Înapoi la Blog
25 martie 202615 min citireTehnic

Cum să Configurezi SIP Trunk în Asterisk și FreePBX: Ghid Complet 2024

CG

De Ciprian Gherghe

Fondator CentralaCloud • VoIP Engineer

Asterisk rămâne cel mai popular PBX open-source din lume. Dar configurarea unui SIP Trunkpoate fi intimidantă pentru începători. În acest ghid, voi acoperi ambele metode: configurarea manuală în sip.conf saupjsip.conf pentru Asterisk pur, și varianta simplificată prin interfața FreePBX.

Ce Ai Nevoie Înainte să Începi

  • Asterisk instalat (v16+ recomandat) sau FreePBX (v15+)
  • Acces root/SSH la server sau interfață admin FreePBX
  • Credențiale SIP Trunk de la provider (noi sau altul)
  • IP public static sau DDNS configurat (pentru NAT)

Metoda 1: FreePBX (Recomandat pentru Începători)

FreePBX simplifică totul prin interfață grafică. Configurare în ~10 minute.

Pasul 1: Connectivity → Trunks

Loghează-te în FreePBX Admin. Navighează la Connectivity → Trunks. Click Add TrunkAdd SIP (chan_pjsip) Trunk.

Setări General:

  • Trunk Name: CentralaCloud
  • Hide CallerID: No
  • Outbound CallerID: 021xxxxxxx (numărul tău)

Pasul 2: PJSIP Settings → Sip Settings

Username: 021xxxxxxx
Secret: [parola_ta]
SIP Server: sip.centralacloud.ro
SIP Server Port: 5060
# Context: from-trunk

Pasul 3: PJSIP Settings → Advanced

From Domain

sip.centralacloud.ro

From User

021xxxxxxx

Client URI

sip:021xxxxxxx@sip.centralacloud.ro

Server URI

sip:sip.centralacloud.ro

Pasul 4: Salvează și Testează

Click Submit, apoi Apply Config. Verifică statusul în Reports → Asterisk Info → Registries. Ar trebui să vezi Registered.

Metoda 2: Asterisk Pur (sip.conf / pjsip.conf)

Pentru cei care preferă controlul total sau rulează Asterisk fără FreePBX.

Opțiunea A: chan_sip (Legacy)

Editează /etc/asterisk/sip.conf:

[general]
context=default
allowguest=no
udpbindaddr=0.0.0.0
tcpenable=no

; SIP Trunk CentralaCloud
[centralacloud]
type=friend
secret=PAROLA_TA
username=021xxxxxxx
host=sip.centralacloud.ro
fromuser=021xxxxxxx
fromdomain=sip.centralacloud.ro
context=from-trunk
insecure=invite,port
nat=yes
canreinvite=no
dtmfmode=rfc2833
disallow=all
allow=ulaw
allow=alaw

Opțiunea B: PJSIP (Recomandat)

Editează /etc/asterisk/pjsip.conf:

; Transport
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060

; Endpoint Trunk
[centralacloud]
type=endpoint
transport=transport-udp
context=from-trunk
disallow=all
allow=ulaw,alaw
outbound_auth=centralacloud_auth
aors=centralacloud_aor

; Authentication
[centralacloud_auth]
type=auth
auth_type=userpass
username=021xxxxxxx
password=PAROLA_TA

; AOR
[centralacloud_aor]
type=aor
contact=sip:021xxxxxxx@sip.centralacloud.ro:5060

; Registration
[centralacloud_registration]
type=registration
outbound_auth=centralacloud_auth
server_uri=sip:sip.centralacloud.ro:5060
client_uri=sip:021xxxxxxx@sip.centralacloud.ro:5060
contact_user=021xxxxxxx

Pasul 3: extensions.conf

Adaugă contextul pentru apeluri inbound:

[from-trunk]
exten => _X.,1,NoOp(Apel primit de la CentralaCloud)
 same => n,Set(CALLERID(name)=${CALLERID(num)})
 same => n,Dial(PJSIP/100&PJSIPPJSIP/101,30)
 same => n,Hangup()

; Outbound
[outbound-centralacloud]
exten => _0X.,1,Dial(PJSIP/${EXTEN:1}@centralacloud,60)
 same => n,Hangup()

Pasul 4: Reload și Verificare

# Reincarca configuratia
asterisk -rx "core reload"

# Verifica inregistrarea
asterisk -rx "sip show registry"

# sau pentru PJSIP
asterisk -rx "pjsip show registrations"

NAT și Firewall: Ce Trebuie Deschis

Porturi Necesare

  • SIP Signaling5060/UDP
  • SIP TLS (opțional)5061/TCP
  • RTP Media10000-20000/UDP

Setări NAT

În rtp.conf:

externip=IP_TAU_PUBLIC
localnet=192.168.0.0/255.255.0.0
nat=yes

Troubleshooting: Probleme Comune

Registration rejected / 403 Forbidden

Cauză: Credențiale greșite sau IP nepermis

Soluție: Verifică username/secret. Adaugă IP în whitelist la provider.

One-way audio (se aude doar într-o direcție)

Cauză: NAT neconfigurat sau firewall blochează RTP

Soluție: Setează externip și localnet. Deschide porturile RTP.

No audio deloc

Cauză: Codec mismatch sau RTP blocked

Soluție: Folosește ulaw/alaw. Verifică firewall.

Registration timeout

Cauză: Nu se poate conecta la server

Soluție: Ping sip.centralacloud.ro. Verifică DNS și conectivitate.

Securitate: Protejează-ți Trunk-ul

  • IP Whitelist: Restricționează accesul doar la IP-urile providerului
  • Parole complexe: Minimum 16 caractere, random
  • Fail2Ban: Blochează IP-urile cu încercări eșuate
  • TLS: Folosește SIP TLS (5061) când e disponibil

Testare Finală

Checklist Verificare

Registration: Status 'Registered' în CLI
Inbound: Sună de pe mobil pe numărul DID → răspunde extensia
Outbound: Formează 0+număr → iese prin trunk
Audio bidirecțional: Se aude în ambele sensuri
DTMF: Testează tonuri (navigare IVR)
CallerID: Verifică că se trimite corect

Nu vrei să te complici cu configurări?

Oferim configurare asistată gratuită pentru clienții CentralaCloud. Sau migrează complet la Telefonie Cloud găzduită.

CG

Ciprian Gherghe

Fondator CentralaCloud • VoIP Engineer cu 10+ ani experiență

Am configurat sute de trunk-uri SIP pentru companii din România. Dacă ai întrebări, găsești răspunsuri încelelalte articolesau contactează-mă direct.