1 | изначальная версия редактировать | |
Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие API c вызовом через макрос, примерно так:
[macro-answer]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${ARG2}&status=ANSWER&context=${CONTEXT}&recfile=${RECFILE}')
[macro-in]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=IN&context=${CONTEXT}&recfile=${RECFILE}')
[macro-out]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=OUT&context=${CONTEXT}&recfile=${RECFILE}')
[macro-up]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${DIALEDPEERNUMBER}&status=UP&context=${CONTEXT}&recfile=${RECFILE}')
[macro-down]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=DOWN&context=${CONTEXT}&recfile=${RECFILE}')
Далее макрос вызывал из нужных места примерно так:
exten => s,1,Macro(up,${CALLERID(num)})
exten => s,n,Dial(SIP/${EXTEN}@${SIPDOMAIN}, ,ToM(answer,${CALLERID(num)},${EXTEN}))
exten => h,1,Macro(down,${DIALEDPEERNUMBER})
Где M(answer,${CALLERID(num)},${EXTEN}) - наступает только в случае соединения. Ну и с переменными поиграться, и все будет супер.
Главное сделать привязку рабочих мест к телефонам IP, тогда все будет на ура.
В общем идея примерно такая ;-) У меня уже неделю такой алгоритм работает. Веб интерфейс сам определяет пол логину и номеру телефону кто ответил.
2 | No.2 Revision редактировать |
Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие API c вызовом через макрос, примерно так:
[macro-answer]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${ARG2}&status=ANSWER&context=${CONTEXT}&recfile=${RECFILE}')
[macro-in]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=IN&context=${CONTEXT}&recfile=${RECFILE}')
[macro-out]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=OUT&context=${CONTEXT}&recfile=${RECFILE}')
[macro-up]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${DIALEDPEERNUMBER}&status=UP&context=${CONTEXT}&recfile=${RECFILE}')
[macro-down]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=DOWN&context=${CONTEXT}&recfile=${RECFILE}')
Далее макрос вызывал из нужных места примерно так:
exten => s,1,Macro(up,${CALLERID(num)})
exten => s,n,Dial(SIP/${EXTEN}@${SIPDOMAIN}, ,ToM(answer,${CALLERID(num)},${EXTEN}))
exten => h,1,Macro(down,${DIALEDPEERNUMBER})
Где M(answer,${CALLERID(num)},${EXTEN}) - наступает только в случае соединения. Ну и с переменными поиграться, и все будет супер.
Главное сделать привязку рабочих мест к телефонам + IP, тогда все будет на ура.
В общем идея примерно такая ;-) У меня уже неделю такой алгоритм работает. Веб интерфейс сам определяет пол логину и номеру телефону кто ответил.
3 | No.3 Revision редактировать |
Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие API c вызовом через макрос, примерно так:
[macro-answer]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${ARG2}&status=ANSWER&context=${CONTEXT}&recfile=${RECFILE}')
[macro-in]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=IN&context=${CONTEXT}&recfile=${RECFILE}')
[macro-out]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=OUT&context=${CONTEXT}&recfile=${RECFILE}')
[macro-up]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${ARG1}&to=${DIALEDPEERNUMBER}&status=UP&context=${CONTEXT}&recfile=${RECFILE}')
[macro-down]
exten => s,1,System(wget -O /dev/null 'http://192.168.0.5/_asterisk.php?channel=${IDCALL2}&uniqid=${UNIQUEID}&from=${CALLERID(num)}&to=${DIALEDPEERNUMBER}&status=DOWN&context=${CONTEXT}&recfile=${RECFILE}')
Далее макрос вызывал из нужных места примерно так:
exten => s,1,Macro(up,${CALLERID(num)})
exten => s,n,Dial(SIP/${EXTEN}@${SIPDOMAIN}, ,ToM(answer,${CALLERID(num)},${EXTEN}))
exten => h,1,Macro(down,${DIALEDPEERNUMBER})
Где M(answer,${CALLERID(num)},${EXTEN}) - наступает только в случае соединения. Ну и с переменными поиграться, и все будет супер.
Главное сделать привязку рабочих мест к телефонам + IP, тогда все будет на ура.
В общем идея примерно такая ;-) У меня уже неделю такой алгоритм работает. Веб интерфейс сам определяет пол по логину и номеру телефону кто ответил. ответил, и автоматом выводит на экран окно тикета
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.