Рекомендации по настройке системы Asterisk: различия между версиями
Uscld2 (обсуждение | вклад) |
Нет описания правки |
||
(не показаны 4 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
[[Recommendations_for_configuring_the_Asterisk_system|en]] | [[Рекомендации_по_настройке_системы_Asterisk|ru]] | |||
'''Базовые настройки Asterisk, на которые рассчитан модуль [[usm_asterisk]]''' | |||
В данной статье приводится типичная базовая конфигурация контакт-центр, которая позволяет принимать входящие вызовы с линии SIP и передавать их в очередь, к которой подключены пользователи. | |||
== Исходные данные для демонстрационной конфигурации == | == Исходные данные для демонстрационной конфигурации == | ||
* одна внешняя SIP линия [SIPOPERATOR], со стороны которой поступают входящие телефонные вызовы. Номер телефона 0551234567, пароль qwerty123456, IP-адрес сервера | * одна внешняя SIP линия [SIPOPERATOR], со стороны которой поступают входящие телефонные вызовы. Номер телефона 0551234567, пароль qwerty123456, IP-адрес сервера пользователя 11.22.33.44 | ||
* одна группа серийного искания (очередь вызовов) | * одна группа серийного искания (очередь вызовов) | ||
* четыре внутренние SIP линии, на которых работают | * четыре внутренние SIP линии, на которых работают пользователи контакт-центра - все они входят в одну очередь | ||
== sip.conf == | == sip.conf == | ||
Строка 30: | Строка 30: | ||
register=0551234567:qwerty123456@11.22.33.44/0551234567 | register=0551234567:qwerty123456@11.22.33.44/0551234567 | ||
; далее настройки для внешнего | ; далее настройки для внешнего пользователя, который предоставляет телефонный номер | ||
[SIPOPERATOR] | [SIPOPERATOR] | ||
type=friend | type=friend | ||
host=11.22.33.44 | host=11.22.33.44 | ||
port=5060 | port=5060 | ||
defaultip= | defaultip=здесь_ip_адрес_на_интерфейсе_в_сторону_пользователя | ||
fromdomain= | fromdomain=здесь_доменное_имя_софтсвитча_пользователя | ||
fromuser=0551234567 | fromuser=0551234567 | ||
username=0551234567 | username=0551234567 | ||
Строка 53: | Строка 53: | ||
; здесь общие настройки для всех внутренних sip-линий | ; здесь общие настройки для всех внутренних sip-линий | ||
[CallCenter](!) | [CallCenter](!) | ||
call-limit=1 ; Ограничение одновременных звонков ( | call-limit=1 ; Ограничение одновременных звонков (пользователи принимают только один звонок) | ||
qualify = no | qualify = no | ||
dtmfmode=rfc2833 | dtmfmode=rfc2833 | ||
Строка 70: | Строка 70: | ||
allow=alaw | allow=alaw | ||
allow=gsm | allow=gsm | ||
context=from-internal-sip ; данный контекст будет использоваться в маршрутизации при вызовах с линий | context=from-internal-sip ; данный контекст будет использоваться в маршрутизации при вызовах с линий пользователей контакт цетра | ||
; далее описаны 4 внутренние телефонные линии с применением общих настроек | ; далее описаны 4 внутренние телефонные линии с применением общих настроек | ||
Строка 103: | Строка 103: | ||
[callcenter-queue] | [callcenter-queue] | ||
monitor-type = MixMonitor | monitor-type = MixMonitor | ||
music = file_name ; имя файла без расширения, который будет проигрываться абоненту в режиме ожидания ответа | music = file_name ; имя файла без расширения, который будет проигрываться абоненту в режиме ожидания ответа пользователя | ||
strategy = ringall ; стратегия серийного искания - звоним сразу всем | strategy = ringall ; стратегия серийного искания - звоним сразу всем | ||
timeout = 30 | timeout = 30 | ||
retry = 2 | retry = 2 | ||
joinempty = yes ; вызов может входить в очередь, даже если к ней не подключен ни один | joinempty = yes ; вызов может входить в очередь, даже если к ней не подключен ни один пользователь | ||
ringinuse = no ; не принимать звонки тем, кто уже разговаривает | ringinuse = no ; не принимать звонки тем, кто уже разговаривает | ||
leavewhenempty = yes | leavewhenempty = yes | ||
Строка 131: | Строка 131: | ||
exten => s,n,Hangup() ; направляем в сторону вызывающего отбой | exten => s,n,Hangup() ; направляем в сторону вызывающего отбой | ||
; исходящие вызовы - те, которые поступают со стороны | ; исходящие вызовы - те, которые поступают со стороны пользователей контакт-центра в сторону ТфОП | ||
[from-internal-sip] | [from-internal-sip] | ||
exten => _X.,1,Set(CALLERID(num)=380551234567) ; Изменяем Caller_ID перед отправкой вызова в сеть ТфОП на номер внешней линии | exten => _X.,1,Set(CALLERID(num)=380551234567) ; Изменяем Caller_ID перед отправкой вызова в сеть ТфОП на номер внешней линии | ||
Строка 138: | Строка 138: | ||
'''Не производите никакие другие настройки, если не знаете для чего они.''' | '''Не производите никакие другие настройки, если не знаете для чего они.''' | ||
Если Вы осуществляете конфигурирование системы через различные веб-интерфейсы (trixbox, elastix, freepbx и т.д.), то гарантировать работу модуля | Если Вы осуществляете конфигурирование системы через различные веб-интерфейсы (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 после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно.