Cấu hình trunk PJSIP trên Asterisk: khai báo số SMS Conecta
Cập nhật ngày 2026-09-30 · Thực hiện bởi đội ngũ SMS Conecta (SMSConecta Inc.)
Tóm lại: Muốn ghép Asterisk với SMS Conecta, hãy thêm năm mục trong pjsip.conf cho một trunk: một registration trỏ về sip.smsconecta.com, một auth chứa tên người dùng và mật khẩu SIP, một aor, một endpoint chỉ cho phép ulaw và alaw, và một identify khớp với máy chủ của chúng tôi. Sau đó dẫn DID trong extensions.conf và gọi ra thông qua endpoint.
Đây là bản hướng dẫn dành riêng cho Asterisk thuần, cho những ai tự quản lý trực tiếp file cấu hình. Nó theo đúng bố cục trunk trong các ví dụ res_pjsip chính thức, chỉ khác là giá trị của SMS Conecta đã được điền sẵn.
Chuẩn bị trước những gì
- ✓ Một số SMS Conecta cùng tên người dùng, mật khẩu SIP, lấy từ trang quản lý số trong bảng điều khiển.
- ✓ Asterisk đã nạp module res_pjsip (áp dụng cho bất kỳ bản phát hành còn được hỗ trợ nào).
- ✓ Quyền truy cập shell để sửa /etc/asterisk/pjsip.conf và extensions.conf, cùng Asterisk CLI để kiểm tra lại.
Các giá trị của SMS Conecta dùng trong cấu hình
| Thông số | Giá trị |
|---|---|
| Máy chủ SIP / registrar / tên miền | sip.smsconecta.com |
| Giao thức truyền và cổng | UDP hoặc TCP 5060; TLS 5061 |
| Tên người dùng | <SIP_USERNAME> (trên trang của số trong bảng điều khiển) |
| Mật khẩu | <SIP_PASSWORD> (trên cùng trang đó) |
| Xác thực | Digest (tên người dùng + mật khẩu), dựa trên đăng ký |
| Codec | G.711 µ-law (PCMU) và G.711 A-law (PCMA) |
| DTMF | RFC 2833 (sự kiện RTP) hoặc SIP INFO |
| DID gọi đến | <YOUR_NUMBER> theo định dạng E.164 |
pjsip.conf: khối transport và trunk
Dán nguyên đoạn dưới vào pjsip.conf rồi thay các placeholder bằng giá trị của bạn. Nếu đã có sẵn transport UDP thì bỏ qua khối transport này. Với TCP hoặc TLS, hãy tạo riêng một transport tương ứng, dùng cổng 5061 cho TLS.
Khối identify khớp theo địa chỉ nguồn của lưu lượng SIP từ phía chúng tôi; Asterisk sẽ phân giải hostname ngay lúc nạp cấu hình.
[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
[smsconecta]
type=registration
transport=transport-udp
outbound_auth=smsconecta-auth
server_uri=sip:sip.smsconecta.com:5060
client_uri=sip:<SIP_USERNAME>@sip.smsconecta.com
contact_user=<YOUR_NUMBER>
retry_interval=60
[smsconecta-auth]
type=auth
auth_type=userpass
username=<SIP_USERNAME>
password=<SIP_PASSWORD>
[smsconecta]
type=aor
contact=sip:sip.smsconecta.com:5060
qualify_frequency=60
[smsconecta]
type=endpoint
transport=transport-udp
context=from-smsconecta
disallow=all
allow=ulaw,alaw
dtmf_mode=rfc4733
outbound_auth=smsconecta-auth
aors=smsconecta
from_user=<SIP_USERNAME>
from_domain=sip.smsconecta.com
callerid=<YOUR_NUMBER>
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
[smsconecta]
type=identify
endpoint=smsconecta
match=sip.smsconecta.com
extensions.conf: dialplan cho cả hai chiều gọi
Cuộc gọi đến rơi vào context from-smsconecta, với số của bạn đóng vai extension được gọi tới. Mẫu gọi đi đẩy các số quay có dấu cộng ở đầu ra ngoài qua trunk.
Ở dòng gọi đi, ${EXTEN} là biến kênh của Asterisk lưu số vừa được quay. Hãy thay 1001 bằng máy nhánh hoặc nhóm đổ chuông mà bạn đang dùng.
[from-smsconecta]
; inbound: DID = your SMS Conecta number
exten => <YOUR_NUMBER>,1,NoOp(Inbound call on SMS Conecta DID)
same => n,Dial(PJSIP/1001,30)
same => n,Hangup()
; catch other DID formats (with or without +)
exten => _X.,1,Goto(from-smsconecta,<YOUR_NUMBER>,1)
[from-internal]
; outbound: dial +<country code><number>
exten => _+X.,1,Set(CALLERID(num)=<YOUR_NUMBER>)
same => n,Dial(PJSIP/${EXTEN}@smsconecta,60)
same => n,Hangup()
Nạp cấu hình và kiểm tra lại
- 1Lưu cả hai file, chạy pjsip reload và dialplan reload trong Asterisk CLI (asterisk -rvvv).
- 2Gõ pjsip show registrations, xác nhận smsconecta đã ở trạng thái Registered.
- 3Gõ pjsip show endpoint smsconecta để soát codec, contact của aor và kết quả khớp identify.
- 4Gọi vào số SMS Conecta từ một điện thoại khác, theo dõi CLI: cuộc gọi phải đi vào from-smsconecta rồi đổ chuông máy nhánh 1001.
- 5Từ máy nhánh nội bộ, quay một số quốc tế theo định dạng +mã quốc gia, xác nhận người nghe thấy đúng số SMS Conecta của bạn.
Số hiển thị ra sao lúc gọi đi
Đặt caller ID bằng số sở hữu tài khoản SIP — tức callerid trên endpoint hoặc CALLERID(num) trong dialplan như ví dụ trên. Giữ nó khớp với thông tin đăng nhập của trunk. Mỗi cuộc gọi đi sẽ trừ dần vào quỹ 1.000 phút hằng tháng của số đó.
Giải quyết các lỗi hay gặp
- ✓ Đăng ký lỗi 401/403: tên người dùng hoặc mật khẩu lệch nhau, hoặc mục auth chưa được gắn qua outbound_auth. Chạy pjsip set logger on để đọc quá trình trao đổi REGISTER.
- ✓ Cuộc gọi đến bị từ chối thành anonymous hoặc báo 'No matching endpoint found': thiếu mục identify, hoặc địa chỉ nguồn không trùng. Kiểm tra hostname có phân giải được trên máy chủ của bạn, rồi reload lại.
- ✓ Nghe một chiều: khai báo external_media_address, external_signaling_address và local_net trên transport, giữ rtp_symmetric và force_rport ở trạng thái bật, mở dải cổng trong rtp.conf trên tường lửa.
- ✓ 488 Not Acceptable Here: codec không trùng khớp. Giữ allow=ulaw,alaw.
- ✓ DTMF không nhận: giữ dtmf_mode=rfc4733 (phương thức sự kiện RTP theo RFC 2833); chỉ đổi sang info khi đầu bên kia yêu cầu dùng SIP INFO.
Hỏi đáp
Có bắt buộc phải có cả registration và identify không?
rfc4733 có phải chính là DTMF RFC 2833?
Dùng chan_sip thay PJSIP được không?
Asterisk có chạy được TLS không?
Muốn thêm số SMS Conecta thứ hai thì làm sao?
SMS Conecta có API riêng cho Asterisk không?
Nội dung liên quan
Căn cứ tham khảo
- Asterisk Documentation: res_pjsip Configuration Examples (tính đến tháng 9 năm 2026)
- Asterisk Documentation: Configuring Outbound Registrations (tính đến tháng 9 năm 2026)
- Asterisk Documentation: Asterisk PJSIP Troubleshooting Guide (tính đến tháng 9 năm 2026)
Mỗi số đều đã trọn gói mọi thứ
- ✓ Nhận SMS vô hạn
- ✓ Nhận cuộc gọi vô hạn
- ✓ Hạn mức 500 SMS gửi đi mỗi tháng
- ✓ Hạn mức 1.000 phút gọi đi mỗi tháng
- ✓ Thông số truy cập SIP dùng cho bất kỳ softphone hay tổng đài nào
- ✓ Tính năng chuyển tiếp cuộc gọi tới số bất kỳ
- ✓ Công cụ gọi qua web ngay trong bảng điều khiển
- ✓ Số thuộc về bạn trong suốt thời gian bạn muốn
- ✓ Bảo đảm đổi số trong 7 ngày — nhận số mới miễn phí
Giá chỉ từ $1.80/tháng · lập hóa đơn theo năm ($21.60).
Bảo đảm đổi số trong 7 ngày
Trong vòng 7 ngày kể từ khi mua, nếu số không dùng được với bạn — ví dụ một ứng dụng không chấp nhận số hoặc mã không đến — bạn có thể đổi sang số mới cùng quốc gia miễn phí chỉ với một cú nhấp trên bảng điều khiển, tối đa 2 lần, dù số đã được dùng hay chưa. Ngoài ra, nếu số chưa được dùng cho cuộc gọi hay SMS nào, bạn có thể nhận hoàn tiền toàn bộ.
Quy trình đăng ký và thanh toán chỉ hỗ trợ ngôn ngữ tiếng Anh.