Рекомендации по настройке системы Asterisk: различия между версиями

Материал из WiKi - UserSide
Нет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии 3 участников)
Строка 1: Строка 1:
[[Recommendations_for_configuring_the_Asterisk_system|en]] | [[Рекомендации_по_настройке_системы_Asterisk|ru]]
'''Базовые настройки Asterisk, на которые рассчитан модуль [[usm_asterisk]]'''
'''Базовые настройки Asterisk, на которые рассчитан модуль [[usm_asterisk]]'''


В данной статье приводится типичная базовая конфигурация контакт-центр, которая позволяет принимать входящие вызовы с линии SIP и передавать их в очередь, к которой подключены операторы.
В данной статье приводится типичная базовая конфигурация контакт-центр, которая позволяет принимать входящие вызовы с линии SIP и передавать их в очередь, к которой подключены пользователи.
 
Установку телефонной системы выполняйте по инструкции: http://blog.denisbondar.com/post/asterisk11-chan_dongle_e1550-ubuntu14


== Исходные данные для демонстрационной конфигурации ==
== Исходные данные для демонстрационной конфигурации ==


* одна внешняя SIP линия [SIPOPERATOR], со стороны которой поступают входящие телефонные вызовы. Номер телефона 0551234567, пароль qwerty123456, IP-адрес сервера оператора 11.22.33.44
* одна внешняя 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=здесь_ip_адрес_на_интерфейсе_в_сторону_оператора
  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 и т.д.), то гарантировать работу модуля us_asterisk невозможно, так как логика работы Asterisk после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно.
Если Вы осуществляете конфигурирование системы через различные веб-интерфейсы (trixbox, elastix, freepbx и т.д.), то гарантировать работу модуля usm_asterisk невозможно, так как логика работы Asterisk после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно.

Текущая версия от 17:35, 29 марта 2024

en | ru

Базовые настройки 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 после подобной конфигурации часто бывает непредсказуемой и отследить прохождение вызова стандартным модулем невозможно.