Настройка Asterisk (chan_pjsip) для Vega telecom

Мы столкнулись со спецификой настройки услуги от Vega telecom в Asterisk 10+ (версии 11, 12, 13) для каналов pjsip. Поэтому спешим поделиться примером работающей конфигурации.
Если вы планируете использовать для услуги VegaPhone IP PBX на базе "Asterisk" (FreePBX, Elastix, Trixbox), то пример представленный ниже можете рассматривать на свой страх и риск. Мы и поставщик (Телекоммуникационная группа Вега), не несем ответственности за последствия вызванные использованием примера. Для настройки руководствуйтесь документацией от поставщика - Digium. Особое внимание уделите безопастности (сложность паролей, firewall, не стандартные порты).
Прежде, чем обращаться в службу поддержки оператора убедитесь, что на официально поддерживаемом sip-клиенте X-LITE, услуга работает корректно - http://goo.gl/KMWpVZ

Trunk pjsip.conf

Конфигурация транка в pjsip.conf:
;;; В примере допускаем, что:
;;; приобретен номер 380440010203
;;; выдан логин 0010203MAMBUR
;;; Вами установлен пароль при активации в личном кабинете passwordAfterActivated
;;; региональный сервер vgX.vegatele.com, см. http://goo.gl/KMWpVZ
;;;
;; AOR. Главная функция AoR (Address of Record) указать Asterisk, как связаться с ENDPOINT.
[VegaPhone]
type=aor
qualify_frequency=60
contact=sip:0010203MAMBUR@sip:vgХ.vegatele.com:5060 ;;; где X следует заменить - http://goo.gl/KMWpVZ
;;
;; AUTH. Секция аутентификации содержит опции и полномочия для входящих и исходящих регистраций.
[VegaPhone]
type=auth
auth_type=userpass
password=4044099ab
username=0010203MAMBUR
;;
;; ENDPOINT. ENDPOINT является основным профилем SIP телефона или SIP транка в res_pjsip, аналогично пиру в sip.conf. [VegaPhone]
type=endpoint
transport=0.0.0.0-udp
context=from-trunk-sip-vegaphone
disallow=all
allow=ulaw,alaw,gsm
outbound_auth=VegaPhone
aors=VegaPhone
from_domain=vgХ.vegatele.com
from_user=380440010203
;;
;; IDENTIFY. Определяет конечные точки с помощью IP-адреса источника. [VegaPhone]
type=identify
endpoint=VegaPhone
match=sip:vgХ.vegatele.com
;;
;; REGISTRATION. Секция регистраций отвечает за исходящие регистрации. Используется для регистрации в удаленных системах, будь то другой Asterisk или транк от провайдера. [VegaPhone]
type=registration
transport=0.0.0.0-udp
outbound_auth=VegaPhone
retry_interval=60
expiration=3600
auth_rejection_permanent=yes
contact_user=380440010203
server_uri=sip:sip:vgХ.vegatele.com:5060
client_uri=sip:0010203MAMBUR@sip:vgХ.vegatele.com:5060
;;
;; TRANSPORT FOR VEGA
[0.0.0.0-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060
;;
;; TRANSPORT FOR SOFTPHONE
[0.0.0.0-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5060
;;
;;; В примере дополнительно описан внутренний номер 9001
[9001]
type=aor
max_contacts=1
remove_existing=yes
;; ---
;;
[9001]
type=endpoint
aors=9001
auth=9001-auth
allow=ulaw,alaw,gsm,g726
context=from-internal
callerid=device <9001>
dtmf_mode=rfc4733
mailboxes=9001@device
call_group=1
pickup_group=1
use_avpf=no
ice_support=no
media_use_received_transport=no
trust_id_inbound=yes
send_pai=yes
rtp_symmetric=yes
rewrite_contact=yes
;;
[9001-auth]
type=auth
auth_type=userpass
password=passwordAfterActivated
username=9001
После сохранения pjsip.conf примените изменения:
asterisk -rx 'core reload'
Если изменяли транспорт, то перегрузите сервер:
service asterisk restart
Убедитесь, что транк появился в конфигурации:
asterisk -rx 'pjsip show registration VegaPhone'
asterisk -rx 'pjsip show aor VegaPhone'
asterisk -rx 'pjsip show auth VegaPhone'
asterisk -rx 'jsip show contact VegaPhone/sip:vgХ.vegatele.com'
asterisk -rx 'pjsip show endpoint VegaPhone'
asterisk -rx 'pjsip show transport 0.0.0.0-udp'

Dialplan extensions.conf

Маршрутизация вызовов может быть описана в конфигурации extensions.conf:
[from-trunk-sip-vegaphone] ;;; route vegatelecom (dialplan)
;;; Входящие вызовы
exten => 380440010203,1, Dial(SIP/9001) ;; Внутренний номер
;[default]
;;; Исходящие вызовы на 044...
exten => _XXXXXXX,1, Goto(044${EXTEN},1)
exten => _38044XXXXXXX,1, Goto(${EXTEN:2},1)
exten => _044XXXXXXX,1, Set(CALLERID(number)=380440010203) ;; Внешний номер
exten => _044XXXXXXX,n, Set(CALLERPRES()=allowed)
exten => _044XXXXXXX,n, Dial(PJSIP/${EXTEN}@vegaphone,300,T)
;;;Благодарим экспертов за пример конфигурации.

Подякувати Помилка?

Дочати пiзнiше / подiлитися