Рекомендации по настройке системы Asterisk: различия между версиями
Admin (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показано 11 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Recommendations_for_configuring_the_Asterisk_system|en]] | [[Рекомендации_по_настройке_системы_Asterisk|ru]] | |||
'''Базовые настройки Asterisk, на которые рассчитан модуль [[usm_asterisk]]''' | |||
В данной статье приводится типичная базовая конфигурация контакт-центр, которая позволяет принимать входящие вызовы с линии SIP и передавать их в очередь, к которой подключены пользователи. | |||
== Исходные данные для демонстрационной конфигурации == | == Исходные данные для демонстрационной конфигурации == | ||
* одна внешняя SIP линия [SIPOPERATOR], со стороны которой поступают входящие телефонные вызовы. Номер телефона 0551234567, пароль qwerty123456, IP-адрес сервера пользователя 11.22.33.44 | |||
* одна группа серийного искания (очередь вызовов) | |||
* четыре внутренние SIP линии, на которых работают | * четыре внутренние SIP линии, на которых работают пользователи контакт-центра - все они входят в одну очередь | ||
== sip.conf == | |||
Содержимое файла, отвечающего за SIP-линии | |||
; общие настройки | |||
[general] | |||
language = ru | |||
bindport=5060 | |||
callcounter = yes | |||
limitonpeers = yes | |||
dtmf=rfc2833 | |||
compensate=yes | |||
defaultexpirey=3600 | |||
disallow=all | |||
allow=alaw | |||
registertimeout=3600 | |||
; здесь нужно перечислить все внешние sip-линии в указанном формате | |||
register=0551234567:qwerty123456@11.22.33.44/0551234567 | |||
; далее настройки для внешнего пользователя, который предоставляет телефонный номер | |||
[SIPOPERATOR] | |||
type=friend | |||
host=11.22.33.44 | |||
port=5060 | |||
defaultip=здесь_ip_адрес_на_интерфейсе_в_сторону_пользователя | |||
fromdomain=здесь_доменное_имя_софтсвитча_пользователя | |||
fromuser=0551234567 | |||
username=0551234567 | |||
secret=qwerty123456 | |||
registertimeout=3600 | |||
defaultexpirey=3600 | |||
nat=no | |||
canreinvite=no | |||
disallow=all | |||
allow=alaw | |||
qualify=yes | |||
dtmfmode=inband | |||
insecure=port,invite | |||
context=from-external-sip ; данный контекст будет использоваться в маршрутизации при вызовах со стороны внешней sip-линии | |||
; здесь общие настройки для всех внутренних sip-линий | |||
[CallCenter](!) | |||
call-limit=1 ; Ограничение одновременных звонков (пользователи принимают только один звонок) | |||
qualify = no | |||
dtmfmode=rfc2833 | |||
canreinvite=no | |||
pickupgroup=1 | |||
callgroup=1 | |||
host=dynamic | |||
type=friend | |||
port=5060 | |||
qualify=yes | |||
deny=0.0.0.0/0.0.0.0 | |||
permit=0.0.0.0/0.0.0.0 ; разрешено подключаться отовсюду. Измените, если нужно иначе | |||
callcounter=yes | |||
faxdetect=no | |||
disallow=all | |||
allow=alaw | |||
allow=gsm | |||
context=from-internal-sip ; данный контекст будет использоваться в маршрутизации при вызовах с линий пользователей контакт цетра | |||
; далее описаны 4 внутренние телефонные линии с применением общих настроек | |||
[500](CallCenter) | |||
username=500 | |||
nat=no | |||
secret=здесь_пароль | |||
callerid=operator 500 <500> | |||
[501](CallCenter) | |||
username=501 | |||
nat=no | |||
secret=здесь_пароль | |||
callerid=operator 501 <501> | |||
[502](CallCenter) | |||
username=502 | |||
nat=no | |||
secret=здесь_пароль | |||
callerid=operator 502 <502> | |||
[503](CallCenter) | |||
username=503 | |||
nat=no | |||
secret=здесь_пароль | |||
callerid=operator 503 <503> | |||
== queues.conf == | |||
Далее рассматривается группа в конфигурационном файле с настройками групп серийного искания (очередей) | |||
[callcenter-queue] | |||
monitor-type = MixMonitor | |||
music = file_name ; имя файла без расширения, который будет проигрываться абоненту в режиме ожидания ответа пользователя | |||
strategy = ringall ; стратегия серийного искания - звоним сразу всем | |||
timeout = 30 | |||
retry = 2 | |||
joinempty = yes ; вызов может входить в очередь, даже если к ней не подключен ни один пользователь | |||
ringinuse = no ; не принимать звонки тем, кто уже разговаривает | |||
leavewhenempty = yes | |||
announce-frequency = 30 | |||
announce-holdtime = no | |||
; далее перечисляются члены группы | |||
member => SIP/500 | |||
member => SIP/501 | |||
member => SIP/502 | |||
member => SIP/503 | |||
== extensions.conf == | |||
В следующем файле настраивается маршрутизация. Рассмотрен фрагмент, который направляет входящие вызовы в группу и исходящие через внешнюю SIP-линию | |||
; входящие вызовы - те, которые поступают с внешней sip-линии в сторону контакт-центра | |||
[from-external-sip] | |||
exten => s,1,Ringing() ; если требуется - направляем в сторону вызывающего сигнал КПВ (если не требуется - удалите строку) | |||
exten => s,n,Wait(2) ; ожидаем две секунды, чтобы звонящий услышал первый гудок после набора номера, если ответить сразу без гудка - абонент пугается :) | |||
exten => s,n,Answer(300) ; отвечаем на вызов | |||
exten => s,n,Playback(hello) ; проигрываем файл приветствия (имя файла без расширения) | |||
exten => s,n,Queue(callcenter-queue) ; направляем вызов в очередь "callcenter-queue" | |||
exten => s,n,Hangup() ; направляем в сторону вызывающего отбой | |||
; исходящие вызовы - те, которые поступают со стороны пользователей контакт-центра в сторону ТфОП | |||
[from-internal-sip] | |||
exten => _X.,1,Set(CALLERID(num)=380551234567) ; Изменяем Caller_ID перед отправкой вызова в сеть ТфОП на номер внешней линии | |||
exten => _X.,n,Dial(SIP/SIPOPERATOR/${EXTEN},300) ; Направляем вызов в сторону SIPOPERATOR | |||
'''Не производите никакие другие настройки, если не знаете для чего они.''' | |||
Если Вы осуществляете конфигурирование системы через различные веб-интерфейсы (trixbox, elastix, freepbx и т.д.), то гарантировать работу модуля usm_asterisk невозможно, так как логика работы Asterisk после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно. |
Текущая версия от 17:35, 29 марта 2024
Базовые настройки Asterisk, на которые рассчитан модуль usm_asterisk
В данной статье приводится типичная базовая конфигурация контакт-центр, которая позволяет принимать входящие вызовы с линии SIP и передавать их в очередь, к которой подключены пользователи.
Исходные данные для демонстрационной конфигурации
- одна внешняя SIP линия [SIPOPERATOR], со стороны которой поступают входящие телефонные вызовы. Номер телефона 0551234567, пароль qwerty123456, IP-адрес сервера пользователя 11.22.33.44
- одна группа серийного искания (очередь вызовов)
- четыре внутренние SIP линии, на которых работают пользователи контакт-центра - все они входят в одну очередь
sip.conf
Содержимое файла, отвечающего за SIP-линии
; общие настройки [general] language = ru bindport=5060 callcounter = yes limitonpeers = yes dtmf=rfc2833 compensate=yes defaultexpirey=3600 disallow=all allow=alaw registertimeout=3600 ; здесь нужно перечислить все внешние sip-линии в указанном формате register=0551234567:qwerty123456@11.22.33.44/0551234567 ; далее настройки для внешнего пользователя, который предоставляет телефонный номер [SIPOPERATOR] type=friend host=11.22.33.44 port=5060 defaultip=здесь_ip_адрес_на_интерфейсе_в_сторону_пользователя fromdomain=здесь_доменное_имя_софтсвитча_пользователя fromuser=0551234567 username=0551234567 secret=qwerty123456 registertimeout=3600 defaultexpirey=3600 nat=no canreinvite=no disallow=all allow=alaw qualify=yes dtmfmode=inband insecure=port,invite context=from-external-sip ; данный контекст будет использоваться в маршрутизации при вызовах со стороны внешней sip-линии ; здесь общие настройки для всех внутренних sip-линий [CallCenter](!) call-limit=1 ; Ограничение одновременных звонков (пользователи принимают только один звонок) qualify = no dtmfmode=rfc2833 canreinvite=no pickupgroup=1 callgroup=1 host=dynamic type=friend port=5060 qualify=yes deny=0.0.0.0/0.0.0.0 permit=0.0.0.0/0.0.0.0 ; разрешено подключаться отовсюду. Измените, если нужно иначе callcounter=yes faxdetect=no disallow=all allow=alaw allow=gsm context=from-internal-sip ; данный контекст будет использоваться в маршрутизации при вызовах с линий пользователей контакт цетра ; далее описаны 4 внутренние телефонные линии с применением общих настроек [500](CallCenter) username=500 nat=no secret=здесь_пароль callerid=operator 500 <500> [501](CallCenter) username=501 nat=no secret=здесь_пароль callerid=operator 501 <501> [502](CallCenter) username=502 nat=no secret=здесь_пароль callerid=operator 502 <502> [503](CallCenter) username=503 nat=no secret=здесь_пароль callerid=operator 503 <503>
queues.conf
Далее рассматривается группа в конфигурационном файле с настройками групп серийного искания (очередей)
[callcenter-queue] monitor-type = MixMonitor music = file_name ; имя файла без расширения, который будет проигрываться абоненту в режиме ожидания ответа пользователя strategy = ringall ; стратегия серийного искания - звоним сразу всем timeout = 30 retry = 2 joinempty = yes ; вызов может входить в очередь, даже если к ней не подключен ни один пользователь ringinuse = no ; не принимать звонки тем, кто уже разговаривает leavewhenempty = yes announce-frequency = 30 announce-holdtime = no ; далее перечисляются члены группы member => SIP/500 member => SIP/501 member => SIP/502 member => SIP/503
extensions.conf
В следующем файле настраивается маршрутизация. Рассмотрен фрагмент, который направляет входящие вызовы в группу и исходящие через внешнюю SIP-линию
; входящие вызовы - те, которые поступают с внешней sip-линии в сторону контакт-центра [from-external-sip] exten => s,1,Ringing() ; если требуется - направляем в сторону вызывающего сигнал КПВ (если не требуется - удалите строку) exten => s,n,Wait(2) ; ожидаем две секунды, чтобы звонящий услышал первый гудок после набора номера, если ответить сразу без гудка - абонент пугается :) exten => s,n,Answer(300) ; отвечаем на вызов exten => s,n,Playback(hello) ; проигрываем файл приветствия (имя файла без расширения) exten => s,n,Queue(callcenter-queue) ; направляем вызов в очередь "callcenter-queue" exten => s,n,Hangup() ; направляем в сторону вызывающего отбой ; исходящие вызовы - те, которые поступают со стороны пользователей контакт-центра в сторону ТфОП [from-internal-sip] exten => _X.,1,Set(CALLERID(num)=380551234567) ; Изменяем Caller_ID перед отправкой вызова в сеть ТфОП на номер внешней линии exten => _X.,n,Dial(SIP/SIPOPERATOR/${EXTEN},300) ; Направляем вызов в сторону SIPOPERATOR
Не производите никакие другие настройки, если не знаете для чего они.
Если Вы осуществляете конфигурирование системы через различные веб-интерфейсы (trixbox, elastix, freepbx и т.д.), то гарантировать работу модуля usm_asterisk невозможно, так как логика работы Asterisk после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно.