Приклад налаштування підключення Asterisk до Zadarma.
Дані зазначені в прикладі:
- 111111 — Ваш sip-номер з особистого кабінету.
- Password — пароль Вашого sip-номера з розділу "Підключення за SIP" особистого кабінету
- 1234-100 — Ваш внутрішній номер АТС (Наприклад 1234-100) з особистого кабінету
- Password — Ваш пароль внутрішнього номера АТС особистого кабінету
- 101 — Внутрішній номер Asterisk до якого підключається софтфон/ip-телефон для прийому і здійснення дзвінків
Стандартний приклад налаштування
Вихідні дзвінки з внутрішнього номера 101 направляються в транк 111111 Вхідні дзвінки приймаються по реєстрації та направляються на внутрішній номер 101.
Вихідні дзвінки з внутрішнього номера 101 направляються в транк 1234-100 Вхідні дзвінки приймаються по реєстрації та направляються на внутрішній номер 101.
Редагуємо sip.conf
[general] srvlookup=yes [111111] host=sip.zadarma.com insecure=invite,port type=peer fromdomain=sip.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=111111 trunkname=111111 fromuser=111111 callbackextension=111111 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;внутрішній номер Вашого астеріска secret=password host=dynamic type=friend context=zadarma-out
[general] srvlookup=yes [1234-100] host=pbx.zadarma.com insecure=invite,port type=peer fromdomain=pbx.zadarma.com disallow=all allow=alaw allow=ulaw dtmfmode=auto secret=password defaultuser=1234-100 trunkname=1234-100 fromuser=1234-100 callbackextension=1234-100 context=zadarma-in qualify=400 directmedia=no nat=force_rport,comedia [101] ;внутрішній номер Вашого астеріска secret=password host=dynamic type=friend context=zadarma-out
Вхідна та вихідна маршрутизація налаштовується у файлі extensions.conf
[zadarma-in] exten => 111111,1, Dial(SIP/101) ; всі вхідні дзвінки з транка 111111 спрямовані на внутрішній номер 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; дзвінки на тризначні внутрішні номери астеріска exten => _XXX.,1,Dial(SIP/${EXTEN}@111111) ; дзвінки на номери в яких чотири і більше цифр через транк 111111
[zadarma-in] exten => 1234-100,1, Dial(SIP/101) ; всі вхідні дзвінки з транка 1234-100 спрямовані на внутрішній номер 101 [zadarma-out] exten => _XXX,1,Dial(SIP/${EXTEN}) ; дзвінки на тризначні внутрішні номери астеріска exten => _XXX.,1,Dial(SIP/${EXTEN}@1234-100) ; дзвінки на номери в яких чотири і більше цифр через транк 1234-100
Стандартне налаштування завершено.
P-Asserted-Identity (для досвідчених користувачів).
При вихідних дзвінках ви можете використовувати SIP заголовок P-Asserted-Identity для вибору Callerid зі списку підключених у сервісі номерів.
Номер з заголовку P-Asserted-Identity буде використовуватись у пріорітеті. Якщо заголовок не переданий або встановлений не вірний/не підключений номер, буде використано заданий номер за замовчуванням.
[zadarma-out]
exten => _XXX.,1,SIPAddHeader(P-Asserted-Identity: )
exten => _XXX.,n,Dial(SIP/${EXTEN}@111111)
Якщо у Вас підключено кілька прямих номерів, для зручності кожного номеру можна призначити "ім'я" наприклад moscow та london і налаштувати вхідну маршрутизацію засновану на цьому параметрі. "Ім'я" вiртуального номера передається в параметрі CALLERID(name).
У наступному прикладі, дзвінки з номера moscow спрямовані на внутрішній номер 101, дзвінки з номера london спрямовані на внутрішній номер 102, а всі інші дзвінки asterisk буде відхиляти сигналом "Зайнято" .
[zadarma-in]
exten => _X.,1,GotoIf($["${CALLERID(name)}" = "moscow"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${CALLERID(name)}" = "london"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
Ваш прямий номер, на який надійшов дзвінок, передається в хедері CALLED_DID Ви можете налаштувати вхідну маршрутизацію засновану на цьому параметрі.
У наступному прикладі, дзвінки з номера 380441234567 спрямовані на внутрішній номер 101, дзвінки з номера 442037691880 спрямовані на внутрішній номер 102, а всі інші дзвінки asterisk буде відхиляти сигналом "Зайнято" .
[zadarma-in]
exten => _X.,1,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "380441234567"]?2:3)
exten => _X.,2,Dial(SIP/101)
exten => _X.,3,GotoIf($["${SIP_HEADER(CALLED_DID)}" = "442037691880"]?4:5)
exten => _X.,4,Dial(SIP/102)
exten => _X.,5,Busy
Налаштування завершено.
Приклад налаштування №2 (SIP URI)
Якщо сервер з Asterisk знаходиться на "білому" IP (Не за роутером, а наприклад в дата-центрі) вхідні дзвінки можна приймати без реєстрації за схемою SIP URI. Дані зазначені в прикладі:
- 15555555555 — Ваш прямий номер підключений в Zadarma.
- 2.20.190.41 — IP адреса Вашого сервера з Asterisk.
В особистому кабінеті, в розділі "Налаштування - прямий номер" направте дзвінки з вiртуального номера на зовнішній сервер (SIP URI) у форматі 15555555555@2.20.190.41
Редагуємо sip.conf
[zadarma]
host=sipurifr.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma2]
host=sipde.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
[zadarma3]
host=sipuriny.zadarma.com
type=peer
insecure=port,invite
context=zadarma-in
disallow=all
allow=alaw
allow=ulaw
dtmfmode = auto
directmedia=no
nat=force_rport,comedia
Вхідний маршрут у файлі extensions.conf
[zadarma-in]
exten => 15555555555,1, Dial(SIP/101)
Налаштування завершено.
Приклад налаштування при використанні авторизації за IP адресою.