Конфигурация PJSIP-транка в Asterisk: регистрируем номер ZuteSIP
Обновлено 2026-09-30 · Команда ZuteSIP (ZuteSIP Inc.)
Коротко: Чтобы подключить Asterisk к ZuteSIP, добавьте в pjsip.conf пять секций для одного транка: registration, указывающую на sip.zutesipdialer.com, auth с вашими SIP-логином и паролем, aor, endpoint с кодеками только ulaw и alaw и identify, сопоставляющую наш сервер. Затем направьте DID в extensions.conf и звоните наружу через endpoint.
Это вариант для «чистого» Asterisk — для тех, кто правит конфигурационные файлы напрямую. Он повторяет структуру транка из официальных примеров res_pjsip с подставленными значениями ZuteSIP.
Что понадобится
- ✓ Номер ZuteSIP и его SIP-логин и пароль со страницы номера в личном кабинете.
- ✓ Asterisk с загруженным res_pjsip (любая поддерживаемая сейчас версия).
- ✓ Доступ к оболочке для правки /etc/asterisk/pjsip.conf и extensions.conf и Asterisk CLI для тестов.
Значения ZuteSIP в конфигурации
| Параметр | Значение |
|---|---|
| SIP-сервер / регистратор / домен | sip.zutesipdialer.com |
| Транспорт и порт | UDP или TCP 5060; TLS 5061 |
| Имя пользователя | <SIP_USERNAME> (на странице номера в личном кабинете) |
| Пароль | <SIP_PASSWORD> (на той же странице) |
| Аутентификация | Digest (логин + пароль), с регистрацией |
| Кодеки | G.711 µ-law (PCMU) и G.711 A-law (PCMA) |
| DTMF | RFC 2833 (RTP-события) или SIP INFO |
| Входящий DID | <YOUR_NUMBER> в формате E.164 |
pjsip.conf: транспорт и транк
Вставьте это в pjsip.conf и замените заполнители. Пропустите блок transport, если UDP-транспорт у вас уже есть. Для TCP или TLS создайте соответствующий транспорт и используйте порт 5061 для TLS.
Identify сопоставляет по адресу источника нашего SIP-трафика; Asterisk разрешает имя хоста при загрузке конфигурации.
[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: входящий и исходящий диалплан
Входящие звонки попадают в контекст from-zutesip с вашим номером в качестве набранного extension. Исходящий шаблон отправляет через транк номера, набранные с плюсом в начале.
В исходящей строке ${EXTEN} — канальная переменная Asterisk с набранным номером. Замените 1001 на свой внутренний номер или группу вызова.
[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()
Пошагово: загрузка и проверка
- 1Сохраните оба файла и выполните pjsip reload и dialplan reload в Asterisk CLI (asterisk -rvvv).
- 2Выполните pjsip show registrations и убедитесь, что zutesip в статусе Registered.
- 3Выполните pjsip show endpoint zutesip, чтобы проверить кодеки, контакт aor и совпадение identify.
- 4Позвоните на номер ZuteSIP с другого телефона и наблюдайте за CLI: звонок должен войти в from-zutesip и вызвать внутренний номер 1001.
- 5Наберите международный номер с внутреннего номера в формате +код страны и убедитесь, что вызываемый абонент видит ваш номер ZuteSIP.
Caller ID при исходящих звонках
Задайте Caller ID равным номеру, которому принадлежит SIP-аккаунт, — либо через callerid на endpoint, либо через CALLERID(num) в диалплане, как показано. Он должен совпадать с данными на транке. Исходящие звонки расходуют 1,000 включённых минут номера в месяц.
Устранение проблем
- ✓ Регистрация 401/403: не совпадают логин или пароль, либо секция auth не привязана через outbound_auth. Выполните pjsip set logger on и посмотрите обмен REGISTER.
- ✓ Входящие отклоняются как анонимные или с ошибкой «No matching endpoint found»: нет секции identify или адрес источника не совпадает. Проверьте, что имя хоста разрешается на вашем сервере, и перезагрузите конфигурацию.
- ✓ Звук в одну сторону: задайте external_media_address, external_signaling_address и local_net на транспорте, оставьте включёнными rtp_symmetric и force_rport и откройте в брандмауэре диапазон портов из rtp.conf.
- ✓ 488 Not Acceptable Here: несовпадение кодеков. Оставьте allow=ulaw,alaw.
- ✓ DTMF не распознаётся: оставьте dtmf_mode=rfc4733 (метод RTP-событий, описанный в RFC 2833); используйте info, только если другая сторона требует SIP INFO.
Частые вопросы
Нужны ли и registration, и identify?
rfc4733 — это то же самое, что DTMF по RFC 2833?
Можно ли использовать chan_sip вместо PJSIP?
Можно ли использовать TLS с Asterisk?
Как добавить второй номер ZuteSIP?
Есть ли у ZuteSIP API для Asterisk?
Похожие страницы
- интеграции с АТС и софтфонами
- настройка FreePBX через веб-интерфейс
- настройка оператора (carrier) в VICIdial
- что такое SIP
- что такое DTMF
- кодек G.711
- формат номера E.164
- руководство по устранению проблем SIP
- что такое SIP-номер
- Настройка SIP-транка в 3CX: номер ZuteSIP как универсальный SIP-транк
- Настройка SIP-аккаунта в Bria с номером ZuteSIP
Источники
- Asterisk Documentation: res_pjsip Configuration Examples (по состоянию на сентябрь 2026)
- Asterisk Documentation: Configuring Outbound Registrations (по состоянию на сентябрь 2026)
- Asterisk Documentation: Asterisk PJSIP Troubleshooting Guide (по состоянию на сентябрь 2026)
Всё включено в каждый номер
- ✓ Безлимитные входящие SMS
- ✓ Безлимитные входящие звонки
- ✓ 500 исходящих SMS в месяц
- ✓ 1000 исходящих минут в месяц
- ✓ SIP-доступ для любого софтфона или АТС
- ✓ Переадресация на любой телефон
- ✓ Веб-звонилка в личном кабинете
- ✓ Номер ваш столько, сколько захотите
- ✓ 7-дневная гарантия замены — бесплатный новый номер
Цена $1.80/мес · оплата за год ($21.60).
7-дневная гарантия замены
Если номер вам не подошёл — например, приложение его не принимает или коды не приходят, — в течение 7 дней после покупки вы можете бесплатно заменить его на новый номер в той же стране одним кликом в личном кабинете. Замена доступна до 2 раз, независимо от того, пользовались ли вы номером. А если номер не использовался ни для звонков, ни для SMS, можно вместо этого получить полный возврат денег.
Регистрация и оплата доступны только на английском языке.