Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2011-04-11 23:32:54 +0400

staaas2002 Gravatar staaas2002

Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие 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, тогда все будет на ура.

В общем идея примерно такая ;-) У меня уже неделю такой алгоритм работает. Веб интерфейс сам определяет пол логину и номеру телефону кто ответил.

Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие 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, тогда все будет на ура.

В общем идея примерно такая ;-) У меня уже неделю такой алгоритм работает. Веб интерфейс сам определяет пол логину и номеру телефону кто ответил.

Как раз сейчас этим сейчас занимаюсь, с делал что-то на подобие 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.