Как зарегистрировать номер SMS Conecta PJSIP-транком в Asterisk

Дата обновления: 2026-09-30 · Команда SMS Conecta (SMSConecta Inc.)

Кратко: Чтобы подключить Asterisk к SMS Conecta, добавьте в pjsip.conf пять секций одного транка: registration с адресом sip.smsconecta.com, auth с SIP-логином и паролем, aor, endpoint, где разрешены только кодеки ulaw и alaw, и identify, сопоставляющую наш сервер. Затем направьте DID в extensions.conf и совершайте исходящие через этот endpoint.

Этот способ предназначен для «чистого» Asterisk, когда конфигурационные файлы редактируются напрямую. Он повторяет структуру транка из официальных примеров res_pjsip, подставляя значения SMS Conecta.

01

Что потребуется до начала

  • ✓ Номер SMS Conecta и его SIP-логин с паролем со страницы номера в личном кабинете.
  • ✓ Asterisk с подключённым модулем res_pjsip (годится любая из поддерживаемых версий).
  • ✓ Доступ к оболочке для правки /etc/asterisk/pjsip.conf и extensions.conf, а также Asterisk CLI для проверок.
02

Значения SMS Conecta для конфигурации

ПараметрЗначение
SIP-сервер / регистратор / доменsip.smsconecta.com
Транспорт и портUDP или TCP 5060; TLS 5061
Имя пользователя<SIP_USERNAME> (на странице номера в личном кабинете)
Пароль<SIP_PASSWORD> (на той же странице)
АутентификацияDigest (логин + пароль), с регистрацией
КодекиG.711 µ-law (PCMU) и G.711 A-law (PCMA)
DTMFRFC 2833 (RTP-события) или SIP INFO
Входящий DID<YOUR_NUMBER> в формате E.164
03

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

[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
04

extensions.conf: диалплан входящих и исходящих

Входящие звонки приходят в контекст from-smsconecta, где ваш номер выступает набранным extension. Шаблон исходящих отправляет через транк номера, набранные с плюса в начале.

В строке исходящих ${EXTEN} — канальная переменная Asterisk, хранящая набранный номер. Замените 1001 на нужный внутренний номер или группу вызова.

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

Применение конфигурации и проверка

  1. 1Сохраните оба файла и в Asterisk CLI (asterisk -rvvv) выполните pjsip reload и dialplan reload.
  2. 2Выполните pjsip show registrations и проверьте, что smsconecta в статусе Registered.
  3. 3Выполните pjsip show endpoint smsconecta, чтобы сверить кодеки, контакт aor и совпадение identify.
  4. 4Позвоните на номер SMS Conecta с другого телефона и следите за CLI: вызов обязан попасть в from-smsconecta и дойти до внутреннего номера 1001.
  5. 5С внутреннего номера наберите международный номер в формате +код страны и убедитесь, что собеседник видит ваш номер SMS Conecta.
06

Какой номер виден при исходящем вызове

Задайте Caller ID равным номеру, за которым закреплён SIP-аккаунт, — через поле callerid на endpoint либо через CALLERID(num) в диалплане, как показано в примере. Значение должно совпадать с данными транка. Исходящие вызовы списываются с 1,000 включённых минут номера в месяц.

07

Разбор частых сбоев

  • ✓ Регистрация 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.
FAQ

Часто задаваемые вопросы

Нужны ли одновременно и registration, и identify?
Да. Registration сообщает SMS Conecta, куда отправлять звонки, а identify позволяет Asterisk сопоставить эти входящие с endpoint smsconecta.
rfc4733 — это то же самое, что DTMF по RFC 2833?
Да, RFC 4733 — обновлённая версия RFC 2833, описывающая тот же метод RTP-событий, который включается настройкой rfc4733 в Asterisk.
Можно использовать chan_sip вместо PJSIP?
chan_sip убран из современных версий Asterisk, поэтому поддерживаемый путь — только PJSIP. Сервер, учётные данные и кодеки при этом не меняются.
Asterisk поддерживает TLS при такой настройке?
Да, заведите TLS-транспорт, укажите порт 5061 в registration и aor и сошлитесь на этот транспорт. Шифрование медиапотока по SRTP не предусмотрено.
Как добавить второй номер SMS Conecta?
Скопируйте секции registration, auth, aor, endpoint и identify под другим именем с данными нового номера и впишите его DID в диалплан.
SMS Conecta предоставляет API для Asterisk?
Нет, клиентского API и вебхуков не существует — Asterisk подключается обычным SIP с учётными данными каждого номера.
→
SRC

Источники

✓

В каждом номере уже всё учтено

  • ✓ Неограниченные входящие SMS
  • ✓ Неограниченные входящие звонки
  • ✓ 500 исходящих SMS ежемесячно
  • ✓ 1000 исходящих минут ежемесячно
  • ✓ SIP-данные для любого софтфона или АТС
  • ✓ Переадресация на любой аппарат
  • ✓ Браузерный звонок из кабинета
  • ✓ Номер остаётся вашим, сколько пожелаете
  • ✓ 7-дневная гарантия замены — бесплатный новый номер

Цена от $1.80/мес · годовой платёж ($21.60).

7-дневная гарантия замены

Если номер вам не подошёл — например, приложение его не принимает или коды не приходят, — в течение 7 дней после покупки вы можете бесплатно заменить его на новый номер в той же стране одним кликом в личном кабинете. Замена доступна до 2 раз, независимо от того, пользовались ли вы номером. А если номер не использовался ни для звонков, ни для SMS, можно вместо этого получить полный возврат денег.

Открыть каталог номеров →

Оформление заказа и оплата проводятся только на английском языке.