Configure Asterisk
Настройка PaperFree + Asterisk
Система PaperFree может работать с системой Asterisk, отображая уведомления о новых звонках и прослушивая записи разговоров. Также все звонки автоматически привязываются к существующим клиентам (по номеру телефона).
Для настройки вашего сервера Asterisk необходимо выполнить следующие операции:
Чтобы система PaperFree получала уведомления от Asterisk, что поступил новый звонок, отвечен или нет, а также получать информацию о исходящих вызовах, нужно делать вызов URL и передавать параметры (GET или POST).
Когда поступил новый звонок от клиента
http://paperfree.com/User/StartCall/{UserName}
параметры:
Параметр | Описание | параметр в Asterisk |
---|---|---|
xid | ID звонка | ${UNIQUEID} |
callerid | номер телефона клиента | ${CALLERID(num)} |
ourphone | собственный номер телефона, на который произведен звонок | ${EXTEN} |
Когда совершается исходящий звонок
Параметр | Описание | параметр в Asterisk |
---|---|---|
xid | ID звонка | ${UNIQUEID} |
callerid | номер телефона клиента | ${CDR(src)} |
ourphone | собственный номер телефона, на который произведен звонок | ${EXTEN} |
type | входящий или исходящий вызов (строка). Должен всегда быть 'out' для исходящих звонков. | out |
oper | логин в Asterisk оператора, который совершает звонок (или подымает трубку) | ${CALLERID(num)} |
Когда оператор или клиент поднял трубку
Параметр | Описание | параметр в Asterisk |
---|---|---|
xid | ID звонка | ${UNIQUEID} |
callerid | номер телефона клиента | ${CALLERID(num)} |
ourphone | номер телефона, на который произведен звонок | ${EXTEN} |
type | входящий или исходящий вызов | out - исходящий in - входящий |
oper | (необязательно) логин в Asterisk оператора, который совершает звонок (или подымает трубку) | ${CDR(src)} |
{UserName} - это название вашей компании, указанной в латиннице при регистрации.
Когда звонок закончен (повесили трубку или не дозвонились)
Параметр | Описание | параметр в Asterisk |
---|---|---|
xid | ID звонка | ${UNIQUEID} |
callerid | номер телефона клиента | ${CALLERID(num)} |
ourphone | номер телефона, на который произведен звонок | ${EXTEN} |
type | входящий или исходящий вызов | out - исходящий in - входящий |
{UserName} - это название вашей компании, указанной в латиннице при регистрации.
Дополнительные рекомендации по настройке (примеры)
Ниже приведены примеры по настройке Asterisk.
Для примера, название компании указано как - TestCompany. Вам нужно указать свою собственную.
Номер компании используется как 88001112222 или ${EXTEN} или (если в макросе), то ${MACRO_EXTEN}. Это все одно и тоже.
Когда поступил новый звонок от клиента
Необходимо вызвать http://paperfree.com/User/StartCall/TestCompany. Для этого подойдет такая стройка в файле extensions.conf
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d callerid=${CALLERID(num)} -d ourphone=${EXTEN} http://paperfree.com/User/CallAnswer/TestCompany)
Когда совершается исходящий звонок
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d oper=${CALLERID(num)} -d type=out callerid= ${CDR(src)} -d ourphone=${EXTEN} http://paperfree.com/User/CallAnswer/TestCompany)
Когда оператор поднял трубку (входящий вызов)
Может потребоваться создать отдельный макрос, который нужно указать Asterisk, чтобы он его вызывал при поднятии трубки.
Макрос можно поместить в любом месте в файле extensions.conf:
[macro-callanswer]
;${ARG1} - ${CALLERID(num)}
;${ARG2} - ${UNIQUEID}
exten =>s,1,System(curl -d xid=${ARG2} -d oper=${CDR(src)} -d callerid=${ARG1} -d ourphone=${MACRO_EXTEN} http://paperfree.com/User/CallAnswer/TestCompany)
- В обычном режиме можно вызвать так:
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d callerid=${CALLERID(num)} -d ourphone=88001112222 -d oper=${CDR(src)} http://paperfree.com/User/StartCall/TestCompany) - Если используется очередь, тогда можно указать такую настройку (важное указано жирным)
exten =>_X.,n,Queue(queueName,tT,,,40,,"callanswer,${CALLERID(num)},${UNIQUEID}")
- Если используется команда Dial (важное указано жирным):
exten=>_X.,n,Dial(SIP/{Ваш_номер},,TM(callanswer^${CALLERID(num)},${UNIQUEID}))
Когда клиент поднял трубку (исходящий вызов)
Может потребоваться создать отдельный макрос, который нужно указать Asterisk, чтобы он его вызывал при поднятии трубки.
Макрос можно поместить в любом месте в файле extensions.conf:
[macro-callanswerout]
;${ARG1} - ${CALLERID(num)
;${ARG2} - ${UNIQUEID}
;${ARG3} - operator
exten =>s,1,System(curl -d xid=${ARG2} -d oper=${ARG3} -d callerid=${ARG1} -d ourphone=88001112222 http://paperfree.com/User/CallAnswer/TestCompany)
- В обычном режиме можно вызвать так:
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d callerid=${CDR(src)} -d ourphone=88001112222 -d oper=${CALLERID(num)} -d type=out http://paperfree.com/User/StartCall/TestCompany ) - Если используется команда Dial (важное указано жирным):
exten=>_X.,n,Dial(SIP/{Ваш_номер},,TM(callanswerout^${CDR(src)},${UNIQUEID},${CALLERID(num)}))
Когда звонок закончен (повесили трубку или не дозвонились)
Уведомить PaperFree также можно несколькими способами:
- В обычном режиме можно вызвать использовать следующее (для входящего звонка). Эту конфигурацию можно указать в самом низу вашего плана, прямо перед командой exten=>_X.,n,Hangup():
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d callerid=${CALLERID(num)} -d ourphone=88001112222 -d oper=${CDR(src)} http://paperfree.com/User/EndCall/TestCompany) - В обычном режиме можно использовать (для исходящего звонка). Эту конфигурацию можно указать в самом низу вашего плана, прямо перед командой exten=>_X.,n,Hangup():
exten=>_X.,n,System(curl -d xid=${UNIQUEID} -d callerid=${CDR(src)} -d ourphone=88001112222 -d oper=${CALLERID(num)} -d type=out http://paperfree.com/User/EndCall/TestCompany)
- Создать исполняемый файл callend.sh с таким содержимым
#!/bin/sh
# name of this script: wav2mp3.sh
# wav to mp3
lame -b 16 --silent "/var/spool/asterisk/monitor/$1.wav" "/var/spool/asterisk/monitor/MP3/$1.mp3"
rm -f "/var/spool/asterisk/monitor/$1.wav"
curl -d xid=$1 -d callerid=$2 -d ourphone=$3 http://login.paperfree.ru/User/EndCall/TestCompany - Вызывать команду, указанную ниже, когда звонок окончен
(для входящего звонка):
exten =>_s,n,Set(monopt=nice -n 19 /home/asterisk/callend.sh ${UNIQUEID} ${CALLERID(num)} 88001112222)
exten =>_s,n,MixMonitor(/var/spool/asterisk/monitor/${UNIQUEID}.wav,b,${monopt})
(для исходящего звонка):
exten =>_s,n,Set(monopt=nice -n 19 /home/asterisk/callend.sh ${UNIQUEID} ${CDR(src)} 88001112222)
exten =>_s,n,MixMonitor(/var/spool/asterisk/monitor/${UNIQUEID}.wav,b,${monopt})
Sponsored from PaperFree Magazine:
Real Estate Investment Principles by Billionaire Bruce Flatt
Copyright © 2022 PaperFree.com Inc. All rights reserved and data products are owned and distributed by PaperFree.com Inc. and its subsidiaries. | About | Feedback | All Contacts | ID: 979-446-8934 S/N 78675-0 | SID 487999-3 | Version 5.2 Powered by PaperFree.com | Legal